Noticia Cómo bloquear el acceso de TOR en Apache o Nginx

En determinadas ocasiones algunos administradores se ven obligados a denegar el acceso de personas que usen Tor a sus aplicaciones web, bien usando Nginx como Apache.

Denegar el acceso de Tor en Apache:


Usando el archivo .htaccess podemos denegar el acceso a determinadas IPs, por lo que entonces solo necesitamos conocer las IPs de Tor y listo.

O sea, en cualquier parte de nuestro archivo .htaccess agregamos lo siguiente:

<Limit GET POST>
order allow,deny
allow from all
deny from {TOR_IP}
deny from {TOR_IP}
deny from {TOR_IP}
</Limit>

O sea, en cada línea ponemos una IP de Tor, por ejemplo:

<Limit GET POST>
order allow,deny
allow from all
deny from 213.163.72.224
deny from 82.94.251.227
deny from 14.0.21.39
</Limit>

Obviamente, el listado de IPs es la pieza clave de todo esto, en Lunaticoutpost.com hay un pequeño listado de IPs de proxys de Tor, también pueden encontrar un listado de IPs de Tor en TorProject.org, sería agregar cada IP de esas y listo.

Luego para aplicar los cambios recargamos Apache y listo:

service apache2 reload

Denegar el acceso de Tor en Nginx:


Usando Nginx podemos denegar el acceso directamente en el vhost (también pudimos hacerlo así en Apache, pero preferí mostrarlo con htaccess), editando nuestro archivo vhost (por ejemplo, /etc/nginx/sites-available/mi.sitio.com) agregamos unas determinadas líneas PERO!, deben ser agregadas entre server { y el último } … por ejemplo:

server {
deny {TOR_IP};
deny {TOR_IP};
deny {TOR_IP};
access_log /var/log/nginx/misitio_access.log;
error_log /var/log/nginx/misitio_error.log;
server_name www.misitio.net;
root /var/www/misitio/;
.... montón de cosas más ...

Por ejemplo:

server {
deny 213.163.72.224;
deny 82.94.251.227;
deny 14.0.21.39;
access_log /var/log/nginx/misitio_access.log;
error_log /var/log/nginx/misitio_error.log;
server_name www.misitio.net;
root /var/www/misitio/;
.... montón de cosas más ...

O sea, en cada línea ponen cada IP y la terminan con el símbolo punto-y-coma (;), es importante poner siempre en Nginx ; al final de cada línea pues de lo contrario da error.

O bien, podemos poner que incluya otro archivo, supongamos que en /etc/nginx/ tenemos un archivo llamado tor.lst, cada línea de ese archivo es:

deny {TOR_IP};
...

O sea, cada línea es como:

deny 82.94.251.227;



En el vhost ponemos:

server {
include /etc/nginx/tor.lst;
access_log /var/log/nginx/misitio_access.log;
error_log /var/log/nginx/misitio_error.log;
server_name www.misitio.net;
root /var/www/misitio/;
.... montón de cosas más ...

Y listo, es una forma más ordenada de hacer lo que queremos.

Para hacer efectivas las nuevas reglas reiniciamos Nginx:

service nginx reload

Hecho esto ya nadie que use alguna IP de las especificadas podrá acceder al sitio.

¿Truco?


Como pueden apreciar, especificar que se niegue el acceso a determinadas IPs es algo bastante simple tanto en Apache como en Nginx, entonces, el truco está en saber qué IPs denegar, es ahí donde entran listados como el de TorProyect.org, que nos brindan toda la información que necesitamos.

¿Motivos para bloquear Tor?


Primero que todo, aclarar que yo no estoy en contra de la privacidad ni mucho menos, los que me conocen (como elav) saben que puedo ser bastante paranoico cuando a seguridad se refiere (o sea, tengo un firewall para el firewall de mi laptop LOL!), pero no es un secreto que muchas veces hace falta bloquear el acceso desde redes anónimas como Tor para así evitar algunas personas indeseables que con malas intenciones, pretendan estropear o perjudicar el trabajo de otros.

Por ejemplo, desde redes como Tor es que se ejecutan la mayoría de los ataques de cracking a sitios (bien con diccionario o fuerza bruta), denegando el acceso a Tor se está automáticamente añadiendo una protección al sitio, pues nadie ‘escudándose’ en ese anonimato podría dañar a otros.

También, no es un secreto que en los últimos años los ataques DDoS se han puesto de moda, que muchos ataques provienen de personas que usan este tipo de redes como Tor, evitando que se acceda al sitio se evita procesamiento PHP, por lo que digamos también que es una pequeña protección contra DDoS.

Fin!


Bueno, espero que les haya sido de interés. Por favor, recuerden, DesdeLinux no fomenta el no-anonimato ni mucho menos (de hecho, aquí en DesdeLinux se permite el acceso de usuarios Tor), tampoco incita a otros a bloquear Tor o no en sus sitios, esto es una decisión de cada administrador, lo que sí en DesdeLinux damos las herramientas o tutoriales para que los interesados en aprender puedan hacer precisamente eso, aprender algo nuevo, de su interés.

Saludos


GkgVVE3qQDE


Continúar leyendo...