วันจันทร์ที่ 11 กรกฎาคม พ.ศ. 2554

การ ปิด/เปิด Port ของ IPTABLE

การ ปิด/เปิด Port ของ IPTABLE

     การปิด Port เป็นวิธีการป้องกันการบุกรุก การโจมตีอย่างหนึ่ง ที่ช่วยให้ระบบเครือข่ายภายในมีความปลอดภัยมากยิ่งขึ้น  โดยส่วนมากแล้วในระบบเครือข่ายจะนิยมให้ระบบ NAT หรือ แชร์อินเตอร์เน็ตนั้นเอง ซึ่งการปิด PORT นั้นจะใช้ ตัวโปรแกรม IPTABLES นั้นเอง ซึ่งเป็นโปรแกรมที่ทำหน้าที่เป็น FIREWALL ของระบบเครือข่ายระหว่างเครือข่ายภานในกับเครือข่ายภายนอกนั้นเอง ตามรูปด้านล่าง
     ส่วนถ้าถามว่า ควร จะปิดหรือเปิด PORT อะไรบ้าง อันนี้ตอบแบบฟันธงไม่ได้ จะขึ้นอยู่กับหน่วยงานของท่านเองว่าจะต้องใช้ PORT อะไรบ้าง แต่พอร์ตที่ จำเป็นจะต้องเปิดมีดังนี้

หทายเลขพอร์ต
การเชื่อมต่อ
หน้าที่เชื่อมต่อ
53
TCP/UDP
DNS  การแปลงชื่อกับหมายเลข IP
80,8080
TCP
HTTP  การใช้ WEB
443,8443
TCP
HTTPS การใช้ WEB ความปลอดภัยสูง
20,21
TCP/UDP
FTP  บริการ FTP โอนถ่ายข้อมูล
22
TCP
SSH  บริการควบคุมระยะไกล
25,110
TCP
EMAIL   อีเมล์ Server เท่านั้น เช่นการใช้ Outlook เป็นต้น
ไม่เกี่ยวกับการเข้า email ด้วย web
1863
TCP
MSN  การแชท
554
TCP/UDP
RTSP  ระบบมัลติมีเดีย เช่น วิทยุ ทีวี ฟังเพลง  Online

สำหรับส่วนประกอบของ IPTABLES นั้นจะมีส่วนประกอบหลัก ๆ อยู่ 3 ส่วนด้วยกัน
  1. INPUT  คือส่วนของข้อมูลที่เข้ามาสู่เครืองคอมพิวเตอร์ Server
  2. OUTPUT คือส่วนของข้อมูลที่ออกจะเครื่องคอมพิวเตอร์ Server
  3. FORWARD คือส่วนที่ส่งต่อข้อมูลจะเครือข่ายภายในสู่ภายนอกนั้นเองครับ  (การบล็อกพอร์ตจะใช้ในส่วนที่เป็นหลัก สำหรับการติดต่อระหว่างเครื่องภายในและภายนอก)

สำหรับวิธีการการบล็อกพอร์ทนั้น จะมีวิธีที่นิยมอยู่  2  วิธีการคือ
1.เปิดทั้งหมดแล้ว ทำการบล็อกพอร์ทที่จะปิด
ตัวอย่าง
$IPTABLES -P FORWARD ACCEPT                                              #OPEN ALL
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 1863 -j DROP                     #BLOCK MSN
$IPTABLES -A FORWARD -p udp --dport 1863 -j DROP                    #BLOCK MSN
$IPTABLES -A FORWARD -p tcp --dport 4000 -j DROP                     #BLOCK qq
$IPTABLES -A FORWARD -p tcp --dport 5050 -j DROP                     #BLOCK YAHOO CHAT
$IPTABLES -A FORWARD -p tcp --dport 2778  -j DROP                     #BLOCK  CamFrox
 
2. ปิดทั้งหมดแล้วเปิดพอร์ทที่ใช้เท่านั้น    (วิธีการนี้จะมีความปลอดภัยมากกว่าคือ ต้องการเปิดปิดไหนก็เปิดเอาเองได้เลยครับ แต่ถ้าเราเปิดไม่ครบอาจมีปัญหาได้ครับ)
ตัวอย่าง

$IPTABLES -P FORWARD DROP                                                                           #CLOSE PORT ALL$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 53 -j ACCEPT   #DNS
$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT  #DNS
$IPTABLES -A FORWARD -p tcp --dport 80 -j ACCEPT  #HTTP
$IPTABLES -A FORWARD -p tcp --dport 8080 -j ACCEPT  #HTTP
$IPTABLES -A FORWARD -p tcp --dport 443 -j ACCEPT  #HTTPS
$IPTABLES -A FORWARD -p tcp --dport 8443 -j ACCEPT  #HTTPS
$IPTABLES -A FORWARD -p tcp --dport 20 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p udp --dport 20 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p tcp --dport 21 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p udp --dport 21 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p tcp --dport 22 -j ACCEPT  #SSH
$IPTABLES -A FORWARD -p tcp --dport 23 -j ACCEPT  #TELNET
$IPTABLES -A FORWARD -p tcp --dport 25 -j ACCEPT  #MAIL
$IPTABLES -A FORWARD -p tcp --dport 110 -j ACCEPT  #MAIL
$IPTABLES -A FORWARD -p tcp --dport 1863 -j ACCEPT #MSN
$IPTABLES -A FORWARD -p udp --dport 1863 -j ACCEPT #MSN
$IPTABLES -A FORWARD -p tcp --dport 4000 -j ACCEPT  #qq
$IPTABLES -A FORWARD -p tcp --dport 554 -j ACCEPT  #RTSP
$IPTABLES -A FORWARD -p udp --dport 554 -j ACCEPT  #RTSP
$IPTABLES -A FORWARD -p tcp --dport 5050 -j ACCEPT  #YAHOO CHAT
$IPTABLES -A FORWARD -p tcp --dport 2778  -j ACCEPT  #CamFrox

ไม่มีความคิดเห็น: