Evitar que los usuarios se conecten a través de servidores PROXY

No hace mucho tiempo, surgió la pregunta cómo bloquear el acceso de los servidores proxy a su sitio web. Aparentemente se había tomado el tiempo para compilar una lista negra proxy de más de 9,000 dominios, solo para descubrir después que la estrategia formulada de listas negras de htaccess no funcionó como se esperaba. Aquí está la directiva htaccess ineficaz que se utilizó:

Deny from proxydomain.com proxydomain2.com

La inclusión en la lista negra de servidores proxy mediante el bloqueo de dominios individuales parece un ejercicio inútil.

Aunque hay una buena cantidad de dominios proxy confiables y consistentes que podrían bloquearse directamente, la gran mayoría de dichos sitios están cambiando constantemente. Se necesitaría un equipo de profesionales trabajando las 24 horas para mantenerse al día con todos ellos.

Como se explica en mi respuesta al comentario, lo que requiere Apache para procesar más de 9.000 htaccess entradas para cada solicitud podría resultar desastroso:

La pregunta es, incluso si pudieras usar htaccess para bloquear más de 9,000 dominios, ¿realmente querrías hacerlo? Si considera el impacto potencial en el rendimiento y la carga excesiva en los recursos del servidor asociados con el procesamiento perpetuo de una lista tan monstruosa, puede inspirarlo a buscar una alternativa más saludable y quizás más efectiva.

Una mejor manera de bloquear servidores proxy

En lugar de intentar bloquear los servidores proxy por quienes son (es decir, a través de su identidad de dominio especificada), es mucho más conveniente y efectivo bloquear los servidores proxy por lo que hacen . Simplemente haciendo una lista negra de los diversos protocolos HTTP empleados por los servidores proxy, es posible bloquear prácticamente todas las conexiones proxy. Aquí está el código que uso para detener el 99% de los servidores proxy que intentan acceder a ciertos sitios:

# block proxy servers from site access #

RewriteEngine on

RewriteCond %{HTTP:VIA}                 !^$ [OR]

RewriteCond %{HTTP:FORWARDED}           !^$ [OR]

RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]

RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]

RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]

RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]

RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]

RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$

RewriteRule ^(.*)$ - [F]

Para usar este código, agrega este código en el archivo htaccess raíz de tu sitio.

Súbelo a tu servidor y prueba su efectividad a través del servicio o servicios proxy que elijas.

Puede que no sea perfecto , pero en comparación con la lista negra de un millón de dominios proxy, es liviano, conciso y muy efectivo ;)


Comments:

No comments
You need to sign in to comment

Rate

Your rate:
Total: (0 rates)

Next article