Como dice el asunto, no quiero redes Tor rondando mi servidor, uno no sabe el objetivo de su visita, por lo tanto, DROP para todos esos IPs.
Bueno la idea la tomé de un blog, bloqueado para Cuba, porque parece que seguimos como estado que patrocina el terrorismo, aún saliendo de dicha lista[29 mayo del 2015], hace ya un tiempito…
En el blog Cyberciti.biz, hay un post acerca de bloquear un rango de IPs mediante un archivo de texto, yo, al ver la necesidad de bloquear las redes Tor, tomé dicho script, y lo modifiqué para adaptarlo a mi necesidad y salió esto…
#!/bin/bash
# ----------------------------------
# Block Tor IPs script
# Just change your network interface
# Add SSH support, disabled by default
# ----------------------------------
# You can fetch tor ip list from:
# https://www.dan.me.uk/torlist/
# Input file path with Tor IPs
_input=/opt/firewall/tor_ips.db
# INPUT Interface
_pub_if="eth0"
IPT='/sbin/iptables'
# Die if file not found
[ ! -f "$_input" ] && { echo "$0: File $_input not found."; exit 1; }
# DROP and close everything
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# Unlimited lo access
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# Allow all outgoing connection but no incoming stuff by default
$IPT -A OUTPUT -o ${_pub_if} -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i ${_pub_if} -m state --state ESTABLISHED,RELATED -j ACCEPT
### Setup our black list ###
# Create a new chain
$IPT -N droplist
# Filter out comments and blank lines
# store each ip or subnet in $ip
egrep -v "^#|^$" x | while IFS= read -r ip
do
# Append everything to droplist
$IPT -A droplist -i ${_pub_if} -s $ip -j LOG --log-prefix " Drop Bad IP List "
$IPT -A droplist -i ${_pub_if} -s $ip -j DROP
done <"${_input}"
# Finally, insert or append our black list
$IPT -I INPUT -j droplist
$IPT -I OUTPUT -j droplist
$IPT -I FORWARD -j droplist
# drop and log everything else
$IPT -A INPUT -m limit --limit 5/m --limit-burst 7 -j LOG
$IPT -A INPUT -j DROP
Donde tor_ips.db es un listado de IPs de la red Tor que se puede descargar de [1], y lo demás es crear un archivo .sh con el nombre que deseen en /opt/firewall, en mi caso lo llamé block_tor.sh. Y listo, sólo lo deben poner a ejecutarse cuando inicien el sistema.
Por lo demás deben poner una tarea programada en el cron, para que cada una hora, la lista se actualice descargando el archivito de [1], y muerto el perro se acabó la rabia.
Un saludo y espero les sirva.
[1] https://www.dan.me.uk/torlist/





