Study notes

星期四, 5月 10, 2007

如何使用iptables來阻檔msn

最近受到朋友請託,要我讓他們公司的員工不能上msn,他們公司使用msn的情形已經到影響到工作了。剛好他們有台linux伺服器是當他們上網的gateway加上email伺服器。下面是他們公司的網路概圖:


基本上他們已經在使用iptables來做防火牆和NAT來保護伺服器以及讓所以電腦上網。我利用netstat
來找出來msn登入時所需要的伺服器位置及埠號,msn登入所需要的埠號是80,443,1863三個的其中一個,但不管怎麼樣檔,總不能把80埠給擋掉吧!如果擋了80埠搞得大家不能上網也是不行的,但開了80埠msn 還是可以登入的,那怎麼辨呢?所以我加入阻擋msn 伺服器的位置,另外還有一個就是web msn 現在也有很多web msn的站台,也要去阻擋那些網站。基本上只要加入在防火牆FORWARD Chain就行了,下面是我iptables的規則:

# 讓那些client可以使用msn,這裡是使用ip 也可以加入-m mac --mac-source 00:90:cc:26:a5:57 去鎖定網卡
iptables -A FORWARD -p tcp -s 192.168.0.201 -d login.passport.net -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.201 -d login.passport.com -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.201 -d login.live.com -j ACCEPT

# allow msn port 1863
iptables -A FORWARD -p tcp -s 192.168.0.201 --dport 1863 -j ACCEPT

# allow msn http server
iptables -A FORWARD -p tcp -s 192.168.0.201 -d 207.46.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.202 -d 207.46.0.0/16 -j ACCEPT

##其它的人一律阻擋
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 207.46.0.0/16 -j DROP
iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 1863 -j DROP
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d login.passport.net -j DROP
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d login.passport.com -j DROP
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d webmessenger.msn.com -j DROP
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d login.live.com -j DROP

#other web msn server 這個部分可以去知識家找找還有那些免費的web msn
#I love IM
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d www.iloveim.com -j DROP

其中270.46.0.0這個網段有很多msn登入的伺服器,我是抱著寧可錯殺也不可放過的心態去設定的,如果可以的話也可以用nslookup 一一去找出來,一一阻擋。其中login.live.com 有很多微軟的服務都會使用他們登入,以前是使用login.passport.net, 所以阻擋這些後相關的服務都無法使用喔。

另外yahoo messager 相關的規則如下:

iptables -A FORWARD -p tcp -i eth1 --dport 5050 -j DROP
iptables -A FORWARD -p tcp -i eth1 --dport 5101 -j DROP
iptables -A FORWARD -p all -i eth1 -d cs9.msg.dcn.yahoo.com -j DROP

記得要阻檔相關的登入的伺服器他們的主機名稱如下:
cs1.msg.dcn.yahoo.com
cs2.msg.dcn.yahoo.com
.
.
中間略過
.
.
cs50.msg.dcn.yahoo.com


結論:

這裡是用一些現成的工具像是netstat 及 nslookup 去觀察msn及yahoo messager的運作狀態,再加以使用iptables來阻擋。如果想要更進階的資訊可以去下列網站找到相關的資料:
http://tw.messenger.yahoo.com/index.php
http://www.microsoft.com

標籤:

0 Comments:

張貼留言

<< Home