¿Utilidad para crear una lista de exclusión de IP? [cerrado]

2

¿Hay alguna utilidad que pueda ayudar a crear una lista de exclusión de IP?

Escenario: recientemente sufrió un ataque de fuerza bruta donde 50000 intentos de inicio de sesión fallidos provinieron de una multitud de direcciones IP diferentes.

Pregunta: ¿Existe alguna utilidad que pueda tomar una lista de direcciones IP y ayudar a construir una lista de exclusión de IP? IE ... ¿Tomar puntos en común de la lista de IP y crear un rango de IP para bloquear?

Descargo de responsabilidad: la seguridad no es mi fondo. Vengo de un mundo de programación y he trabajado con computadoras por más de 20 años, pero nunca con un enfoque principal en seguridad. Así que me disculpo por adelantado si mi pregunta no está a la altura de los profesionales de seguridad que hay por ahí.

    
pregunta Jim P. 29.05.2015 - 18:28
fuente

3 respuestas

3

Tienes un requisito único. Pero tu base puede estar fuera.

Usaré un incidente que encontré esta semana como ejemplo. Descubrí un ataque de 50 direcciones IP de un bloque de direcciones IP administradas por una empresa de alojamiento en Hong Kong. Tendría sentido, entonces, bloquear todas las IP de esta empresa de alojamiento, al menos temporalmente. Creo que esto es similar al escenario que tienes en mente.

Para lograr esto, tendría que ejecutar un whois en las direcciones IP, vincularlas a un titular común y completar su lista con el bloque de direcciones IP. Programáticamente, esto es trivial si el caso de uso es como lo definí.

¿Pero qué pasa si el propietario del bloqueo de IP es AWS? ¿Bloqueas todos los AWS? Para algunos sitios, esto podría ser una cosa válida para hacer. Entonces, ¿qué sucede si el atacante detecta el bloqueo (es una característica común en las redes de bots) y cambia a otro sitio de alojamiento? ¿Añades este nuevo bloque a la lista? Proyecte este proceso en el futuro, donde ahora está bloqueando a todos los principales proveedores de alojamiento e incluso a algunos ISP (si las botnets se cambiaran a computadoras personales y su secuencia de comandos agregó los bloques de IP de Comcast). Ahora has hecho tu propio servicio.

El problema, entonces, no es el proceso de agregar bloques de IP, pero el problema no es agregar demasiado.

La forma típica en que los profesionales de seguridad resuelven este problema es bloquear cada IP individualmente. Fail2ban es una utilidad común para hacer esto.

O, si sabe que ciertos países normalmente no están usando su servicio, puede usar bases de datos geo-IP y solo permitir (o bloquear) ciertos países.

    
respondido por el schroeder 29.05.2015 - 20:27
fuente
1

Creo que es necesario abordar este problema desde una dirección diferente. Hay un número de problemas con su solución propuesta

  • Es una pesadilla de mantenimiento.
  • Es una solución reactiva en lugar de proactiva. Solo agregarás IPs bloqueadas una vez las IPs han intentado entrar. Esto podría ser demasiado tarde
  • Ignora el problema de que muchas direcciones IP se asignan dinámicamente. Solo porque tu fueron atacados desde una IP específica ayer, no es necesario mantener que lo mismo El individuo está usando esa IP hoy.

En general, el punto de partida con los firewalls tradicionales es que comienzas por el bloqueo. Todo y luego empezar a abrir solo lo que se necesita. Cuando esto comienza a ser un problema, con frecuencia identifica una debilidad de la arquitectura subyacente.

Por ejemplo, si tengo un servidor, comenzaré por bloquear todas las conexiones entrantes y luego mire los servicios que estoy ejecutando y evalúe dónde deben ser accedidos desde. Si estoy ejecutando un servidor web, ¿necesita acceso desde cualquier lugar? ¿Solo necesito acceso desde la red de mi empresa o una subred dentro de esa red?

Si necesita acceso desde cualquier parte, permitiré el acceso a todas las direcciones IP eso. Si solo se necesita acceder desde la red de mi empresa, solo permitiré el acceso de ese rango de IP.

Según la arquitectura del sistema y los requisitos de la aplicación, un cortafuegos básico puede no ser suficiente Por ejemplo, usted tiene una aplicación web que en general necesita estar abierto al mundo, pero hay direcciones URL dentro de la aplicación utilizada para Administración que desea bloquear solo a una pequeña cantidad de direcciones IP. En En este caso, la aplicación proporcionará el nivel de control de acceso que necesita. es decir, muestra un error de página prohibida para solicitudes de cualquier IP que no sea parte de la lista de administradores o tiene un firewall de aplicación que se encuentra entre su frontera firewall y su aplicación.

A veces, el problema es que necesita proporcionar acceso de administrador a un recurso, pero no sabes de qué dirección IP vendrá el usuario. En estas situaciones, usted podría tener que insistir en que la persona administradora utilice una VPN de la empresa, lo que les permitirá para conectarse desde cualquier lugar, pero restringirá su dirección de cliente a un rango dentro de su subred VPN. Alternativamente, puede usar alguna forma de proxy inverso donde el La persona de administración debe conectarse a través de un proxy autenticado y la dirección IP para El recurso está restringido a la IP del proxy. El problema con esta solución es que posiblemente ahora verás ataques contra tu proxy. Sin embargo, esto podría estar bien Como ha agregado otra capa de complejidad que puede proporcionar suficiente Protección: ahora los atacantes primero deben comprometer su proxy y ellos deben comprometer su Servicio de administración (suponiendo que usen contraseñas diferentes, por supuesto).

También hay firewalls que proporcionan instalaciones de IDS + IPS. El IDS busca comportamiento sospechoso, como un gran número de solicitudes de autenticación fallidas a un Servicio. Cuando se detecta un evento de este tipo, se activa el IPS para poner una Bloquear / soltar en la IP de origen. Tales sistemas pueden ser muy buenos, pero pueden ser difíciles Para configurarse correctamente, a menudo se necesita un poco de mantenimiento y se necesita monitoreado para detectar problemas con cosas como falsos positivos que podrían resultar en tráfico legítimo siendo bloqueado.

El otro enfoque que puede hacer es limitar el índice de recursos. Intentos de fuerza bruta Depende de poder realizar un gran número de intentos en un corto período. Si tu límite de velocidad de la solicitud, los ataques de fuerza bruta pueden volverse imprácticos porque toman demasiado largo. Un ejemplo común es tener una página de inicio de sesión donde se usa un retraso en respondiendo a intentos fallidos de inicio de sesión. A medida que aumenta el número de intentos de inicio de sesión, el retraso aumenta.

En lugar de bloquear direcciones, buscaría una solución que le permita Sólo permita direcciones específicas a las áreas que le preocupan. Si esto no es posible porque es algo así como una página de inicio de sesión general para sus clientes y usted no puedo saber de qué direcciones IP provienen, entonces estaría mirando qué IDS / IPS adicionales que puede implementar en la aplicación o Nivel de firewall de la aplicación. Si no tiene otra solución que bloquear direcciones IP, Estaría buscando una solución que permita el bloqueo temporal y que elimine Los bloques después de un período aceptable. Para ser efectivo, el bloqueo debe ser un proceso automatizado: bloqueo de direcciones IP después de un intento de ataque de fuerza bruta Por lo general, cerrando la puerta después de que el caballo ha huido.

    
respondido por el Tim X 30.05.2015 - 03:15
fuente
-1

Si se accede principalmente a su sitio web desde EE. UU. y no le importa el resto del mundo, es muy fácil y efectivo permitir solo bloqueos de IP por país y negar el resto del mundo.

Es lo que hago.

    
respondido por el Kris 30.05.2015 - 04:46
fuente

Lea otras preguntas en las etiquetas