qué hacer después de una posible intrusión en el servidor web de hobby

16

Mantengo un servidor para alojar mis archivos y varios sitios web para pasatiempos y amigos. Acabo de darme cuenta de que el resumen del sitio que se devolvió en Google para uno de mis dominios estaba relacionado con pornografía (busque "fringe.org", primer resultado).

Al verificar la fuente, encontré un código php ofuscado ( vea aquí ) que no reconozco incluido en /index.php de ese dominio después de < \ / html & gt ;. Lo eliminé y luego también lo encontré y lo eliminé del index.php de otros 5 dominios en mi raíz web (aunque había 3 o 4 sin él).

Detalles del servidor:

  • LAMP con Ubuntu 10.10 completamente actualizado muy regularmente
  • PHPinfo: enlace
  • Mi contraseña es muy segura, pero he dado cuentas con acceso de escritura web a 3 o 4 amigos. No estoy seguro de cuán seguras son sus contraseñas.
  • Creo que el acceso es solo por ssh o sftp

Mi pregunta es qué pasos debo seguir ahora. Los datos y el contenido se guardan regularmente en el servidor. Me hace sentir sucio, así que me inclino a limpiar y reconstruir todo el asunto, pero estoy a 10 días del gran evento anual de mi sitio más grande.

Muchas gracias de antemano por cualquier consejo.

Bueno ... mierda . Gracias por los comentarios y la información. Es complicado lo fácil que es meterse en problemas en estos días. Habría marcado todas sus respuestas como aceptadas si pudiera, todas fueron útiles. Haré una limpieza completa y reconstruiré las cosas lo antes posible.

    
pregunta Sam Swift 06.04.2011 - 19:37
fuente

4 respuestas

10

PHP:

  1. allow_url_fopen debe estar desactivado. Creo que esta es la forma en que tienes propiedad. ¡Un gran error!
  2. display_errors debe estar desactivado. Los utilizo todo el tiempo para encontrar revelaciones de ruta.
  3. file_uploads debe estar desactivado. Esta podría haber sido otra forma en la que tuviste propiedad.
  4. expose_php debe estar desactivado
  5. safe_mode debe estar activado
  6. magic_quotes_gpc probablemente debería estar configurado en On

Estos son problemas graves. Probablemente te golpeó una botnet LFI / RFI. Necesitará instalar un nuevo servidor, pero NO COPIAR ninguno de los códigos, datos de la base de datos o archivos planos (y no reutilizar ninguna contraseña, ¡todos son sospechosos en este momento! Usted tiene la responsabilidad de cambiarlos) todas sus contraseñas y diga a sus usuarios que hagan lo mismo).

Permítame recordarle la seriedad de este ataque. Cualquier código PHP u otro contenido de su servidor puede (y probablemente lo contiene) contener otras puertas traseras. Si no tenía un monitoreo de la integridad de los archivos antes de este incidente, tendrá que crear un nuevo servidor sin este código y contenido PHP. No puede simplemente copiarlo, tendrá que volver a crearlo todo manualmente.

En segundo lugar, no puede confiar en los datos de la base de datos si usa uno, como MySQL. No puede copiar los archivos de datos de MySQL o incluso utilizar los mismos registros de datos, columnas o tablas en una nueva máquina. Debe considerar que todos estos datos tienen la capacidad de controlar cualquier máquina nueva que se coloque y enviar malware a cualquiera que visite cualquier sitio web conectado a esta base de datos o que use cualquiera de los datos de esta base de datos.

Por último, no se puede confiar en todos los archivos sin formato, incluidos los archivos importantes / etc / passwd y / etc / shadow. No puede reutilizar ninguno de estos datos y todas las contraseñas son sospechosas. Las contraseñas en sus bases de datos también son sospechosas.

Si alguien alguna vez ha SSH desde este equipo, considere también las cuentas remotas comprometidas. Si hay conectividad local en una LAN para cualquier máquina, considere esas máquinas como comprometidas también. Cualquier contraseña en cualquier archivo PHP que se conecte a otros servicios (como bases de datos externas) también debe considerarse comprometida. Todo tendrá que ser reconstituido. ¡No puedes restaurar desde copias de seguridad!

¡Está en serios problemas y probablemente necesitará contratar ayuda externa!

    
respondido por el atdre 06.04.2011 - 20:36
fuente
4

Después de experimentar un compromiso similar (pero más serio), puedo decirte que atdre tiene toda la razón. Hay cuatro pasos básicos para manejar cualquier compromiso de seguridad:

  1. Apagar : apaga todos los sistemas comprometidos. No los limpies en este punto.
  2. Analizar : utilice los datos de los sistemas comprometidos en un entorno estéril para tratar de determinar la causa y el alcance próximos. Recomendaría encarecidamente contratar a un asesor de seguridad en este momento.
  3. Revelar : informe a los usuarios afectados la naturaleza y las consecuencias de la vulnerabilidad y lo que deben hacer al respecto. Esto va a doler, pero debes hacerlo.
  4. Recuperar : destruye los sistemas comprometidos desde el espacio. Esto significa una reinstalación completa del sistema operativo o, cuando sea posible, lanzar un sistema completamente nuevo. Si necesita recuperar datos del sistema, use copias de seguridad que sean anteriores a en el momento del ataque. No utilice ningún dato que pueda estar comprometido. Si crees que puedes limpiarlo, definitivamente no puedes. Antes de volver a conectar el (los) nuevo (s) sistema (s), corrija las vulnerabilidades de seguridad que descubrió en el paso (2) y realice una auditoría cuidadosa para detectar otras posibles vulnerabilidades.

Una respuesta mucho más completa está en la siguiente pregunta. Me ayudó mucho en mi propio momento de necesidad.

enlace

    
respondido por el Rein Henrichs 08.04.2011 - 19:27
fuente
2

1) Asegúrese de que todas las bibliotecas, módulos y aplicaciones estén completamente actualizadas.

2) Deja de usar FTP . Hay gusanos que se propagan olfateando para inicios de sesión FTP.

3) Ejecute PHPSecInfo

4) Considere usar un Firewall de aplicaciones web (WAF) como mod_security.

5) Si por casualidad puede obtener una dirección IP del atacante o alguien que acceda a la puerta trasera. REPORTARLOS AL FBI . (Un WAF ayuda con esto)

(Puntos de bonificación: reemplace la puerta trasera con un simple script .php que registra la dirección IP. Si alguien la golpea, tendrá una IP para el fbi)

    
respondido por el rook 06.04.2011 - 20:36
fuente
2

Debes limpiar toda la máquina. El atacante tenía suficiente acceso a su servidor para alterar algunos archivos; Probablemente podría ejecutar código arbitrario. Desafortunadamente, las explotaciones locales de escalada de privilegios tienden a existir en grandes cantidades; una máquina debidamente actualizada no debería tener ningún control remoto , pero creer en la seguridad contra los usuarios de local es un poco ingenuo. Es probable que uno de sus usuarios haya sido pirateado (con una contraseña adivinada o que su máquina local haya sido pirateada y el atacante simplemente haya seguido la sesión de SSH).

En consecuencia, es plausible que el atacante haya instalado un rootkit que le sería muy difícil detectar desde la propia máquina (un rootkit está diseñado para hacerse invisible). De ahí la limpieza recomendada.

¿Qué sería peor? ¿Que no podría reconfigurar de manera óptima su gran sitio para su evento anual? ¿O que el sitio se convierta repentinamente en un festival de pornografía en medio de dicho evento?

    
respondido por el Thomas Pornin 06.04.2011 - 21:49
fuente

Lea otras preguntas en las etiquetas