Tengo un servidor de Debian Apache PHP. Quiero asegurarlo después del proceso de instalación clásico.
Mis pasos habituales son:
- elementos de lista
- actualizar todos los paquetes
- elimine todos los servicios innecesarios como named, portmap, lwresd ...
- agregue una secuencia de comandos de inicio de iptables: bloquee todo, excepto 22 y 80, y permita que todos salgan. Forzar el chequeo de paquetes SYN, forzar el chequeo de paquetes de fragmentos, soltar paquetes de Navidad, soltar Soltar todos los paquetes NULOS, soltar ip local en wan, todos solo tipo icmp 0 y 8.
- SSH: elimina el inicio de sesión de root y la autenticación de contraseña. Utilice las teclas en su lugar. Permitir sólo el nombre de usuario válido. Sólo el protocolo 2
- PHP:
expose_php=Off
, limita los módulos PHP a los utilizados, no muestra errores al visitante:display_errors=Off
ylog_errors=On
,allow_url_fopen=Off
,allow_url_include=Off
y elimina funciones peligrosas - Apache:
ServerSignature Off
,ServerTokens Prod
- Instale el paquete adicional: fail2ban (SSH bruteforce protection), chkrootkit (detección de rootkit), logwatch (cuidado diario de los registros), munin (monitoreo de recursos), apticron (esté atento a la actualización)
¿Ves algo más?