Задача: блокировать всех пользователей, которые обращаются к сайтам сервера через TOR.
Тут есть два способа (по крайней мере я нашёл):
1. С помощью ipset (предпочтительно)
2. С помощью скрипта, найденного тут: https://github.com/ddasilva/block-tor-iptables
1. С помощью ipset
# apt-get install ipset
# ipset -N tor iphash
# vim /root/tor_check.sh
#!/bin/bash
wget -q https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=ваш_ip_адрес -O -|sed '/^#/d' | while read IP
do
ipset -q -A tor $IP
done
# chmod +x /root/tor_check.sh
# /root/tor_check.sh
# iptables -A INPUT -m set --match-set tor src -j DROP
# crontab -e
* */5 * * * /root/tor_check.sh
Проверка:
# ipset -L
2. С помощью скрипта
# iptables -N TOR
# iptables -I INPUT 1 -j TOR
# vim /root/cron-service.sh
Тут содержимое скрипта: https://github.com/ddasilva/block-tor-iptables/blob/master/cron-service.sh
# chmod +x cron-service.sh
# crontab -e
30 02 * * * /root/cron-service.sh 80 6667
Тут есть два способа (по крайней мере я нашёл):
1. С помощью ipset (предпочтительно)
2. С помощью скрипта, найденного тут: https://github.com/ddasilva/block-tor-iptables
1. С помощью ipset
# apt-get install ipset
# ipset -N tor iphash
# vim /root/tor_check.sh
#!/bin/bash
wget -q https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=ваш_ip_адрес -O -|sed '/^#/d' | while read IP
do
ipset -q -A tor $IP
done
# chmod +x /root/tor_check.sh
# /root/tor_check.sh
# iptables -A INPUT -m set --match-set tor src -j DROP
# crontab -e
* */5 * * * /root/tor_check.sh
Проверка:
# ipset -L
2. С помощью скрипта
# iptables -N TOR
# iptables -I INPUT 1 -j TOR
# vim /root/cron-service.sh
Тут содержимое скрипта: https://github.com/ddasilva/block-tor-iptables/blob/master/cron-service.sh
# chmod +x cron-service.sh
# crontab -e
30 02 * * * /root/cron-service.sh 80 6667
Комментариев нет:
Отправить комментарий