From 2393b8f0e679eebc61eda5543276afdb77eb14d7 Mon Sep 17 00:00:00 2001 From: fossilfranv Date: Tue, 28 Mar 2023 00:07:33 +0200 Subject: [PATCH] Add 'set_ip_blacklist.sh' --- set_ip_blacklist.sh | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 set_ip_blacklist.sh diff --git a/set_ip_blacklist.sh b/set_ip_blacklist.sh new file mode 100644 index 0000000..5843b39 --- /dev/null +++ b/set_ip_blacklist.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +rm /tmp/testlog.txt +exec >/tmp/testlog.txt 2>&1 +set -x + +/sbin/ipset -q flush ipsum +#The next line only the first time the script is run +#/sbin/ipset -q create ipsum hash:net +/bin/bash -c 'for ip in $(/usr/bin/curl --compressed https://raw.githubusercontent.com/stamparm/ipsum/master/ipsum.txt 2>/dev/null | grep -v "#" | grep -v -E "\s[1-2]$" | cut -f 1); do /sbin/ipset add ipsum $ip; done' +/sbin/iptables -I INPUT -m set --match-set ipsum src -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 443 -m set --match-set ipsum dst -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 80 -m set --match-set ipsum dst -j DROP + +rm firehol_level3.netset +wget https://iplists.firehol.org/files/firehol_level3.netset +my_file=$(cat firehol_level3.netset |grep -v "#") +/sbin/ipset -q flush fireh +#/sbin/ipset -q create fireh hash:net +for row_data in $my_file; do /sbin/ipset add fireh ${row_data}; done +/sbin/iptables -I INPUT -m set --match-set fireh src -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 443 -m set --match-set fireh dst -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 80 -m set --match-set fireh dst -j DROP + + +/sbin/ipset -q flush blockde +#/sbin/ipset -q create blockde hash:net +rm blocklist.de +# wget -O blocklist.de http://lists.blocklist.de/lists/all.txt +wget -O blocklist.de https://iplists.firehol.org/files/blocklist_de.ipset +my_file=$(awk 'length($1) < 16 { print $1 }' blocklist.de) +for row_data in $my_file; do /sbin/ipset add blockde ${row_data}; done +/sbin/iptables -I INPUT -m set --match-set blockde src -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 443 -m set --match-set blockde dst -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 80 -m set --match-set blockde dst -j DROP + + +/sbin/ipset -q flush blockde6 +#/sbin/ipset -q create blockde6 hash:net family inet6 +my_file=$(awk 'length($1) > 16 { print $1 }' blocklist.de) +echo setting ipv6... +for row_data in $my_file; do /sbin/ipset add blockde6 ${row_data}; done +/sbin/ip6tables -I INPUT -m set --match-set blockde6 src -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 443 -m set --match-set blockde6 dst -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 80 -m set --match-set blockde6 dst -j DROP + + + +wget -O tornodes.lst https://raw.githubusercontent.com/SecOps-Institute/Tor-IP-Addresses/master/tor-exit-nodes.lst +my_file=$(awk 'length($1) < 16 { print $1 }' tornodes.lst) +for row_data in $my_file; do /sbin/ipset add tornodes ${row_data}; done +/sbin/ipset -q flush tornodes +#/sbin/ipset -q create tornodes hash:net +for row_data in $my_file; do /sbin/ipset add tornodes ${row_data}; done +/sbin/iptables -I INPUT -m set --match-set tornodes src -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 443 -m set --match-set tornodes dst -j DROP +/sbin/iptables -A FORWARD -p tcp --dport 80 -m set --match-set tornodes dst -j DROP +