Bloquear las peticiones de los nodos de salida de Tor en tu servidor Linux

En un servidor Linux que gestiono estoy teniendo ataques continuos desde direcciones IP de los nodos de salida de Tor. Estos ataques hacen que la máquina consuma muchos más recursos de los que debería. Para resolverlo lo que hice fue bloquear todas las direcciones de los nodos de salida de Tor con el cortafuegos iptables.

Lo primero que hice fue instalar ipset, una aplicación que viene con iptables y que permite configurar reglas para bloquear rápida y fácilmente un conjunto de direcciones IP, entre otras cosas.

$ sudo apt-get install ipset

A continuación, en ipset creo un nuevo grupo llamado «filtro-tor»:

$ sudo ipset create filtro-tor hash:ip

Creo un script para añadir las IP de los nodos de salida de Tor a este grupo que acabo de crear. Estas direcciones son de acceso público en la URL https://check.torproject.org/torbulkexitlist:

$ vi ~/scripts/filtrar-ip-tor.sh

El contenido del script es el siguiente:

#!/usr/bin/env bash
# Elimino las IP en el grupo filtro-tor
ipset flush filtro-tor
# Obtengo la lista de IP de los nodos de salida de Tor y los añado al grupo filtro-tor
curl -sSL "https://check.torproject.org/torbulkexitlist" | sed '/^#/d' | while read IP; do
    ipset -q -A filtro-tor $IP
done
# Aplico el grupo filtro-tor a iptables
iptables -A INPUT -m set --match-set filtro-tor src -j DROP

Le doy permiso de ejecución al script:

$ sudo chmod +x filtrar-ip-tor.sh

Lo ejecuto

$ sudo ./filtrar-ip-tor.sh

Lo añado al cron, para que se ejecute diariamente a las 5:00 de la mañana, actualizando el listado de IP y también cuando arranca la máquina. Para ello ejecuto la edición del cron:

$ sudo crontab -e

Y añado las siguientes líneas en el fichero de cron:

# Actualizo las IP filtradas de nodos de salida Tor
00 5 * * * /home/amieiro/scripts/filtrar-ip-tor.sh > /dev/null 2>&1
@reboot /home/amieiro/scripts/filtrar-ip-tor.sh > /dev/null 2>&1

Más información:

One thought on “Bloquear las peticiones de los nodos de salida de Tor en tu servidor Linux

  1. Que buen dato! No lo tenia para nada, no solo se lo puede implementar en Linux, si no también, con un poco de ingenio en un router Mikrotik.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.