Блокировка запросов с TOR сети на Debian 9
Была сегодня ситуация на одном с серверов:
Ставим ipset:
Создаем IP сет:
Создаем bash файл:
Вместо /root/ можно свою папку.
Делаем чтобы он запускался:
Добавляем у файл: /etc/rc.local перед exit 0:
Ставим cron:
Строка задачи:
Запускаем скрипт:
Добавляем IP в iptables:
Чтобы очистить IP с iptables:
Ставим ipset:
apt-get install ipset
Создаем IP сет:
ipset create tor-nodes hash:ip
Создаем bash файл:
nano block-tor.sh
Вместо /root/ можно свою папку.
#!/bin/bash
#
# A bash script to download the latest list of Tor exit node IP addresses
# and add them to an IP set for the purpose of blocking them
#
# Author: Eric Mathison - https://ericmathison.com
#
# Download the Tor exit node IP address list
http_code=$(curl -s -o /root/block-tor-ips.txt -w '%{http_code}' https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=$(curl ipecho.net/plain);)
# Exit script if unable to download list of IPs
if [ ! "$http_code" -eq "200" ]; then
echo Failed to connect to https://check.torproject.org/
exit 1
fi
# Flush tor-nodes set
ipset flush tor-nodes
# Add IP addresses to set
while read -r ip; do
case "$ip" in \#*) continue ;; esac
ipset -q -A tor-nodes $ip
done < "/root/block-tor-ips.txt"
# Save set to file
ipset save > /root/block-tor.restore
Делаем чтобы он запускался:
chmod +x block-tor.sh
Добавляем у файл: /etc/rc.local перед exit 0:
ipset restore < /root/block-tor.restore
iptables -I INPUT -m set --match-set tor-nodes src -j DROP
Ставим cron:
nano /etc/cron.d/block-tor
Строка задачи:
0 5 * * * root /root/block-tor.sh > /dev/null 2>&1
Запускаем скрипт:
sh /root/block-tor.sh
Добавляем IP в iptables:
iptables -I INPUT -m set --match-set tor-nodes src -j DROP
Чтобы очистить IP с iptables:
iptables -F
0 комментариев