Monitoreo de integridad para un servidor LAMP

1

Así que estoy configurando una pequeña aplicación de comercio electrónico, y estoy pensando qué pasa si el servidor está comprometido. Estamos vendiendo software por lo que potencialmente un intruso podría generar algunos números de serie gratuitos (no es una gran preocupación), tomar la base de datos del cliente (más de una preocupación) o hacer algo astuto como redirigir pagos legítimos a una cuenta diferente de PayPal (que se encuentra en algún lugar entre los dos en términos de preocupación).

He estado pensando que me gustaría saber si el PHP se modificó. ¿Recogería eso la mayoría de los intentos de intrusión, y (mientras estoy en eso) cómo recogería las alteraciones en la pila del servidor? ¿Hay una forma estándar de auditar los cambios en el contenido?

La opción más segura sería presumiblemente una tarea programada en un servidor diferente que inicia sesión periódicamente y compara el contenido con su propio registro. ¿Hay alguna herramienta gratuita que haga esto?

    
pregunta Sideshow Bob 30.04.2012 - 21:58
fuente

4 respuestas

1

Supongo que mantienes los datos de tus clientes en alguna base de datos SQL. Es típico que los atacantes utilicen técnicas como la inyección SQL para extraer datos de la base de datos. Como esta técnica no necesita modificar ningún archivo en el servidor, no podrá detectar este tipo de ataque. Según tengo entendido, capturar la base de datos de clientes por el atacante es el escenario que más le preocupa. Además, en este caso, cuando hay una violación de datos, puede ser demasiado tarde, por lo que debe verificar la seguridad de su aplicación en primer lugar. También puede usar WAF (es decir, ModSecurity ) como medida de detección y / o de protección.

La supervisión de la integridad del sistema también es una buena idea, pero no es suficiente.

    
respondido por el pgolen 30.04.2012 - 22:18
fuente
1

Creo que este es el enfoque equivocado. El problema es que su aplicación no debe poder escribirse . Una notificación de que su sitio web ha sido modificado no es tan bueno como prevenirlo en primer lugar. Haga que todos los archivos de la web sean legibles y ejecutables directamente por Apache, pero que sean propiedad de otro usuario. Una forma de hacer esto es chmod 550 y poner a Apache en el grupo.

Una WAF como ModSecurity es una buena medida de seguridad preventiva, por lo que es una prueba regular de defectos en su sitio. Hay opciones de código abierto, como Wapiti y Skipfish, que deben ejecutarse manualmente. Hay servicios de escaneo gratuitos, como Sitewatch , que ayudo a desarrollar.

    
respondido por el rook 30.04.2012 - 22:29
fuente
1

Para IDS basados en host, hay tripwire (código abierto), tripwire (comercial), LIDS y muchas más herramientas que crean Una base de datos de huellas dactilares de sus archivos actuales.

Aunque la mayoría de los administradores de paquetes de software (incluido el RPM) pueden tener una gran integridad de los archivos, es difícil ejecutar la verificación en una base de datos remota.

Además, hay detectores de malware (que utilizan huellas dactilares y detección anomólica) que incluyen chkrootkit y rkhunter

Dado que un atacante puede poner en peligro su sistema sin modificar los archivos, incluir datos de honeypot es una excelente manera de detectar cuándo un sistema está comprometido (por ejemplo, configure sus propias cuentas de "cliente" con direcciones de correo electrónico y controle los buzones de correo). / p>     

respondido por el symcbean 01.05.2012 - 10:46
fuente
0

Los buenos ataques solo usan memoria. Si le preocupan los cambios en el contenido estático, utilice una comprobación del sistema de archivos que le avise después de un cambio en un archivo. fam , aide , samhain son algunos de estos.

Si usa RPM para su instalación, puede verificar si los rpms siguen siendo "originales" con rpm -V packetname .

    
respondido por el Nils 30.04.2012 - 22:33
fuente

Lea otras preguntas en las etiquetas