Seguridad Básica
Medidas de seguridad fundamentales para proteger tu servidor.
1. Configurar Firewall (UFW)
Section titled “1. Configurar Firewall (UFW)”# Instalar UFW (generalmente ya viene instalado)sudo apt install ufw
# Permitir SSH (IMPORTANTE: hazlo antes de activar el firewall)sudo ufw allow sshsudo ufw allow 22/tcp
# Permitir HTTP y HTTPSsudo ufw allow 80/tcpsudo ufw allow 443/tcp
# Activar firewallsudo ufw enable
# Verificar estadosudo ufw status verboseUFW bloquea todo el tráfico excepto lo que permitas explícitamente.
2. Configurar SSH con Clave Pública
Section titled “2. Configurar SSH con Clave Pública”En tu máquina local:
Section titled “En tu máquina local:”# Generar par de claves (si no tienes una)ssh-keygen -t ed25519 -C "tu@email.com"
# Copiar clave pública al servidorssh-copy-id tunombre@tu-ip-del-vpsEn el servidor:
Section titled “En el servidor:”# Editar configuración SSHsudo vim /etc/ssh/sshd_config
# Cambiar estas líneas:# PermitRootLogin no# PasswordAuthentication no# PubkeyAuthentication yes
# Reiniciar servicio SSHsudo systemctl restart sshdEsto desactiva login con contraseña y login como root vía SSH.
3. Configurar Fail2Ban
Section titled “3. Configurar Fail2Ban”# Instalar Fail2Bansudo apt install fail2ban -y
# Crear configuración localsudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Editar configuraciónsudo vim /etc/fail2ban/jail.local
# Busca y ajusta:# bantime = 1h# findtime = 10m# maxretry = 5
# Iniciar y activar Fail2Bansudo systemctl start fail2bansudo systemctl enable fail2ban
# Ver estadosudo fail2ban-client statusFail2Ban bloquea IPs que intentan accesos no autorizados repetidamente.
4. Actualizaciones Automáticas de Seguridad
Section titled “4. Actualizaciones Automáticas de Seguridad”# Instalar actualizaciones desatendidassudo apt install unattended-upgrades -y
# Configurarsudo dpkg-reconfigure --priority=low unattended-upgradesSelecciona “Sí” para instalar actualizaciones de seguridad automáticamente.
5. Verificar Puertos Abiertos
Section titled “5. Verificar Puertos Abiertos”# Ver puertos en escuchasudo ss -tulpn
# Ver puertos abiertos con netstatsudo netstat -tulpn | grep LISTENAsegúrate de reconocer todos los servicios que están escuchando.
6. Configurar Límites de Recursos
Section titled “6. Configurar Límites de Recursos”# Editar límitessudo vim /etc/security/limits.conf
# Añadir al final:# * soft nofile 65536# * hard nofile 65536Previene que procesos consuman demasiados recursos.
Verificación de Seguridad
Section titled “Verificación de Seguridad”# Ver intentos de login fallidossudo lastb
# Ver logins exitosossudo last
# Ver logs de autenticaciónsudo tail -f /var/log/auth.logSiguiente Paso
Section titled “Siguiente Paso”Revisa los Comandos Útiles para el mantenimiento diario.