Estoy buscando hacer una lista de verificación "mínima" para asegurar un servidor web público Unix. Supongamos que es una pila LAMP (o similar). Esta lista debe ser lo que mínimos implementarías. Obviamente, los requisitos aumentarán para los sitios de alto tráfico (protección DDoS, alta disponibilidad, etc.), pero no me preocupa eso. Solo busco una lista de los mínimos para hospedar un único servidor web que ejecute Apache o NGINX y que tenga una base de datos MySQL o MariaDB básica en el servidor y una aplicación PHP sencilla. Supongamos que se está ejecutando en AWS, DigitalOcean, etc. Algunas ideas incluyen:
- Rangos de IP de listas negras / listas blancas por país
- Deshabilitar el inicio de sesión remoto por root
- Habilitar fail2ban (deshabilita las IP después de tantos intentos fallidos de inicio de sesión)
- Configure el firewall para que solo permita la entrada de puertos relevantes (por ejemplo, ssh, sftp, https)
- Solo permita HTTPS y luego pruebe la validez del certificado y la configuración del servidor utilizando la herramienta de prueba Qualys SSL Labs ( enlace )
- Habilite la autenticación de múltiples factores en todos los lugares públicos, como Amazon / Digital Ocean / etc. cuenta, sus credenciales al servidor, etc.
- Cambie la contraseña de root a un mínimo de 16 caracteres, alfanuméricos con caracteres especiales.
- ¿Qué más?