Squid控制MSN Messenger在公司的使用
在一個(gè)使用ADSL或?qū)>€通過代理訪問Internet的網(wǎng)絡(luò)中,為了防止濫用網(wǎng)絡(luò)資源,我們會(huì)在代理服務(wù)器上限制某些類型的數(shù)據(jù)訪問,如icq, oicq, msn messenger, yahoo messenger等. 而Linux中的squid可以很好地讓管理員控制這些應(yīng)用的使用, 可以禁止所有人通過該服務(wù)器使用該服務(wù),也可以開放該服務(wù)給部分需要的人使用.但squid的相關(guān)文檔中都沒有此類的信息. 這里以MSN Messenger為例,講述如何只開放該服務(wù)給部分人(IP)使用.
軟件:
squid 2.4.statble4(關(guān)于squid的安裝請參考其使用說明)
Squid的默認(rèn)配置是允許MSN Messenger通過使用該代理訪問Internet.如果我們不做相應(yīng)的改動(dòng),那么你就無法控制非授權(quán)用戶使用MSN Messenger.
首先,我們在access.log文件中我們可以看到在登陸MSN Messenger時(shí),返回的數(shù)據(jù)類型是application/x-msn-messenger。
1023959017.550 685 192.168.16.16 TCP_MISS/200 319 POST http://gateway.messenger.hotmail.com/gateway/gateway.dll? - DIRECT/64.4.13.170 application/x-msn-messenger
1023959018.741 1190 192.168.16.16 TCP_MISS/200 294 POST http://64.4.13.172/gateway/gateway.dll? - DIRECT/64.4.13.172 application/x-msn-messenger
那么,如果我們將application/x-msn- messenger拒絕,就可以將MSN Messenger阻擋在外了。 Squid在2.4版以后增加了對mime類型數(shù)據(jù)的支持,因此如果你的squid還是2.4以前的版本,那就只有升級你的squid了。
1,首先,我們來定義一個(gè)msn messenger的req_mime_type:
acl msnmessenger req_mime_type ^application/x-msn-messenger$
注意在application/x-msn-messenger的前后各有一個(gè)符號“^”“$”
2,然后我們在允許其它類別的數(shù)據(jù)通過前拒絕數(shù)據(jù)類型是msn messenge的請求?,F(xiàn)在網(wǎng)內(nèi)所有機(jī)器都不可以通過squid代理來使用msn messenger了。
http_access deny msnmessenger
3,但現(xiàn)在我們還不能允許指定的IP通過此代理使用MSN Messenger. 假設(shè)我們允許IP192.168.16.16可以該代理使用msn messenger,先定義所有可以使用msn messenger的IP,
acl msn_allow src 192.168.16.16/32
4,然后在http_access deny msnmessenger前加一句:
http_access allow msn_allow msnmessenger
注意: 這一句分為四部分:
1 http_access
2 allow
3 msn_allow
4 msnmessenger
http_access allow 是http_access的固定語法,而后面的msn_allow是在第三步中定義過的,msnmessenger是我們在第一步中定義的。如果想增加一些ip使用msn messenger,你可以在第三步的后面直接加上符合規(guī)定的ip地址即可。如192.168.10.13/32
如我的配置文件的部分內(nèi)容如下:
acl msnmessenger req_mime_type ^application/x-msn-messenger$
acl msn_allow src 192.168.16.16/32
http_access deny manager !localhost
http_access deny !safe_ports
http_access deny CONNECT !SSL_ports
http_access deny Dangerous_ports
http_access deny Undesirable-Site
http_access deny Undesirable-Site1
http_access allow msn_allow msnmessenger
http_access deny msnmessenger