add content
This commit is contained in:
parent
18dab183d2
commit
2ad1e01924
110
README.md
110
README.md
@ -1,4 +1,112 @@
|
|||||||
blacklist-scripts
|
blacklist-scripts
|
||||||
=================
|
=================
|
||||||
|
This is a collection of shell scripts that are intended to block Linux systems and OpenWRT routers from known sources of malicious traffic. These scripts use `iptables` with highly efficient `ipset` module to check incoming traffic against blacklists populated from publicly available sources.
|
||||||
|
|
||||||
Various IP blacklisting scripts for Linux and OpenWRT
|
## Block lists
|
||||||
|
|
||||||
|
* [Emerging Threats](http://rules.emergingthreats.net/fwrules/) - list of other known threats (botnet C&C, compromised servers etc) compiled from various sources, including [Spamhaus DROP](http://www.spamhaus.org/drop/), [Shadoserver](https://www.shadowserver.org/wiki/) and [DShield Top Attackers](http://www.dshield.org/top10.html)
|
||||||
|
* [www.blocklist.de](https://www.blocklist.de/en/index.html) - list of known password bruteforcers supplied by a network of [fail2ban](http://www.fail2ban.org/wiki/index.php/Main_Page) users
|
||||||
|
* [iBlocklist](https://www.iblocklist.com/lists.php) - various free and subscription based lists
|
||||||
|
|
||||||
|
## firewall.user
|
||||||
|
This scripts is indended for OpenWRT routers. It will use the following blocklists by default:
|
||||||
|
|
||||||
|
* www.blocklist.de
|
||||||
|
* Emerging Threats
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
|
||||||
|
* `opkg install ipset curl`
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
|
||||||
|
sh firewall.user
|
||||||
|
cp firewall.user /etc/firewall.user
|
||||||
|
echo "01 01 * * * sh /etc/firewall.user" >>/etc/crontabs/root
|
||||||
|
|
||||||
|
Results:
|
||||||
|
|
||||||
|
# iptables -vnL
|
||||||
|
Chain blocklists (2 references)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
0 0 LOG all -- eth0.2 * 0.0.0.0/0 0.0.0.0/0 match-set emerging-Block-IPs.txt src,dst limit: avg 10/min burst 5 LOG flags 0 level 4 prefix `BLOCK emerging-Block-IPs.txt '
|
||||||
|
0 0 DROP all -- eth0.2 * 0.0.0.0/0 0.0.0.0/0 match-set emerging-Block-IPs.txt src,dst
|
||||||
|
0 0 LOG all -- eth0.2 * 0.0.0.0/0 0.0.0.0/0 match-set fullbogons-ipv4.txt src,dst limit: avg 10/min burst 5 LOG flags 0 level 4 prefix `BLOCK fullbogons-ipv4.txt '
|
||||||
|
0 0 DROP all -- eth0.2 * 0.0.0.0/0 0.0.0.0/0 match-set fullbogons-ipv4.txt src,dst
|
||||||
|
6 783 LOG all -- eth0.2 * 0.0.0.0/0 0.0.0.0/0 match-set export-ips_all.txt src,dst limit: avg 10/min burst 5 LOG flags 0 level 4 prefix `BLOCK export-ips_all.txt '
|
||||||
|
6 783 DROP all -- eth0.2 * 0.0.0.0/0 0.0.0.0/0 match-set export-ips_all.txt src,dst
|
||||||
|
|
||||||
|
Chain forward (1 references)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
14994 1753K blocklists all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED
|
||||||
|
...
|
||||||
|
|
||||||
|
Chain input (1 references)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
250 13802 blocklists all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED
|
||||||
|
...
|
||||||
|
|
||||||
|
# ipset list | wc -l
|
||||||
|
21553
|
||||||
|
|
||||||
|
## blacklist.sh
|
||||||
|
|
||||||
|
This script is intended for Linux servers. It does not load Bogons blocklist which can cause serious problems in VPS environments. Blacklists used:
|
||||||
|
|
||||||
|
* www.blocklist.de
|
||||||
|
* Emerging Threats
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
|
||||||
|
* On Debian, Ubuntu and other `apt` systems: `apt-get install ipset curl`
|
||||||
|
* On RedHat, Fedora, CentOS and other RPM systems: `yum install ipset curl`
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
|
||||||
|
sh blacklist.sh
|
||||||
|
cp blacklist.sh /etc/cron.daily/blacklist
|
||||||
|
|
||||||
|
Results:
|
||||||
|
|
||||||
|
# iptables -vnL
|
||||||
|
Chain INPUT (policy ACCEPT 40M packets, 159G bytes)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
5622K 350M blacklist all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW
|
||||||
|
|
||||||
|
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
|
||||||
|
Chain OUTPUT (policy ACCEPT 39M packets, 166G bytes)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
|
||||||
|
Chain blacklist (1 references)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
11 488 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 match-set blacklist src limit: avg 1/min burst 5 LOG flags 0 level 4 prefix `BLACKLIST '
|
||||||
|
11 488 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 match-set blacklist src
|
||||||
|
|
||||||
|
# ipset list | wc -l
|
||||||
|
22590
|
||||||
|
|
||||||
|
# ipset list | head
|
||||||
|
Name: blacklist
|
||||||
|
Type: hash:net
|
||||||
|
Header: family inet hashsize 8192 maxelem 65536
|
||||||
|
Size in memory: 416688
|
||||||
|
References: 2
|
||||||
|
Members:
|
||||||
|
183.141.72.28
|
||||||
|
201.210.28.205
|
||||||
|
222.186.56.11
|
||||||
|
178.137.16.203
|
||||||
|
|
||||||
|
# dmesg|tail
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=61.174.51.198 DST=192.168.100.8 LEN=40 TOS=0x00 PREC=0x00 TTL=102 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=141.212.121.232 DST=192.168.100.8 LEN=40 TOS=0x00 PREC=0x00 TTL=232 ID=54321 PROTO=TCP SPT=51441 DPT=443 WINDOW=65535 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=58.241.61.162 DST=192.168.100.8 LEN=48 TOS=0x00 PREC=0x00 TTL=111 ID=17539 PROTO=TCP SPT=4127 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=122.225.109.116 DST=192.168.100.8 LEN=40 TOS=0x00 PREC=0x00 TTL=102 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=122.225.103.78 DST=192.168.100.8 LEN=40 TOS=0x00 PREC=0x00 TTL=102 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=122.225.109.115 DST=192.168.100.8 LEN=40 TOS=0x00 PREC=0x00 TTL=102 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=122.225.109.208 DST=192.168.100.8 LEN=40 TOS=0x00 PREC=0x00 TTL=102 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=61.174.51.200 DST=192.168.100.8 LEN=40 TOS=0x00 PREC=0x00 TTL=102 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=198.71.58.200 DST=192.168.100.8 LEN=60 TOS=0x00 PREC=0x00 TTL=51 ID=52934 DF PROTO=TCP SPT=59939 DPT=22 WINDOW=14600 RES=0x00 SYN URGP=0
|
||||||
|
BLACKLIST IN=eth0 OUT= MAC=00:50:56:a0:11:61:44:d3:ca:0f:20:b7:08:00 SRC=198.71.58.200 DST=192.168.100.8 LEN=60 TOS=0x00 PREC=0x00 TTL=51 ID=52935 DF PROTO=TCP SPT=59939 DPT=22 WINDOW=14600 RES=0x00 SYN URGP=0
|
||||||
|
Loading…
Reference in New Issue
Block a user