วิธีทำ Firewall ป้องกัน Server ที่ใช้ CP ของ Kloxo

By | 03/06/2011
Kloxo

Kloxo

วิธีนี้เอามาจากเว็บ lxcenter.org นะครับ แต่เห็นเป็นภาษาอังกษฤครับเลยอยากให้มีไทยบ้างครับหลักการของเค้าก็คือใช้ปิด IPTABLES ไว้ก่อนครับแล้วทำ firewall rules ขึ้นมาใหม่ครับแล้วทำให้ firewall run ตอน boot ทุกครั้งครับโดยสร้าง script ไว้ที่ /etc/init.d/ ครับเหมือน service ตัวหนึ่งเลยละครับทำง่ายมากๆ ครับที่อธิบายผมก็พอเข้าใจแบบนี้ครับ เทพที่ผ่านมาเจออย่าว่ากันนะครับ หุๆ มาดูวิธีกันเลยครับ

 

อย่างแรกสั่ง

ปิด service IPTABLES:
# /etc/init.d/iptables stop

กำหนดให้ service ไม่ต้อง run ตอน boot (เดี่ยวจะมีการสั่งเองในตัว script):
# chkconfig iptables off

จากนั้นท่านจะใช้คำสั่ง touch หรือ vi, vim อะไรก็ได้ครับสร้างไฟล์ชื่อ firewall ที่ตำแหน่ง /etc/init.d/ ครับมาดูที่ผมทำครับ

# vim /etc/init.d/firewall

โปรแกรม Vim มันจะสร้างไฟล์ให้เราเลยครับเพียงแค่กดปุ่ม i เพื่อเขียนข้อความลงไปครับแต่ไม่ต้องเขียนนะครับให้ท่าน Copy Script ด้านล่างนี้ลงไปวางเลยครับเพราะทางทีมงานของ Lxcenter เค้าจัดให้แล้วครับตามนี้เลย

[code]
#!/bin/sh
# firewall
# chkconfig: 3 21 91
# description: Starts, stops iptables firewall

case "$1" in
start)

# Clear rules
iptables -t filter -F
iptables -t filter -X
echo – Clear rules : [OK]

# SSH In
iptables -t filter -A INPUT -p tcp –dport 22 -j ACCEPT
echo – SSH : [OK]

# Don’t break established connections
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
echo – established connections : [OK]

# Block all connections by default
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
echo – Block all connections : [OK]

# Loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo – Loopback : [OK]

# ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
echo – PING : [OK]

# DNS In/Out
iptables -t filter -A OUTPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp –dport 53 -j ACCEPT
echo – DNS : [OK]

# NTP Out
iptables -t filter -A OUTPUT -p udp –dport 123 -j ACCEPT
echo – NTP : [OK]

# FTP Out
iptables -t filter -A OUTPUT -p tcp –dport 20:21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 30000:50000 -j ACCEPT
# FTP In
iptables -t filter -A INPUT -p tcp –dport 20:21 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 30000:50000 -j ACCEPT
iptables -t filter -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
echo – FTP : [OK]

# HTTP + HTTPS Out
iptables -t filter -A OUTPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 443 -j ACCEPT
# HTTP + HTTPS In
iptables -t filter -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 443 -j ACCEPT
echo – HTTP/HTTPS : [OK]

# Mail SMTP:25
iptables -t filter -A INPUT -p tcp –dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 25 -j ACCEPT
echo – SMTP : [OK]

# Mail POP3:110
iptables -t filter -A INPUT -p tcp –dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 110 -j ACCEPT
echo – POP : [OK]

# Mail IMAP:143
iptables -t filter -A INPUT -p tcp –dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 143 -j ACCEPT
echo – IMAP : [OK]

# Kloxo
iptables -t filter -A INPUT -p tcp –dport 7777:7778 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 7777:7778 -j ACCEPT
echo – Kloxo : [OK]

echo – Firewall [OK]
exit 0
;;

stop)
echo "Stopping Firewall: "
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t filter -F
exit 0
;;
*)
echo "Usage: /etc/init.d/firewall {start|stop}"
exit 1
;;
esac
[/code]

Copy เิอาไปวางในไฟล์ /etc/init.d/firewall จากนั้นก็กด Esc 1 ครั้งที่แป้นพิมกด : และพิม wq และ Enter เพื่อบันทึกครับ

จาดนั้นก็มาสั่งอีกนิดครับทำให้ firewall script มันทำงานได้ก่อนครับโดยสั่ง
# chmod 700 /etc/init.d/firewall

และเพิ่ม Service firewall ของเราเมื่อกี่ครับ … ยังไงว่ะ งง … ดูด้านล่างครับ
# chkconfig –level 2345 firewall on

และสั่ง Start
# /etc/init.d/firewall start

ถ้าเห็นสถานะบอกว่า OK เยอะก็ใช้ได้แล้วครับง่ายๆ ครับแต่จะธิบายเรื่อง script นิดหนึ่งครับคือ เค้ากำหนดให้ปิด port ทุก port ก่อนแล้วมาเปิด port ที่จำเป็นสำหรับ CP Kloxo ครับแค่นั้นครับ

Write By Mr.Pishit
http://pishit.net/

4 thoughts on “วิธีทำ Firewall ป้องกัน Server ที่ใช้ CP ของ Kloxo

  1. CPX_Cisco

    ขอบคุณครับ ที่แบ่งปันสิ่งดีๆ ครับ

    Reply
  2. Big Thanks

    ขอบคุณมากคับ หามานาน

    Reply
  3. BoY_PiShiT Post author

    เดี่ยวผมลองใช้กับ Da ให้ครับ คิดว่าไม่ต่างกันมากครับน่าจะแค่ Port สำหรับเข้า Da 2222 และ kloxo 7777-7778

    Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *