Quiero alojar un sitio pequeño en casa y he instalado Apache, etc. como este:
sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server
Todo funcionó y todo está funcionando.
Ahora estoy acostumbrado a trabajar con XAMPP para desarrollar y no quería usar eso en vivo ya que muchas referencias decían que no era muy seguro.
Entonces mi pregunta es, ahora que tengo instalado Apache/PHP y MySql con el método anterior; ¿Cómo es el nivel de seguridad por defecto?
¿Hay formas de hacerlo más seguro y tal vez una lista de verificación o un resumen de los cambios que podrían recomendarse?
Aclaración:el servidor LAMP sería un sitio activo, no uno en desarrollo.
Respuesta aceptada:
Ejecuto mis propios servidores LAMP en Ubuntu conectados a Internet, por lo que siempre sigo las mismas pautas. Por lo general, verifico lo siguiente:
- En Apache, elimine la documentación o al menos no la presente a través del servidor web (eliminando el enlace
/etc/apache2/conf-enabled/apache2-doc.conf
) - En Apache, asegúrese de no cargar módulos innecesarios. Con Ubuntu, esto se hace eliminando los enlaces en
/etc/apache2/mods-enabled
. Cada enlace apunta a un archivo en el/etc/apache2/mods-available
directorio que carga y configura un módulo a la vez. - Es posible que desee revisar y habilitar el
/etc/apache2/conf-available/security.conf
. Proponen algunos consejos de seguridad, que no están activados por defecto: - Denegar el acceso a todo el sistema de archivos excepto a los directorios que permitiría explícitamente más adelante
- modificar el banner del servidor para brindar la menor información posible sobre el software en ejecución.
- En PHP, compruebe que no imprime demasiada información de registro en la pantalla en caso de error (parámetros en la sección Gestión y registro de errores del
/etc/php4/apache2/php.ini
expediente. Los comentarios en el archivo brindan mucha información sobre lo que es preferible hacer) -
No es necesario exponer su servidor MySQL a Internet. De forma predeterminada, en Ubuntu, el servidor Mysql solo escucha en localhost. Compruebe
/etc/mysql/my.cnf
en la sección mysqld para el parámetro bind-address . Debería estar en 127.0.0.1 :dirección de enlace =127.0.0.1
-
No instales más servicios en este servidor de los que necesitas.
- No olvides aplicar la actualización cuando lleguen.
- No confíe solo en la configuración del servidor LAMP, no olvide que también tiene que ejecutar una aplicación PHP que puede presentar algunas amenazas de seguridad (validación de entrada y todo esto para evitar escribir una consulta SQL en la entrada campo para recuperar de la base de datos más información que usted mismo se hubiera proporcionado, …)
Estas son las primeras cosas en la parte superior de mi mente. Por supuesto, puede encontrar instrucciones y guías más detalladas en Internet:
- Seguridad en Mysql 5.5
- Consideración de seguridad en PHP
- Consejos de seguridad para Apache 2.4