這一兩天公司保守派的大頭們又在機哩叭啦的說要封鎖誰誰誰的MSN權限……
三不五時聽到這些個要求就容易讓我心中產生一把無名火,八兆年前就跟他們說過了!
好歹我們公司現在希哩呼嚕加起來在對岸也有四個點,人數也早就破百了
大部分的通訊都藉由MSN在維繫,要封鎖不是不行,好歹要給份使用權限名單吧!
每次都只會在那邊喊全鎖全鎖。。。。。。。。。。。。。。。。。。。。。
真的是上樑不正下樑歪!底下的人自己也不知好歹,私底下某些人工作態度極爛!這點從http、MSN、MAIL、NTOP的紀錄可以看的一清二楚,只是我沒明著說而已!
還敢三天兩頭抱怨公司這裡不好那裏不好的,也因為這點啦,所以今天就式著封鎖部份人員的即時通訊軟體,
切入正題吧!以下是我今天實作後的筆記,雖然還有一點點小瑕疵。。。。。。
OS:CentOS 4.4
Software:squid-2.5.STABLE14-1.4E、iptables-1.2.11-3.1.RHEL4
不使用l7-filter
說明:在NAT上使用Transparent Proxy搭配Iptables即可封鎖絕大部份的即時通軟體
step1:先確定你防火牆的預設規則由內到外是DROP的
step2:在防火牆上將LAN80、8080、3128等port轉由WAN的3128出去(Transparent Proxy)
step3:編輯/etc/squid/squid.conf設定檔新增如下
acl msn dstdom_regex -i .*.msnger.com.* .*messenger..* .*iloveim.com .*webhancer.* .*hotbar.com .*qq.com .*tencent.com .*taobao.com
acl msn_mime req_mime_type application/x-msn-messenger
acl allow_lan_ip src “/etc/squid/allow_lan_ip”
step4:在/etc/squid/新增一檔案allow_lan_ip並將允許使用MSN的ip建立在其中,格式如下
192.168.1.50/255.255.255.255? or? 192.168.1.0/255.255.255.0
step5:接著再在/etc/squid/squid.conf新增下條規則(順序不可顛倒)
http_access allow allow_lan_ip
http_access deny msn
這樣MSN等就陣亡了
接下來比較麻煩的是Skype在Skype的官網論壇有看到一點點相關討論他似乎沒有固定連線的主機,在測試機中觀察他的登入情況發現確實是如此,IP跟Port號都是在亂跳,最機車的是會鑽443PORT出去,所以這就是我的小瑕疵…..最後我用Iptables將特定IP的443PORT封死才擋住Skype,完整的規則如下
squid.conf(主要是逼Skype走443)
acl numeric_IPs urlpath_regex ^[0-9]+.[0-9]+.[0-9]+.[0-9]+
acl Skype_UA browser Skype
acl Skype_domain dstdom_regex -i .*.skype..*
acl Skype_domain_ip dst 80.160.91.13 80.160.91.5
http_access deny Skype_domain
http_access deny Skype_domain_ip
http_access deny CONNECT numeric_IPs all
http_access deny Skype_UA
Iptables新增規則
iptables -A FORWARD -p tcp -s?xxx.xxx.xxx.xxx –dport 443 -j DROP
這樣應該就可以鎖住Skype了,缺點就是被鎖的人只要是一些加密的網頁都無法瀏覽!
感想:Transparent Proxy真是好用的東西,明天開始要封鎖部份同事囉~~
可以用的也別太高興,因為內容都是有紀錄低~~~~~~~~
參考資料
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=7706&
http://www.linuxsir.org/bbs/showthread.php?t=210062
感謝各位前輩的無私奉獻,有你們的幫助世界會更好!
發佈留言