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

Comparte para difundir

Si te ha gustado nuestro contenido ahora puedes ayudar a difundirlo en las redes sociales de manera sencilla usando los siguientes botones:

Envía
Pinea
Print

12 comentarios

  1.   Staff dijo

    Saltarse esa protección, es tan fácil como seguir utilizando TOR detrás de una VPN u otro proxy.
    cliente->TOR->VPN/proxy->Web.
    Y no requiere conocimientos avanzados, el método mas fácil seria instalar el TOR browser y se accede a un web proxy como anonymouse, hidemyass o de ese estilo y listo, ya se puede acceder a la pagina en cuestión.
    Se tiene una nueva IP dinamica que no esta en una lista fácil de bloquear.

  2.   Sabadon dijo

    Suerte que hay formas de saltarse esas restricciones.
    Si perdemos el anonimato, que nos queda.
    Y no solo eso, si no que TOR es una buena forma de saltarse proxys en instituciones y/o países.

  3.   Guid0Ignaci0 dijo

    De donde sacaste la info esta?

    “desde redes como Tor es que se ejecutan la mayoría de los ataques de cracking a sitios (bien con diccionario o fuerza bruta)”

    Alguna fuente?

    Generalmente los ataques de fuerza bruta, por experiencia propia, son de Asia. Te conviene más bloquear a dicho continente que a TOR.

    Además bloquear una por una cada ip???? Porque no lo haces por rango. Osea colocas estos:

    deny from 23.80.226.2
    deny from 23.80.226.4
    deny from 23.80.226.5

    acaso la ip 23.80.226.3 no es de TOR?

    Práctico sería bloquear entonces asi:

    deny from 23.80.226.0/255.255.255.0
    o por CIDR
    deny from 23.80.226.0/24

    No obstante no le veo utilidad al post, creo que el título es erróneo. Hubiese sido mejor poner “Como bloquear visitas por ip”, ahi cambiaría la cosa

    Un abrazo

    1.    KZKG^Gaara dijo

      “redes como tor” == Tor, VPN de Asia, etc. No me refiero única y exclusivamente a Tor, sino a redes de ese tipo.

      Referente a los rangos de IP, hago hincapié en usa el listado que brinda TorProyect.org precisamente, porque en ese listado están los rangos a tener en cuenta. Si en el ejemplo que pongo en el post no puse ningún rango y sí IPs, bueno, debo haberlo pasado por alto, no obstante repito, menciono en determinadas ocasiones que se deben usar los listados.

      Sobre lo de la utilidad o no del post, bueno… cada cual tiene su opinión.

      Saludos

    2.    Essaú dijo

      totalmente de acuerdo con Guid0Ignaci0, como mínimo, el título de la entrada es muy desafortunado. Técnicamente trata de filtrar IP’s en servidor.
      Es irrelevante y triste elegir para ello IP’s de Tor. En lo tiempos en que vivimos, ante el acoso de la NSA, y el recorte de las libertades civiles y los derechos humanos (en el mundo en general y en España en paticular), una red como Tor es esencial para ser denfendida (no censurada-filtrada).
      Sería mucho más didáctico, si necesitas IP’s para filtrar, que elligas las de la C.I.A, o Microsoft, o la Conferencia Episcopal Española, o el repugnante Partido Popular de España.

  4.   guillermoz0009 dijo

    Como siempre excelente articulo.

    1.    KZKG^Gaara dijo

      Gracias 🙂

      1.    CubaRed dijo

        Ahi algun modo de personalizar el Error de 403 en Nginx?

        1.    Staff dijo

          Supongo que bastara con que exista el archivo (403.html en la carpeta raíz) con la apariencia que quieras y que en el nginx.conf apunte a el.

          1.    CubaRed dijo

            tines algun ejemplo de conf de como es que hace… en nginx

          2.    Staff dijo

            @CubaRed
            No tengo ningun Nginx instalado de momento, no puedo darte un ejemplo completo del .conf, pero una búsqueda rápida en google me arroja las lineas a añadir.

            error_page 403 /403.html;
            location = /403.html {
            root html;
            allow all;
            }

            Y estas para que el archivo no sea accesible para los usuarios sino hay un error.

            error_page 404 /404.html;
            location /404.html {
            internal;
            }

            Después sera cosa de guardar cambios y reiniciar el servicio.

  5.   579 dijo

    MUY BUENO TODO PERO CASI LO Q PONES AQUI DE BLOQUEO LE ESTAS BRINDANDO AL GOVIERNO DE CUBA BLOQUEAR TODAS ESTAS HERRAMIENTAS COMO TOR Y YOUR FREEDOM QUE SON LAS MAS UTILIZADAS PARA NAVEGAR POR INTERNET NOSOTROS UTILIZAMOS CONECCION VPN PARA NAVEGAR PORQUE NO SE TIENE ACCESO A INTERNET Y LO Q UTILIZAN PARA BLOQUEAR ES UN SERVER EN DEBIAN LINUX CON IPTABLE + SQUID Y OTRAS COSAS PARA BLOQUEAR EL ACCESO A INTERNET MAS Redireccionamiento DNS Y MAS SSL Certificates FALSOS PARA Q DECIRTE CASI LOS AMID ENTRAN Y PREGUNTAN PORQUE NO SABEN BLOQUER TODO ESTO MUY BIEN SI SABES OTRA HERRAMIENTA PARA SALTAR TODO ESTO ME LO PUEDES DECIR POR MI EMAIL YA TOR NO ME FUNCIONA Y YOUR FREEDOM NO SIEMPRE SE CONECTA NO ES DIFICIL BLOQUEARLAS PERO POR LO MENOS Q PASEN UN POCO DE TRABAJO AHORA TENGO ACCESO A INTERNET PERO AMIGOS MIOS NO LO TIENE POR ESO TE PREGUNTO SI SABES ALGUNA HERRAMIENTA PARECIDA A YOUR FREEDOM Q AGA CONECCIONES POR DNS Q ES LO Q MAS O MENOS SE PUEDE UTILIZAR EN CUBA GRACIAS Y ESPERO SU RESPUESTA

Deja un comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.