¿Los archivos de registro LAMP a veces contienen información confidencial?

3

Tendré un servidor web LAMP con CentOS y cPanel. Con esta configuración, ¿es posible que los archivos de registro del servidor, ya sean registros regulares o de errores, contengan información confidencial en ellos, como contraseñas o variables de URL ( GET datos)?

¿Qué estoy intentando? para evitar es tener información confidencial almacenada en un archivo de registro de texto sin formato.

Si el servidor hace esto, ¿cómo lo detengo? ¿Es una buena idea hacerlo por seguridad?

    
pregunta Hope4You 07.08.2012 - 16:21
fuente

2 respuestas

3

Sí, es posible que pueda contener información confidencial. Mucho depende de lo que consideres 'sensible'. La dirección IP 123.123.123.123 que accede a www.hotpron.xxx a las 7 pm del domingo no contiene información de identificación del usuario, pero puede ser extremadamente sensible para alguien.

El registro normal proporcionado por Apache solo se registrará

  • variables GET
  • cualquier cookie que incluya explícitamente en el formato de registro

También registrará los nombres de usuario utilizados para la autenticación por el servidor web (en lugar del código mismo) a través de los complementos mod_auth add. De nuevo, esto es configurable.

Y el registro de errores contendrá cualquier cosa que su aplicación elija para escribir.

Es posible hacer que registre las variables POST también usando (por ejemplo) mod_security, pero esto es más complicado.

En general, la mayoría de las personas consideraría una mala práctica pasar tokens de autenticación (nombres de usuario, contraseñas, identificadores de sesión) a través de variables GET.

    
respondido por el symcbean 07.08.2012 - 17:09
fuente
3

Primero, haré todo lo posible para intentar no registrar información confidencial fuera de la base de datos (protegida / encriptada). Esto normalmente se puede lograr mediante

  • No utiliza http GET para enviar contraseñas u otra información confidencial (por ejemplo, números de tarjetas de crédito) a su sitio. Por ejemplo, al hacer clic en un botón que va a una URL como https://www.example.com/login?user=admin&password=dumb_password que luego lo reenvía al sitio como usuario registrado. La mayoría de la configuración predeterminada de los servidores web (apache) registrará esta solicitud GET con los parámetros en texto claro. Use POST (para que no se registre en texto plano) y hágalo a través de HTTPS (para evitar las escuchas ilegales de la red) con certificados debidamente firmados (para evitar los ataques de Man in the Middle).

  • No se registra el contenido de HTTP POST (a menos que esté depurando algo durante el desarrollo). Esto generalmente no se hace de forma predeterminada.

  • No registra el contenido de las cookies de sesión ni permite la reutilización de tokens de un solo uso (por ejemplo, a partir de restablecimientos de contraseñas) que se pueden registrar.

La información confidencial puede ingresar inadvertidamente en sus archivos de registro. Un ejemplo común es la autenticación del usuario a través de ssh. De vez en cuando, un usuario se apresurará a iniciar sesión y escribir su contraseña en el campo de nombre de usuario (registrado), presione Entrar, y su contraseña se registrará en el campo de usuario secure.log (o auth.log en algunos tipos de Linux) . Por lo tanto, es mejor evitar que los usuarios que no son root puedan leer estos archivos de registro de manera estándar. (Eso es controles de acceso a archivos estándar con chmod , chown , chgrp , y con cifrado completo del disco si le preocupa que alguien extraiga el disco duro o arranque en modo de usuario único).

Finalmente, eche un vistazo a sus archivos de registro y vea qué está registrando. Busque ( grep ) a través de ellos y asegúrese de que no aparezca nada en texto sin formato que no deba registrarse (p. Ej., Cree una cuenta falsa con información confidencial falsa durante todo el proceso y vea si puede encontrar alguna parte de la información falsa) ). Digo una cuenta falsa, porque la búsqueda de información confidencial real puede colocar esa información en un archivo de registro diferente (por ejemplo, el archivo ~/.history de la shell).

    
respondido por el dr jimbob 07.08.2012 - 17:49
fuente

Lea otras preguntas en las etiquetas