qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          用CentOS 6快速配置一臺企業級Web代理服務器

            Web代理服務器讓企業員工可以快速安全地瀏覽網絡。Web代理服務器可以緩存內存,讓用戶之后對相同網頁的請求由本地緩存來處理,這比多次返 回網站來得更快速。代理服務器還能掃描入站網絡流量,查找有無惡意內容,并且保護最終用戶遠離病毒;它們還可以控制哪些用戶訪問什么樣的網絡內容。為了充 分利用所有這些功能,本文逐步介紹安裝和配置一臺簡單Web代理服務器(帶病毒過濾功能)的整個過程。

            一個完美的安全Web代理服務器包括下列組件:

            ● Squid——主要的軟件和代理服務。

            ● ClamAV——檢查入站內容的反病毒軟件。

            ● C-icap——采用互聯網內容適配協議(ICAP)的服務,Squid需要該服務與其他服務進行聯系。

            ● SquidClamav——基于ClamAV的反病毒服務,Squid通過ICAP服務連接到該服務。

            安裝配置

            我們將在基本的CentOS 6平臺上運行代理服務器,該平臺上沒有預先安裝任何軟件包組。如果是最基本的安裝,你可以使用來自官方鏡像頁面的最小鏡像。一旦我們安裝了操作系統,就可以安裝代理服務器的各組件。

            鏡像下載:http://www.centos.org/modules/tinycontent/index.php?id=30

            Squid

            Squid可以從官方的CentOS 6軟件庫獲得。只要執行yum install squid,即可安裝它。確保Squid隨系統自動開啟和關閉,為此借助命令chkconfig squid on,把它添加到默認的系統啟動和關閉級別。

             默認情況下,Squid的主配置文件/etc/squid/squid.conf允許通過常見端口的來自本地網站的請求。去掉cache_dir ufs /var/spool/squid 100 16 256這一行的注釋,那樣代理服務器將文件緩存在磁盤上。這個命令的參數指示代理服務器使用默認的ufs存儲格式。緩存目錄是/var/spool /squid,它應該可以存儲最多100MB的內容,16個一級子目錄和256個次級子目錄。考慮將緩存大小從100MB增加到1000MB,因為 100MB太低了,滿足不了如今的瀏覽需求。

            在同一個文件中,在默認配置信息后面,添加下列幾個命令:

          icap_enable on
          icap_send_client_ip on
          icap_send_client_username on
          icap_client_username_encode off
          icap_client_username_header X-Authenticated-User
          icap_preview_enable on
          icap_preview_size 2048
          icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
          adaptation_access service_req allow all
          icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
          adaptation_access service_resp allow all

            這個基本配置指示Squid使用在本地主機上運行的SquidClamav ICAP服務,本地主機使用TCP端口1344。對非緩存內容而言,需要使用這項服務。你可以從官方的Squid說明文檔,找到關于所有配置命令的更多信息。

            ClamAV

            ClamAV并不存在于默認的CentOS 6軟件庫中,所以你要么從源代碼安裝,要么使用第三方軟件庫。我建議使用EPEL軟件庫,因為它讓用戶易于安裝和維護。

             要將EPEL軟件庫安裝到CentOS 6上,請運行命令rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release- 6-5.noarch.rpm。之后,要安裝ClamAV,請執行yum install clamav clamav-db clamd。由于這是從EPEL軟件庫首次安裝,你會看到關于其密鑰的提醒;確認密鑰正確后才能繼續下一步。

            執行chkconfig clamd on,確保ClamAV后臺守護進程clamd自動啟動和終止。

             你可以設置最基本的ClamAV配置,只需編輯文件/etc/clamd.conf。你得至少移除顯示Example的那一行,那樣該服務就能啟動。你 可能還考慮更改一些命令的默認值。比如說,可以定義使用ScanPE、ScanELF和ScanPDF來掃描哪些文件擴展名。為了提升性能,可以將待掃描 文件的默認最大值(MaxFileSize)由25MB改成其他值,或者更改每個文件的多少數據有待掃描(MaxScanSize)——100MB是默認 值。值越大,所需的資源就越多,代理服務器的速度也就越慢。

           ClamAV病毒特征數據庫由一個名為freshclam的獨立程序來更新。其配置文件是/etc/freshclam.conf。為了使用它,你同樣得至少移除文件開頭部分顯示Example的那一行。大多數設置不用管,保持默認值就可以了。

            如果你執行沒有參數的freshclam,病毒特征更新一次,程序退出。你可以將freshclam配置成一項計劃任務(cron job),定期檢查ClamAV更新版,或者可以在后臺守護模式下啟用它,只需運行freshclam -d -c 2,其中-d指明了后臺守護模式,-c 2指明了每天更新幾次——這個例子中每天兩次。把這個命令添加到/etc/rc.local文件中,就可以確保下一次服務器重啟時,它會啟用。

            在/etc/freshclam.conf中可能需要更改的一項值得關注的設置是SafeBrowsing,它在默認情況下被設置成關閉。這個 設置指定了你是不是想使用谷歌的Safe Browsing(安全瀏覽)數據庫,該數據庫里面含有一份更新后的列表,收錄了已知的惡意網站。你應該啟用它,對性能只有一點影響,除非貴企業的最終用 戶在使用已經采用該數據庫的瀏覽器,比如Mozilla Firefox和谷歌Chrome。你只要指定SafeBrowsing yes,就可以開啟它。

            C-icap

            C-icap并不存在于默認的軟件庫或EPEL中,所以你得從其網站的源代碼安裝,對其進行解壓縮,然后完成標準的配置、編譯和安裝這個過程。

            由于C-icap是從源代碼自定義安裝,并不得到chkconfig的支持。因而,為了讓C-icap服務器在系統啟動時自動開啟,就用新的一行,將其二進制可執行代碼/usr/local/bin/c-icap添加到底部的/etc/rc.local。

            你可以找到默認情況下在/usr/local/etc/c-icap.conf的C-icap配置文件。大多數默認選項不用管它。指定 ServerLog /var/log/icapserver.log,將服務器的活動記錄到文件/var/log/icapserver.log中;我們以后要用到服務器的 日志,確保一切都在正常運行。

            你在檢查配置時,要注意ModulesDir和ServicesDir這兩個命令。默認情況下,兩者都指向/usr/local/lib/c_icap。這個目錄是你安裝ICAP服務和模塊(如SquidClamav)的地方。

            SquidClamav

            你得從源代碼安裝SquidClamav,原因與C-icap一樣。一旦你從其SourceForge網頁下載它,對其進行解壓縮,然后完成標準的配置、編譯和安裝這個過程。

            為了確保SquidClamav正確安裝,要檢查目錄/usr/local/lib/c_icap。你應該會看到兩個文件:squidclamav.la(libtool 庫文件)和squidclamav.so(模塊本身)。

            SquidClamav并不作為一項獨立的服務來運行,所以沒必要把它添加到默認的運行級別來實現自動啟動。相反,它是通過C-icap服務器來訪問的。

            SquidClamav的配置文件位于/etc/squidclamav.conf。這里,默認配置的大部分選項直接可以拿來用。要更改的其中 一個選項是redirect。最終用戶試圖下載病毒時,他們會被重定向至你在這里指定的URL。創建詳細描述的一個頁面,否則你這個管理員會接到大量投 訴,反映下載的內容莫名其妙地無法運行。

            為了創建重定向頁面,可以使用腳本cgi-bin/clwarn.cgi,你可以在SqidClamav的源代碼歸檔文件中找到它。只要將它上傳至網站,指定redirect example.org/cgi-bin/clwarn.cgi即可。

            測試代理服務器

            至此,你的代理服務器應該已安裝完畢、合理配置。為了確保所有服務自動開啟,重啟服務器,然后開始測試。

            你開始測試時,確保可以通過TCP端口3128這個默認代理端口,連接到服務器的IP地址。你必須在默認的CentOS 6防火墻中允許連接到這個端口,除非按基本CentOS 6安裝中建議的那樣禁用了防火墻。

            一旦你確保了可以連接到這個端口,對瀏覽器進行同樣詳細的配置:至于HTTP代理地址,就使用服務器的IP地址;至于端口,使用端口3128。 然后開始瀏覽網絡,看看代理服務器與未使用代理的瀏覽相比結果怎樣。不妨模擬一下許多用戶通常瀏覽的場景。你可能會發現,隨著更多的用戶開始使用代理服務 器,服務器的資源必須隨之增加。

            在服務器端,監控下列日志:

            ● Squid的日志——默認情況下,它在文件/var/log/squid/access.log中。你會在那里看到哪些用戶的IP地址在提出什么樣的請求。

            ● C-icap服務器的日志——與/usr/local/etc/c-icap.conf中通過ServerLog之前配置的那樣,它應該在/var/log/icapserver.log中。

            對你的代理服務器來說最重要的測試就是,試著下載病毒,看看結果如何。網上有眾多資源介紹如何創建含有已知病毒特征的測試文件。一旦創建了這樣 一個文件,把它上傳至某個地方,試著使用新建的代理服務器,用瀏覽器來下載它。如果一切運行正常,在C-icap服務器的日志中應該會看到這樣的條目:

          Wed Feb 22 01:03:57 2012, general, DEBUG squidclamav_end_of_data_handler: received from Clamd: stream: Eicar-Test-Signature FOUND
          Wed Feb 22 01:03:57 2012, general, DEBUG squidclamav_end_of_data_handler: Virus redirection: http://example.org/cgi-bin/clwarn.cgi?url=http://the_url_of_your_test_virus_file: Eicar-Test-Signature FOUND.

            進一步的改進

            如果到目前為止你已經做好了本文介紹的各個步驟,應該有一個帶病毒防護功能的基本代理服務器了。你可以在此基礎上繼續改進、添加更多的功能。下面是針對你添加額外組件來加強用戶安全的幾個建議:

            ● 使用安全DNS。這種DNS不僅可以阻止擴散惡意軟件的域耗用資源,還能阻止成人網站,如果進行了相應配置的話。一項廣受歡迎的安全DNS服務是諾頓DNS。

            ● 使用URL過濾(重定向器)。URL過濾器可與分門類別的域列表協同運行,可以根據用戶擁有的許可權限,允許或禁止訪問網站。這類過濾器經常用于阻止員工 訪問與工作無關的網站。可與Squid協同運行的一種廣受歡迎的過濾器是SquidGuard。它是免費開源的,可以與隨處可見的黑名單結合使用。

            要是由于某個原因,這款開源代理解決方案無法完全滿足你的需要,可以研究一下主要的幾款商用產品,比如SmoothWall,以便最好地滿足貴企業的需要。


          posted on 2012-04-10 09:36 順其自然EVO 閱讀(332) 評論(0)  編輯  收藏 所屬分類: linux

          <2012年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 华蓥市| 凉城县| 东城区| 鄂伦春自治旗| 霍城县| 昭苏县| 乌兰察布市| 南召县| 越西县| 五家渠市| 巨野县| 芜湖市| 阿拉善右旗| 商都县| 庆元县| 林西县| 内丘县| 雷山县| 永寿县| 揭西县| 马山县| 宁化县| 哈密市| 湘阴县| 辽宁省| 佛冈县| 陵水| 广水市| 长治县| 封开县| 阿鲁科尔沁旗| 四会市| 平凉市| 灌云县| 城口县| 阿图什市| 南安市| 鸡西市| 平果县| 黄石市| 虞城县|