-
-
Save mullernato/27641f50bbf72adc02fce2104b03d6a2 to your computer and use it in GitHub Desktop.
iptables blocklist script (using ipset hash..)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
IP_TMP=/tmp/ip.tmp | |
IP_BLACKLIST=/etc/ip-blacklist.conf | |
IP_BLACKLIST_TMP=/tmp/ip-blacklist.tmp | |
IP_BLACKLIST_CUSTOM=/etc/ip-blacklist-custom.conf # optional | |
list="chinese nigerian russian lacnic exploited-servers" | |
BLACKLISTS=( | |
"http://www.projecthoneypot.org/list_of_ips.php?t=d&rss=1" # Project Honey Pot Directory of Dictionary Attacker IPs | |
"http://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1" # TOR Exit Nodes | |
"http://www.maxmind.com/en/anonymous_proxies" # MaxMind GeoIP Anonymous Proxies | |
"http://danger.rulez.sk/projects/bruteforceblocker/blist.php" # BruteForceBlocker IP List | |
"https://rules.emergingthreats.net/fwrules/emerging-Block-IPs.txt" # Emerging Threats - Russian Business Networks List | |
"http://www.spamhaus.org/drop/drop.lasso" # Spamhaus Don't Route Or Peer List (DROP) | |
"http://cinsscore.com/list/ci-badguys.txt" # C.I. Army Malicious IP List | |
"http://www.openbl.org/lists/base.txt" # OpenBL.org 30 day List | |
#"http://www.autoshun.org/files/shunlist.csv" # Autoshun Shun List (paid list) | |
"http://lists.blocklist.de/lists/all.txt" # blocklist.de attackers | |
"http://www.stopforumspam.com/downloads/toxic_ip_cidr.txt" # StopForumSpam | |
) | |
for i in "${BLACKLISTS[@]}" | |
do | |
curl "$i" > $IP_TMP | |
grep -Po '(?:\d{1,3}\.){3}\d{1,3}(?:/\d{1,2})?' $IP_TMP >> $IP_BLACKLIST_TMP | |
done | |
for i in `echo $list`; do | |
# Download | |
wget --quiet http://www.wizcrafts.net/$i-iptables-blocklist.html | |
# Grep out all but ip blocks | |
cat $i-iptables-blocklist.html | grep -v \< | grep -v \: | grep -v \; | grep -v \# | grep [0-9] > $i.txt | |
# Consolidate blocks into master list | |
cat $i.txt >> $IP_BLACKLIST_TMP | |
done | |
sort $IP_BLACKLIST_TMP -n | uniq > $IP_BLACKLIST | |
rm $IP_BLACKLIST_TMP | |
wc -l $IP_BLACKLIST | |
ipset flush blacklist | |
egrep -v "^#|^$" $IP_BLACKLIST | while IFS= read -r ip | |
do | |
ipset add blacklist $ip | |
done | |
if [ -f $IP_BLACKLIST_CUSTOM ]; then | |
egrep -v "^#|^$" $IP_BLACKLIST_CUSTOM | while IFS= read -r ip | |
do | |
ipset add blacklist $ip | |
done | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment