Block Spam Mail แบบง่ายๆ ด้วย Iptables

ขอมอบเคดิตนี้ให้ 9turbo.com ที่มอบสิ่งดีๆ ให้กับเราและผมได้ปรับปรง code นิดหน่อยเพื่องให้ Block เฉพาะ Mail

  1. สร้างไฟล์ spamblock.sh
  2. ใส่ข้อความนี้แล้ว save

#!/bin/sh
iptables -F
curl -s http://www.spamhaus.org/drop/drop.lasso |grep ^[1-9]|cut -f 1 -d ’ ’ | xargs -iX -n 1 /sbin/iptables -A INPUT -s X -p tcp --dport 25 -j DROP

  1. chmod 777 spamblock.sh
  2. Run ด้วยคำสั่ง ./spamblock.sh
  3. เอาไปใส่ Crontab ด้วยนะครับจะได้ Update List IP ใหม่ๆ ทุกๆ วัน

หลักการทำงานมันจะไปเอา List IP ที่เป็น Black List จาก www.spamhaus.org แล้วเอามา Block ด้วย IP IPTABLES ครับ ง่ายมั้ย

Hostparagon VPS…

ขอบคุณครับ :slight_smile:

ถ้ามี iptables rule อยู่แล้วมันจะลบทิ้งนะครับ
ให้แก้ตามนี้แทน

พิมพ์คำสั่งนี้ทิ้งไว้

iptables -N SPAMHAUS
iptables -A INPUT -p tcp --dport 25 -j SPAMHAUS

iptables-save (debian) หรือ /sbin/service iptables save (redhat)

แล้วสร้างแฟ้ม spamhaus.sh ใส่เนื้อหาตามนี้ครับ

#!/bin/sh
/sbin/iptables -F SPAMHAUS
/sbin/iptables -A SPAMHAUS -j RETURN
curl -s http://www.spamhaus.org/drop/drop.lasso |grep ^[1-9]|cut -f 1 -d ’ ’ | xargs -iX -n 1 /sbin/iptables -I SPAMHAUS -s X -j DROP

เยี่ยมมากครับ


  1. 1-9 ↩︎

ขอบคุณ คุณ ems และ น้องไอซ์ครับ :slight_smile:

ขอบคุณมากเลยครับ เยี่ยม มากเลย

อยากให้มีปุ่ม Thank you จัง

ขอบคุณมากครับผม

ขอบคุณครับ

ช่วงนี้ spam ระบาดหนัก

script สำหรับ wget (มีคน request มาว่าใช้ curl ไม่ได้ครับ)

#!/bin/sh
/sbin/iptables -F SPAMHAUS
/sbin/iptables -A SPAMHAUS -j RETURN
wget -O /tmp/spamhaus http://www.spamhaus.org/drop/drop.lasso
cat /tmp/spamhaus |grep ^[1-9]|cut -f 1 -d ’ ’ | xargs -iX -n 1 /sbin/iptables -I SPAMHAUS -s X -j DROP
rm -f /tmp/spamhaus

thank kab icez

โทษทีครับ พอดี ลองเอาไปทำตาม แล้วปรากฏ ว่า ขึ้นแบบนี้ครับ

Try iptables -h' or 'iptables --help' for more information. Bad argument91.200.164.0/22’
Try iptables -h' or 'iptables --help' for more information. Bad argument91.200.176.0/22’
Try iptables -h' or 'iptables --help' for more information. Bad argument91.200.56.0/22’

ทดสอบ คำสั่ง แค่
curl -s http://www.spamhaus.org/drop/drop.lasso |grep ^[1-9]|cut -f 1 -d ’ ’ | xargs -iX -n 1

ก็ตัดออกมาได้ถูกต้องครับ แต่เหมือนว่า iptables มัน ไม่เข้าใจ

/sbin/iptables -I SPAMHAUS -s X -j DROP

ผมเองก็ไม่ค่อยเข้าใจเหมือนกัน -s [!] address[/mask] แล้ว X ที่อยู่ต่อจาก -s มันมาจากไหนหรอครับ

ขอบคุณครับ

คำสั่งนี้

/sbin/iptables -A SPAMHAUS -j RETURN
curl -s http://www.spamhaus.org/drop/drop.lasso |grep ^[1-9]|cut -f 1 -d ’ ’ | xargs -iX -n 1 /sbin/iptables -I SPAMHAUS -s X -j DROP

บรรทัดเดียวจบนะครับ ห้ามตัดบรรทัด

good jobs

ขอบคุณคับ

ขอบคุณครับ

ขอบคุณมากๆครับ

ผมลองโดยพิม เองไปบน command ตรงๆ

/sbin/iptables -A SPAMHAUS -j RETURN curl -s http://www.spamhaus.org/drop/drop.lasso |grep ^[1-9]|cut -f 1 -d ' ' | xargs -iX -n 1 /sbin/iptables -I SPAMHAUS -s X -j DROP

มันก็เป็นแบบนี้ อ่ะครับ

Try iptables -h' or 'iptables --help' for more information. iptables v1.3.6: host/networkX’ not found
Try `iptables -h’ or ‘iptables --help’ for more information.

debian 3.1 upgrade ผ่าน apt-get เป็น 4.0