ก๊วนซอฟท์แวร์ </softganz> SoftGang (Gang Software)

Web &amp; Software Developer Gang.

Block IP ต่างประเทศ

by Little Bear @5 ก.ค. 52 20:27 ( IP : 61...221 ) | Tags : Linux , Server

เพื่อป้องกันปัญหาโดน hack จากต่างประเทศ มีคำแนะนำให้ block การเข้าถึงจากต่างประเทศด้วยการ block IP จากต่างประเทศไม่ให้เข้าใช้บริการบางอย่างเช่น FTP , SSH

วิธีการดูได้จาก ThaiHostTalk นะครับ

ขออนุญาตคุณ icez และ ems นำมาเก็บไว้ก่อนนะครับ แล้วจะหาเวลามานั่งศึกษาดูอีกที

#************************************************
<a class="hashtag" href="/tags/สั่งเคลีย">#สั่งเคลีย</a> Firewall ก่อน
iptables -F
<a class="hashtag" href="/tags/สั่งเคลีย">#สั่งเคลีย</a> Firewall ก่อน
iptables -X

##ส่วนนี้ใช้สำหรับlist ip ของ FTP มาจาก iplist ท่าน icez
iptables -N ftp_pass
for i in `wget -qO - http://www.icez.net/files/thaiiplist`; do
iptables -A ftp_pass -s $i -j ACCEPT
done

## ในส่วนนี้ทำไว้สำหรับ Block IP ในกรณีฉุกเฉินเช่นตอนโดนยิง
## วิธี Block ก็ iptables -A block_ip -s xx.xx.xx.xx -j DROP

iptables -N block_ip
iptables -A INPUT -j block_ip

## ในส่วนนี้ทำไว้สำหรับ Block Email ดึงข้อมูลจาก www.spamhaus.org
iptables -N block_email
iptables -A INPUT -p tcp --dport 25 -j block_email
curl -s http://www.spamhaus.org/drop/drop.lasso |grep ^[1-9]|cut -f 1 -d ' ' | xargs -iX -n 1 /sbin/iptables -A block_email -s X -j DROP

<a class="hashtag" href="/tags/ป้องกัน">#ป้องกัน</a> scan Port หรือเปล่านะ
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

<a class="hashtag" href="/tags/ตรวจเช็ค">#ตรวจเช็ค</a> State Full
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT<br />
<br />
<br />
<a class="hashtag" href="/tags/เฉพาะ">#เฉพาะ</a> FTP เท่านั้นที่เราจะกรอง ก็สั่งให้กระโดดไป ftp_pass
iptables -A INPUT -p tcp --dport 21 -j ftp_pass
iptables -A INPUT -p tcp --dport 20 -j ACCEPT<br />
<br />
<br />
<a class="hashtag" href="/tags/เปิด">#เปิด</a> ให้เข้ามา access เฉพาะ Port ที่ต้องการ
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

<a class="hashtag" href="/tags/ส่วนนี้ให้ดูจาก">#ส่วนนี้ให้ดูจาก</a> proftpd คือว่าเราเปิด port 21 ใช้ในการเชือมต่อ แต่ตอนรับส่งข้อมูลจะใช้ port 35000-35999
iptables -A INPUT -p tcp --dport 35000:35999 -j ACCEPT

# icmp ก็รับด้วยเดี่ยว ping ไม่เจอ
iptables -A INPUT -p icmp  -j ACCEPT

<a class="hashtag" href="/tags/นอกเหนือ">#นอกเหนือ</a> จาก port ที่เราเปิด ก็ Block ซ่ะ (*** ระวังคำสั่งนี้ให้ดีครับ ถ้าทำบรรทัดนี้แล้วอาจจะ ssh ไม่ได้ ถ้าไม่มั่นใจให้เปิดเฉพาะ IP ตัวเองก่อน)
iptables -A INPUT -j DROP

Relate topics