ວິທີບລັອກ Spam ຈາກ blacklist IP (spamhaus) ດ້ວຍ iptables

ວິທີບລັອກ Spam ຈາກ blacklist IP (spamhaus) ດ້ວຍ iptables

Spamhaus ເປັນເວັບໄຊ້ທີ່ຄອຍເກັບລວບລວມໝາຍເລກໄອພີທີ່ມີພຶດຕິກໍາທີ່ບໍ່ປົກກະຕິເຊັ່ນສົ່ງ Spam Email , DDOS Attack ສ້າງການລົບກວນເຄືອຄ່າຍ Internet ເຊິ່ງທາງ Spamhaus ກໍໄດ້ມີການເປີດເຜີຍໝາຍເລກ IP ທີ່ຕິດ blacklist ແຈກໄວ້ໃນເວັບໄຊ້ໂດຍມີການອັບເດດຖານຂໍ້ມູນທຸກວັນ ສາມາດເບິ່ງໄດ້ທີ່ https://www.spamhaus.org/drop/drop.lasso

ໃນບົດຄວາມນີ້ຈະແນະນໍາການນໍາເອົາ IP Blacklist ເຫຼົ່ານີ້ມາໃສ່ໄປໃນ Chain ຂອງ IPTables ເຊິ່ງເປັນ firewall ທີ່ຕິດຢູ່ກັບ linux ທຸກເຄື່ອງຢູ່ແລ້ວ ໂດຍມີຂັ້ນຕອນດັ່ງນີ້

ສ້າງໄຟລ spamhaus.sh

vi spamhaus.sh
#!/bin/bash

# based off the following two scripts
# http://www.theunsupported.com/2012/07/block-malicious-ip-addresses/
# http://www.cyberciti.biz/tips/block-spamming-scanning-with-iptables.html

# path to iptables
IPTABLES="/sbin/iptables";

# list of known spammers
URL="www.spamhaus.org/drop/drop.lasso";

# save local copy here
FILE="/tmp/drop.lasso";

# iptables custom chain
CHAIN="Spamhaus";

# check to see if the chain already exists
$IPTABLES -L $CHAIN -n

# check to see if the chain already exists
if [ $? -eq 0 ]; then

    # flush the old rules
    $IPTABLES -F $CHAIN

    echo "Flushed old rules. Applying updated Spamhaus list...."    

else

    # create a new chain set
    $IPTABLES -N $CHAIN

    # tie chain to input rules so it runs
    $IPTABLES -A INPUT -j $CHAIN

    # don't allow this traffic through
    $IPTABLES -A FORWARD -j $CHAIN

    echo "Chain not detected. Creating new chain and adding Spamhaus list...."

fi;

# get a copy of the spam list
wget -qc $URL -O $FILE

# iterate through all known spamming hosts
for IP in $( cat $FILE | egrep -v '^;' | awk '{ print $1}' ); do

    # add the ip address log rule to the chain
    $IPTABLES -A $CHAIN -p 0 -s $IP -j LOG --log-prefix "[SPAMHAUS BLOCK]" -m limit --limit 3/min --limit-burst 10

    # add the ip address to the chain
    $IPTABLES -A $CHAIN -p 0 -s $IP -j DROP

    echo $IP

done

echo "Done!"

# remove the spam list
unlink $FILE

ເຮັດໃຫ້ສາມາດ execute ໄດ້

chmod +x spamhaus.sh

ຣັນ script ເພື່ອສ້າງ rule ໃນ IPTables

sh spamhaus.sh

ທົດລອງເບິ່ງ IPTables rule

iptables -nL

ຂໍ້ມູນຈາກ Spamhaus ຈະປ່ຽນແປງ ແລະ ອັບເດດ blacklist ip ທຸກວັນເຮົາຈຶ່ງຈໍາເປັນຕ້ອງມີ crontab ເພື່ອອັບເດດຖານຂໍ້ມູນວັນລະຄັ້ງ ໂດຍໃຫ້ເພີ່ມຄໍາສັ່ງດ້ານລຸ່ມໄວ້ໃນໄຟລ /etc/crontab

0 3 * * * /usr/bin/spamhaus

ຫຼື ຕິດຕັ້ງຜ່ານ script ດ້ານລຸ່ມ

wget https://hostings.ruk-com.in.th/files/blockspam.sh
chmod +x blockspam.sh
sh blockspam.sh


ທີ່ມາ
https://github.com/cowgill/spamhaus