iptables allow incoming https on Multi-WAN

ในกรณีที่เครื่องเซิร์ฟเวอร์เรามีหลายๆ อินเตอร์เฟต (multi-wan load balancing) เรื่องของความปลอดภัยจึงต้องมีความสำคัญเป็นอย่างมาก พอดีมีเซิร์ฟเวอร์อยู่ 1 ตัว ทำหน้าที่เป็นเครื่องเมล์เซิร์ฟเวอร์, เว็บเซิร์ฟเวอร์ และอินเตอร์เซิร์ฟเวอร์ (load branching) จึงมีตัวอย่างการคอนฟิก Firewall มาแนะนำครับ.


อินเตอร์เฟต WAN
ppp0      Link encap:Point-to-Point Protocol
inet addr:11.22.33.44  P-t-P:11.22.33.1  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1456  Metric:1
RX packets:90586 errors:0 dropped:0 overruns:0 frame:0
TX packets:76619 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:59012652 (56.2 Mb)  TX bytes:9354355 (8.9 Mb)

ppp1      Link encap:Point-to-Point Protocol
inet addr:55.66.77.88  P-t-P:55.66.77.1  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
RX packets:53402 errors:0 dropped:0 overruns:0 frame:0
TX packets:45768 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:55552746 (52.9 Mb)  TX bytes:6227123 (5.9 Mb)

สิ่งที่ผมต้องการ

1.  เปิดพอร์ต ping (ICMP), SMTP (25), Web Server HTTPS (443) ที่ WAN IP Address: 11.22.33.44 เพื่ออนุญาตให้เครื่องภายนอก Network อื่นๆ สามารถติดต่อกับเว็บเซริฟ์เวอร์เราได้, ใช้ SMTP ได้ และสามารถใช้คำสั่ง ping มาที่ IP Address 11.22.33.44 ได้

2. Block traffic ขาเข้าทุกอย่างที่ IP Address 55.66.77.88

มาดูการคอนฟิก Firewall กันครับ โดยใช้ iptables

1. แก้ไขไฟล์ SuSEfirewall2-custom

 
vi /etc/sysconfig/scripts/SuSEfirewall2-custom
#Additional
SERVER_IP="11.22.33.44"

#Allow ICMP
iptables -A INPUT -p icmp -d $SERVER_IP -j ACCEPT

#Outbound SMTP / e-mail
iptables -A INPUT -p tcp -m tcp -d $SERVER_IP --sport smtp  -m state --state ESTABLISHED -j ACCEPT

#Allow incoming https/secure web traffic at port 443
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d $SERVER_IP --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 443 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

2. รีสตาร์ iptables

[/sourcecode]
rcSuSEFirewall2 restart
[/sourcecode]

Note: ก่อนจะอนุญาตพอร์ต่างๆ ตามข้างบน คุณต้องใช้ iptables บล็อกทุกอย่างก่อนนะครับ.

ลิงค์ที่เกี่ยวข้อง – //www.susethailand.com/suseforum/index.php?topic=1042.0
– //www.susethailand.com/suseforum/index.php?topic=1025.0
– //www.susethailand.com/suseforum/index.php?topic=590.0
– //www.yastblogger.com/?p=219

Reference – //www.cyberciti.biz/tips/linux-iptables-11-how-to-block-or-open-httpweb-service.html