Wednesday, August 13, 2008

Samba with IPtables

หลังจากที่ set เครื่อง PDC ด้วย samba ขึ้นมาแล้ว หากรัน service iptables ด้วยจะทำให้เครื่องอื่น ๆเข้ามาใช้บริการไม่ได้เพราะถูกป้องกันด้วย firewall iptables ไปด้วย ไอ้ครั้นจะยกเลิก service iptables ไป PDC server ของเราก็จะไม่ปลอดภัย และดูเป็นธรรมดาๆ เสียเหลือเกิน (อายพวกมือเก๋า ๆ) อย่ากระนั้นเลยมาลองมั่วเปิด service iptables ร่วมกับ samba ดูสักตั้งหนึ่งประไร.....

ได้ยินมาว่าเจ้า samba ให้บริการผ่าน port 137,138,139 และ 445 มีคนแนะนำให้เปิดดูในไฟล์ /etc/services
ก็จะพบความจริงที่แสดงในบรรทัดดังนี้

netbios-ns 137/tcp # NetBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NetBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NetBIOS Session Service
netbios-ssn 139/udp
microsoft-ds 445/tcp # Microsoft Directory Service
microsoft-ds 445/udp



เห็นกับตาอาจเป็นเพียงทฤษฏี มาลองดูของจริง ๆ ว่า samba มันเปิดพอร์ตไหนไว้บริการแน่ที่เครื่อง PDC ก่อนอื่นให้ stop
samba ก่อน แล้วตรวจสอบ พอร์ตที่เปิดบริการ จากนั้น start samba และตรวจสอบเทียบเคียงกันอีกชั้นหนึ่ง ดังนี้

# service smb stop
# netstat -ln > netstat-ln-smb.before
# service smb start
# netstat -ln > netstat-ln-smb.after
# diff netstat-ln-smb.*


edit /etc/sysconfig/iptables

*filter
:INPUT ACCEPT [56005:161967936]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [55983:161988082]
-A INPUT -p udp -m udp --dport 138 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT
-A INPUT -p udp -m udp --dport 137 -j ACCEPT
COMMIT





แหล่งอ้างอิง http://troy.jdmz.net/samba/fw/

0 comments:

Twitter Delicious Facebook Digg Stumbleupon Favorites More