Cómo reaccionar cuando está bajo ataque

15

Esta semana, alguien ha intentado atacar el servidor de la empresa donde trabajo. Me he dado cuenta de que han estado tratando de fuerza bruta raíz a través de ssh. fail2ban lo está manejando muy bien y, en primer lugar, nunca permití los inicios de sesión de contraseña para root, por lo que no es realmente un problema, pero también lo fueron después de nuestro sitio web.

Usamos el marco PHP de Laravel que tiene algunos errores bastante detallados. Deben haber encontrado al menos un agujero de divulgación de ruta completa a estas alturas. He inspeccionado los registros de mod_security y parece que solo nos están ejecutando un escáner de seguridad. Han estado probando un montón de exploits para software que en realidad no tenemos instalado. De todos modos, han estado en casi una semana y estoy empezando a preocuparme.

¿Qué es lo mejor que puedes hacer en este momento? Los ataques no son tan sofisticados, pero son ataques no obstante. ¿Cómo puedo convencer a mi jefe y compañeros de trabajo de que cualquier acción que debemos tomar es necesaria?

    
pregunta 735Tesla 16.03.2014 - 14:42
fuente

4 respuestas

7

Su mejor opción es instalar un firewall de aplicación web como mod_security y aplicar reglas para eliminar esto en el extremo. Aplique Duo Security para no permitir comandos sudo no validados de una cuenta comprometida.

  

fr00yl00p dice:

     
  • Configure el sistema para que le avise al iniciar sesión (por ejemplo, por correo en sshrc y bashrc)
  •   

Esto se vuelve demasiado engorroso y complejo si tiene sistemas que realizan mantenimiento, e, g, SNMPv3, cualquier tipo de cuentas rsync, etc. Un mejor mecanismo sería un alias del último comando escrito en el terminal cada vez que inicie sesión. Duo se detendrá mucho, así que échale un vistazo.

  

fr00yl00p dice:

     

Deje que su cortafuegos deje caer conexiones con patrones de ataque obvios. (por ejemplo, enlace )

Esto no es un mecanismo viable y tendría que crear una lista blanca en paralelo. Considera el hecho de que puedo simular conexiones pretendiendo ser cualquiera. Imagine que genero suficientes mensajes falsificados para simular, por ejemplo, un CIDR / 16, / 8 o incluso / 2.

  

fr00yl00p dice:

     

Instale PHPIDS ( enlace )

A menos que esté dispuesto a convertirse en un analista de respuesta a incidentes, perderá tanto tiempo persiguiendo falsos positivos, eventualmente ignorará las alertas de IDS e IPS, incluso las personas DFIR bien entrenadas pasaron horas y horas constantemente. modificando Por no hablar de alguien que no está acostumbrado a usar un IDS, ni a interpretar su salida.

Al igual que con otras recomendaciones, no necesita bloquear rangos completos para un servidor web si configura un WAF correctamente. En uno de mis sitios, POR FAVOR mantengo Joomla 1.5 en funcionamiento y no me preocupo por los compromisos ya que mi WAF está escrito para permitir solo un POST de mi dirección estática. Su simplicidad en su máxima expresión. Mi sitio web está diseñado SOLO para permitir que los GET no sean POST, por lo que no hay necesidad de seguir las reglas.

También debe ser consciente de que las máquinas infectadas generan mucho tráfico, por lo que no está deteniendo o bloqueando a un atacante, sino que está bloqueando una máquina infectada. Así que no me atrevería a bloquear bloques de IP completos en una página web. Servidor de correo, servidor ssh seguro. De hecho, debe tener un " BLOQUEAR TODO " predeterminado en su servidor web, SOLAMENTE permitiendo su dirección a servicios como SSH. Sin embargo, los diseños / necesidades de cada uno difieren

    
respondido por el munkeyoto 17.03.2014 - 20:57
fuente
3
  • Asegúrese de tener todos los parches disponibles instalados
  • Configure el sistema para que le avise al iniciar sesión (por ejemplo, por correo en sshrc y bashrc)
  • Deje que su firewall suelte las conexiones con patrones de ataque obvios.  (por ejemplo, enlace )
  • Limite el tamaño máximo de solicitud si es posible ( enlace , enlace )
  • Instale PHPIDS ( enlace )
  • Haga una instantánea del estado de su sistema ( enlace )  y verifique cada día (o más a menudo) con un trabajo cron
  • Haz una copia de seguridad!
  • Configure el firewall (basado en host y en red) para restringir también los paquetes salientes
  • Bloquea los rangos completos de IP que no necesitas. Consulta 'whois' para averiguar los rangos (por ejemplo, whois 62.61.60.59 y bloque 62.61.32.0/19). ¡Pero ten cuidado!
  • Dígale a su proveedor.
respondido por el fr00tyl00p 17.03.2014 - 20:11
fuente
1

Ponga el SSH detrás del firewall y requiera una VPN para acceder a la caja, que corta un gran vector de ataque y probablemente hace que sea más difícil explotar cualquier nivel de penetración de la aplicación.

    
respondido por el Wyatt Barnett 18.03.2014 - 23:12
fuente
0

Al menos hablaría con su compañía de hosting. Es posible que tengan algunas formas de ayudar, por ejemplo, bloqueando los rangos de direcciones IP antes de que puedan comunicarse con usted, tal vez también pueden configurar otras capas de defensa.

    
respondido por el codingoutloud 17.03.2014 - 17:22
fuente

Lea otras preguntas en las etiquetas