Ya sea que esté configurando su primer servidor web o simplemente montando uno más, es sorprendente cuántas personas todavía operan servidores sin protección. Basta con usar una versión antigua y desactualizada de PHP para poner en riesgo su servidor web (y a todos los que están en él). Anteriormente escribí "Installed Ubuntu 20.04 server? Follow this simple guide for better security" (en inglés), una excelente base si apenas está comenzando.
Dicho esto, veamos mis 5 excelentes formas de proteger su servidor web.
1. Use autenticación con clave pública para SSH
Usar FTP, HTTP, Telnet o cualquier otro acceso sin cifrar es un gran error. Utilice siempre protocolos cifrados: SSH y SFTP para la administración y la transferencia de archivos (o FTPS si necesita usar FTP), y HTTPS con un certificado SSL/TLS para sitios web y paneles de control. Esto debe ser lo primero que considere al administrar su servidor.
Desactivar la autenticación por contraseña en SSH y usar únicamente claves SSH es una excelente manera de evitar accesos no deseados. Las claves SSH vienen en pares: una clave privada que permanece en su computadora y una clave pública que usted coloca en el servidor. Al iniciar sesión, el servidor verifica que usted tenga la clave privada que corresponde a su clave pública y solo entonces permite el acceso. Como no hay ninguna contraseña que adivinar, esto lo protege contra ataques de fuerza bruta.
Para configurarlo, cree un par de claves en su computadora y copie la clave pública al servidor:
ssh-keygen -t ed25519
ssh-copy-id user@your-server-ip
Algunos paneles de control de hosting también le permiten agregar su clave pública desde el panel. Una vez que pueda iniciar sesión con su clave, desactive el inicio de sesión con contraseña configurando lo siguiente en /etc/ssh/sshd_config:
PasswordAuthentication no
Después reinicie SSH (en CentOS y AlmaLinux el servicio se llama sshd):
sudo systemctl restart ssh
Mantenga abierta su sesión actual y pruebe el inicio de sesión con clave desde una nueva terminal antes de cerrarla, para no quedarse sin acceso. Para mayor protección, también puede instalar Fail2ban para bloquear las direcciones IP que fallan repetidamente al iniciar sesión.
2. Instale ModSecurity
ModSecurity (ModSec, para abreviar) es un firewall de aplicaciones web (WAF) de código abierto para Apache, y también está disponible para Nginx. Si ya utiliza un firewall en su servidor, excelente: ModSecurity agrega una capa adicional de protección al inspeccionar el tráfico web antes de que llegue a sus aplicaciones. Lo recomiendo ampliamente si utiliza cualquier tipo de script de eCommerce o CMS (sistema de gestión de contenidos), como WordPress. Combínelo con el OWASP Core Rule Set para obtener un sólido conjunto de protecciones desde el primer momento.
3. Haga copias de seguridad regularmente
Las copias de seguridad suelen pasarse por alto: un número sorprendente de personas no las hace con regularidad. La mayoría de los paneles de control de servidores, como cPanel o Plesk, tienen una función sencilla que le permite programar copias de seguridad y descargarlas. Guarde copias en un lugar distinto al propio servidor, como su computadora, un disco SSD o HDD externo económico, o un servicio de almacenamiento en la nube. Algo tan simple como hacer unos cuantos clics puede ahorrarle horas, a veces días o semanas, de trabajo.
4. Instale un escáner de malware como ClamAV
Escanear su servidor periódicamente en busca de malware es una excelente manera de mantenerlo saludable. ClamAV es uno de mis favoritos. Si usa Plesk, su catálogo de extensiones también ofrece escáneres de malware que puede instalar con un solo clic.
5. Vigile los registros del servidor
Su servidor registra todo, incluyendo quién y qué se conecta a él. Revisar estos registros (logs) puede revelar señales clave de que algo malicioso está ocurriendo. Una buena práctica es instalar un analizador de registros como Graylog y revisar los resultados con regularidad en busca de patrones.
Estos son 5 consejos sencillos para mantener su servidor a salvo de las garras de los malvados piratas informáticos.
Además, aunque no debería ser necesario decirlo, por favor… use contraseñas seguras. Las cuentas se ven comprometidas con mayor frecuencia por una contraseña débil, y usted puede evitarlo tomándose unos segundos para crear una contraseña segura.
