it-swarm-es.com

¿Es una buena práctica una lista negra de direcciones IP para prevenir ataques a sitios web?

Mi sitio web tiene una lista negra de direcciones IP. La aplicación web, de alguna manera, detecta todas las influencias no válidas y sospechosas, recuerda la dirección IP y rechaza cualquier solicitud de esa dirección IP.

Entonces mi pregunta es: ¿Es una buena práctica, una forma de prevenir ataques de esta manera?

RESUMEN (AÑADIDO):

Quiero resumir todas las respuestas, como sea posible:

  • lista blanca (ubicaciones de confianza)
  • lista gris (lista de atención alta)
  • bloqueo temporal
  • detección de dirección estática y dinámica
  • detección inteligente y flexible
12
garik

Yo diría que no se moleste en incluir demasiado las direcciones IP en la lista negra:

  • Hay demasiados falsos positivos, ya que hay muchas situaciones de IP compartidas: proxies, lugar de trabajo, ISP que usan DHCP itinerante, etc.
  • Es demasiado fácil evitarlo. Un tipo realmente malo simplemente obtendrá una IP diferente, si realmente quiere atacarte.

Sugeriría una "lista gris" de direcciones IP, es decir, si reconoce el tráfico incorrecto, "vigile" esas direcciones.

8
AviD

Una lista negra de IP puede ayudar, pero no confíe en ella como su único medio de seguridad.

También querrá tener mucho cuidado al prohibir los bloques de IP o los robots de los motores de búsqueda. Es posible que también desee mantener una lista blanca de IP que sean falsos positivos para sus influencias sospechosas.

5
VirtuosiMedia

Siempre que las influencias sospechosas no sean demasiado estrictas. No quieres bloquear a un buen usuario.

3
James T

En principio puede ser bueno.

Sin embargo, depende de cuánto tiempo bloquee las direcciones IP. También debe considerar que algunos usuarios, como los que usan AOL, si mal no recuerdo, vienen a través de servidores proxy, por lo que muchos usuarios compartirán la misma dirección IP y, como resultado, podría bloquear a muchas personas. Otra consideración es que Office, Universidades, etc. también pueden tener muchas computadoras compartiendo la misma IP y esa es otra amplia gama de personas que podría terminar bloqueando para las acciones de un usuario.

Quizás podría bloquear por un corto período de tiempo o bloquear mediante una combinación de agente de usuario y dirección IP para limitar el efecto de bloqueo.

2
Mark Davidson

Depende. Si su aplicación es un servidor SMTP, puede asumir con seguridad que todo el tráfico entrante debe provenir de IP estáticas, es decir, si el mensaje proviene de IP dinámica, probablemente sea spam o virus enviado desde algún tipo de botnet. En tal caso, es muy buena idea evitar que se conecten y creo que es una buena práctica.

2
Paweł Dyda

En general, diría que sí, puede ser un control bastante efectivo. Un problema que podría tener son los usuarios que ingresan a través de un proxy, que puede parecer que todos provienen de una dirección IP, bloquear una podría bloquearlos a todos. A veces, puede usar el encabezado X-Fordered-For para diferenciar las solicitudes de una dirección IP de origen, pero eso no está necesariamente presente en todas las solicitudes con proxy.

1
Rory McCune

Tenga cuidado con las configuraciones del servidor en las que, por ejemplo, en Rackspace, el _SERVER [REMOTE_IP], que suele ser la dirección IP de los usuarios, es en realidad un servidor proxy que soporta carga.

Sin embargo, el encabezado REMOTE_IP es realmente el único encabezado no falsificable en términos de la IP real del usuario.

HTTP_X_CLUSTER_CLIENT_IP y HTTP_X_FORWARDED_FOR (por nombrar algunos), por ejemplo, pueden ser falsificados por un atacante/sistema de ataque.

Muchos de los complementos de seguridad de complementos de CMS que he visto intentan filtrar las entradas utilizando un enfoque en cascada de encabezados potenciales y luego prohibir la dirección IP de solicitudes incorrectas, tienden a apilar la mayoría de los encabezados enviados por el cliente o proxy común primero, siendo REMOTE_ADDR el último en la lista, esto para un atacante es trivial de omitir, por lo que, en efecto, toda la aplicación se vuelve inútil ya que una nueva dirección IP de cliente puede enviarse potencialmente con cada solicitud no autorizada.

Prohibir la dirección IP incorrecta en una configuración agrupada podría resultar en la prohibición de su sitio web, y permitir que se prohíban las IP falsificadas puede permitir que un atacante envíe una IP falsificada del servidor web o un proxy de línea ascendente al servidor web, lo que da como resultado el mismo efecto.

O cuando se utilizan IP incluidas en la lista blanca, el atacante también podría enviar las solicitudes no autorizadas con la IP incluida en la lista blanca.

El mejor método que se me ocurrió en estas situaciones es: cuando hay otros encabezados presentes además del REMOTE_IP, la regla número uno siempre es filtrarlos para asegurarse de que esos encabezados realmente contengan una dirección IP, luego sí, utilícelos para determinar los usuarios La dirección IP, sin embargo, deshabilite la prohibición de ip (si se está empleando) en ese caso, y simplemente vaya con un encabezado 403 y una llamada de página die () para bloquear una solicitud no autorizada real en lugar de prohibir la dirección IP.

Después de todo, es la solicitud deshonesta lo que desea evitar completar más que cualquier otra cosa. Prohibir las direcciones IP es más un problema cuando un atacante está golpeando su sitio a través de múltiples servidores proxy anónimos para crear una denegación de servicio.

1
Taipo