Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 代理服務器 >> squid安全策略解析

squid安全策略解析

日期:2017/1/21 9:49:43      編輯:代理服務器

代理服務器的功能是代理網絡用戶取得網絡信息,它是網絡信息的中轉站。隨著代理服務器的廣泛使用,隨之而來的是一系列的安全問題。由於沒有對代理服務器的訪問控制策略做全面細致地配置,導致用戶可以隨意地通過代理服務器訪問許多色情、反動的非法站點,而這些行為往往又很難追蹤,給管理工作帶來極大的不便。以下為您介紹Linux下常用的Squid代理服務器的安全策略,期望拋磚引玉,對您的工作有所幫助。

控制對客戶端訪問

使用訪問控制特性,可以控制在訪問時根據特定的時間間隔進行緩存、訪問特定站點或一組站點等。Squid訪問控制有兩個要素:ACL元素和訪問列表。通過使用這些方法,系統管理員可以嚴格、清晰地定義代理服務器的訪問控制策略。下面介紹一些例子:

◆ 允許內部一個網段的私有IP地址進行轉發

acl me src 172.16.0.0/255.255.0.0

http_access allow all

上面的規則允許172.16.0.0這個網段的IP都被轉發,但注意要在配置文件的最後加上“http_access deny all”,表示以上各規則都不匹配時拒絕所有的數據包?/p>

◆ 允許列表中的機器訪問互聯網

acl clients src 10.0.0.124/24 192.168.10.15/24

acl guests src “/etc/squid/guest”

acl all src 0.0.0.0/0.0.0.0

http_access allow clients

http_access allow guests

http_access deny all

如果允許網段10.0.0.124/24以及192.168.10.15/24內的所有客戶機訪問代理服務器,並且允許在文件/etc/squid/guest列出的客戶機訪問代理服務器,除此之外的客戶機將拒絕訪問本地代理服務器。其中,文件“/etc/squid/guest”中的內容為:

172.168.10.3/24

210.113.24.8/16

10.0.1.24/25

◆ 限制訪問時段

acl allclient src 0.0.0.0/0.0.0.0

acl administrator 192.168.10.0/24

acl common_time time MTWH 8:30-20:30

acl manage_time time F 13:00-18:00

上面的規則允許所有的用戶在規定的時間內(周一至周四的8:30到20:30)訪問代理服務器,只允許特定的用戶(系統管理員,其網段為:192.168.10.0/24)在周五下午訪問代理服務器,其他的在周五下午一律拒絕訪問代理服務器。

◆ 站點屏蔽

Squid可以屏蔽某些特定站點或含有某些特定字詞的站點。用下面的規則實現:

acl sexip src "/usr/local/squid/etc/sexip"

acl sexdn dstdomain "/usr/local/squid/etc/sexdn"

acl sexurl url_regex "/usr/local/squid/etc/sexurl"

acl sextag urlpath_regex "/usr/local/squid/etc/sextag"

http_access deny sexdn

http_access deny sexip

http_access deny sexurl

http_access deny sextag

上述代碼中共有兩部分,它們分別表示:sexip記錄不法IP地址133.3.103.6;sexdn記錄不法域sex.abc.com;exurl記錄不合法網址;sextag記錄不合法字眼—情色。在實際應用中,無須把需要屏蔽的所有站點或字詞都列在上面,可以先保存在一個文件中。ACL將從該文件中讀出所需信息用以屏蔽被禁止的站點。

◆ CONNECT的設置

目前存在有些用戶通過二級代理軟件訪問一些不健康的站點,可以在Squid中通過CONNECT項來拒絕。首先設置安全端口:

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280    # http-mgmt

acl Safe_ports port 488    # gss-http

acl Safe_ports port 591    # filemaker

acl Safe_ports port 777    # multiling http

acl CONNECT method CONNECT

接著對通過CONNECT的非安全端口予以拒絕,使用如下命令:

http_access deny CONNECT !SSL_ports

最後對Squid進行重新編輯:

#/squid/bin/squid -k reconfigure

通過“tail/squid/logs/access.log -f |grep CONNECT”命令將看到使用CONNECT上網的非安全端口計算機都被拒絕。

管理代理服務器端口

沒人願意把自己的服務器作為義務代理服務器;同時,代理服務器很容易被用作對別人進行攻擊的跳板。所以,代理服務器軟件Squid也不可以隨便提供服務,只需要在對應的squid.conf中加上“http_port 192.168.0.254:3128”,就能實現這一目標。這樣由其它接口進入的用戶就沒辦法使用代理服務了。

關注Squid日志

Linux網絡管理員應當盡量記錄所有日志,這些日志會記錄所有異常訪問的線索。最簡單的方式便是通過浏覽器來觀察。squid本身提供一個cgi程序,文件名為cachemgr.cgi,squid安裝完後將它復制到Apache服務器下的cgi-bin這個目錄下即可使用。

mv /usr/lib/squid/cachemgr.cgi /home/httpd/cgi-bin

通過apache進行監控squid,修改配置文件/etc/http/conf/http.conf,添加以下內容:

<Location /cgi-bin/cachemgr.cgi>

AuthType Basic

AuthNamw "Squid admin"

AuthUserFile /usr/local/squid/etc/squid.pwd

require valid-user

</Location>生成口令文件:

cd /usr/local/squid/etc

htpasswd -c squid.pwd squidadmin

chown apache:apche squid.pwd

重啟squid與http,要察看Cache Manager提供的信息時,請在浏覽器的地址列中鍵入“http://服務器的名稱”或“IP地址/cgi-bin/cachemgr.cgi”。首先看到用戶認證界面,經過認證後進入登錄界面,輸入代理服務器地址和端口號,點激“continue”按紐進入工作界面見圖1。

為Squid代理服務器串列HAVP

HAVP是一個開放源代碼的Linux病毒過濾代理服務器,使用C++語言編寫。HAVP通常會和Squid串列使用,它使用ClamAV anti-virus病毒庫,可以增強Squid防范病毒能力。

HAVP配置步驟:

1.首先解壓壓縮包

#gunzip havp-0.70.tar.gz

#cd /havp-0.70

2.修改配置文件havp/default.h

#define SCANTEMPFILE "/tmp/virus/havp-0.70 /定義掃描臨時目錄/

#define MAXSCANTEMPFILELENGTH 200 /臨時文件目錄長度/

#define ACCESSLOG "/var/log/havp/access.txt" /訪問日志文件/

#define ERRORLOG "/var/log/havp/error.txt"  /錯誤日志文件/

#define KEEPBACKBUFFER 50005 /回送緩沖區大小/

#define MAXRECV 50000 /返回緩沖區大小/

#define USER nobody /HAVP進程用戶/

……

3.修改ClamAV文件的clamav-config.h 文件,將選項SCANBUFF設置比”MAXRECV”小一些

4.編譯文件

#./configure;make;make install

5.啟動HAVP

#/usr/local/bin/havp

通過網站:http://www.eicar.org/anti_virus_test_file.htm查看掃描結果是否正常。但HAVP目前只能針對HTTP協議的病毒進行檢測和過濾,但是對於HTTPS、FTP其它協議不能實現。

Copyright © Windows教程網 All Rights Reserved