Si mi servidor estaba comprometido, ¿es segura mi base de datos?

0

Tengo una instancia de AWS que ejecuta una aplicación de rieles que no mantengo activamente. Como no hice un seguimiento de lo que estaba sucediendo con esta aplicación, no la actualicé rápidamente cuando se descubrieron todas las vulnerabilidades de los rieles, por lo que creo que hay una buena probabilidad de que se haya comprometido. Quiero guardar parte de los datos en él mediante el envío de una copia de la base de datos (SQLite, si es importante) antes de borrarla. ¿Es seguro hacerlo y volver a colocar la base de datos una vez que se haya eliminado todo? ¿Hay alguna manera de verificar la base de datos para ver si es segura?

    
pregunta user20771 14.02.2013 - 10:04
fuente

3 respuestas

1

No se puede confiar en su base de datos. Como mínimo, restablezca todas las contraseñas administrativas almacenadas en la base de datos, si tiene un pequeño grupo de usuarios, restablezca todas las contraseñas. Tampoco debe confiar en que las cuentas falsas no se crearon de forma arbitraria o que las direcciones de correo electrónico de las cuentas de administrador cambiaron. También me aseguraría de que la cuenta que ejecuta su servidor web no tenga una contraseña establecida y no pueda iniciar sesión. (Suponiendo una configuración de Linux donde apache / nginx normalmente se ejecuta como usuario www-data ).

La reciente vulnerabilidad de los rieles le dio a los atacantes expertos la capacidad de ejecutar comandos remotos arbitrarios en su servidor a través de incrustando un objeto codificado en YAML en una solicitud HTTP XML . Sería difícil descartar que fuiste atacado; normalmente lo mejor sería consultar los registros de su servidor web, sin embargo, un atacante experto podría alterar estos registros (ya que su usuario del servidor web tiene permiso para actualizar estos registros) y estos ataques podrían haber sido explotados en cualquier momento en los últimos 6 años (incluso antes de que se hiciera público) es probable que sus registros no retrocedan lo suficiente.

    
respondido por el dr jimbob 14.02.2013 - 14:05
fuente
2

Hay un par de maneras de verificar la validez de sus datos. No encontrar signos de manipulación no significa que sus datos no se vieran comprometidos porque los registros también podrían verse comprometidos. Los registros deben mantenerse en un contenedor de seguridad diferente.

  • Compruebe si hay cambios en una copia de seguridad. Incluso si la copia de seguridad es antigua, aún podría identificar cambios en los datos antiguos.
  • Verifique los registros del servidor HTTP para las solicitudes que podrían haber tocado los datos.
  • Verifique los registros del servidor DB para consultas que cambian los datos de una manera diferente a como lo hace la aplicación web. Puede eliminar las consultas válidas e identificar las maliciosas clasificando las consultas por tipo y cantidad.
respondido por el Cristian Dobre 14.02.2013 - 10:50
fuente
0

También puede consultar comprobación de integridad integrada de SQLite, lo que le dará cierta confianza de que La estructura subyacente de la base de datos no se ha corrompido.

Esto no te dirá si se ha modificado algún dato; Vea la respuesta de Cristian para eso.

    
respondido por el Michael 14.02.2013 - 11:35
fuente

Lea otras preguntas en las etiquetas