Seguridad de un VPS: configuración práctica y protección
Un VPS recibe escaneos automáticos desde que obtiene una IP pública. La defensa no depende de un ajuste secreto, sino de capas repetibles: acceso mínimo, actualizaciones, red cerrada, secretos separados, monitorización y copias recuperables.

Define qué estás protegiendo
Un sitio, una VPN y una base manejan datos y puertos distintos. Anota datos críticos, usuarios autorizados, dependencias externas y tiempo de parada admisible. Las amenazas habituales son contraseñas forzadas, software antiguo, tokens filtrados, paneles expuestos y denegación de servicio. Además de prevenir, limita el daño con usuarios separados, base aislada y backups externos.
Qué hacer durante la primera hora
| Acción | Objetivo | Verificación |
|---|---|---|
| Actualizar el sistema | Corregir vulnerabilidades conocidas | No quedan parches críticos |
| Crear administrador | No trabajar como root | sudo funciona |
| Añadir clave SSH | Eliminar contraseñas atacables | Nuevo acceso probado |
| Configurar firewall | Exponer solo servicios necesarios | Escaneo externo |
| Activar copias | Tener recuperación independiente | Archivo restaurado |
No cierres la sesión actual hasta probar el nuevo acceso desde otra ventana. Confirma que el proveedor ofrece consola o rescue si una regla te bloquea.
Acceso SSH seguro
Usa un usuario personal, sudo y una clave distinta por persona. Protege la clave privada con contraseña o token. Tras la prueba, deshabilita root y la autenticación por contraseña. Cambiar el puerto reduce ruido, pero no sustituye claves, firewall o VPN. Las claves de automatización deben tener permisos mínimos y poder revocarse.
Firewall y superficie mínima
Parte de un bloqueo de entrada y permite solo lo necesario: normalmente SSH, HTTP y HTTPS. PostgreSQL, MySQL, Redis y paneles no deben escuchar internet; utiliza loopback, red privada, WireGuard o túnel SSH. Revisa IPv6 por separado y evita publicar contenedores en 0.0.0.0 sin necesidad.
- inventario de todos los sockets;
- servicios de prueba eliminados;
- paneles limitados por IP y autenticación adicional;
- protección DDoS del proveedor comprobada;
- escaneo desde una red externa después de cada cambio.
Actualizaciones sin paradas inesperadas
El sistema, runtime, imágenes y dependencias tienen ciclos distintos. Instala parches críticos rápido y prueba los demás en una ventana con copia y rollback. Fija versiones o digest de contenedores; latest no identifica el artefacto. Un scanner ayuda a priorizar, pero hay que valorar si el componente vulnerable se usa y está expuesto.
Permisos, secretos y aplicación
Ejecuta cada servicio sin root y concede a la base acceso solo a su esquema. No guardes contraseñas o tokens en Git, Dockerfile, historial o JavaScript del navegador. Usa un gestor de secretos y practica la rotación. Si una clave se filtra, revócala en el servicio original: borrarla del último commit no limpia el historial.
Activa HTTPS automático, cookies Secure/HttpOnly/SameSite, límites de subida, validación y CSRF donde haya sesión por cookie. Registra acciones administrativas, pero no secretos ni datos personales completos.
Detectar problemas y responder
Supervisa disponibilidad, TLS, disco, CPU, RAM, errores y edad del backup. Envía alertas fuera del VPS. Usuarios SSH nuevos, procesos desconocidos, tráfico saliente o ficheros alterados son señales de incidente. Aísla el nodo, revoca secretos y reconstruye desde configuración limpia; no confíes plenamente en un sistema comprometido.
Conserva logs el tiempo suficiente para investigar, pero aplica rotación para que no llenen el disco. Registra accesos y acciones administrativas sin incluir tokens, contraseñas ni datos personales completos. Revisa periódicamente usuarios, claves autorizadas, tareas programadas e imágenes instaladas: la configuración segura del primer día se degrada si nadie la audita.
Errores frecuentes
- Base abierta a todo internet.
- Una contraseña root compartida durante años.
- Confundir snapshot con backup externo.
- Aplazar parches porque el proyecto es pequeño.
- Instalar paneles y servicios innecesarios.
- No tener un procedimiento de incidente.
Lista final
- claves SSH y root bloqueado;
- firewall IPv4/IPv6 mínimo;
- servicios con privilegios mínimos;
- secretos rotables fuera del código;
- TLS, logs y monitorización;
- copias externas restauradas en una prueba.
Preguntas frecuentes
¿Hace falta antivirus en Linux?
Puede ayudar con correo o archivos subidos, pero no reemplaza parches y aislamiento.
¿Basta cambiar el puerto SSH?
No; solo reduce ruido de bots.
¿Cada cuánto hacer copias?
Según la pérdida admisible. Define RPO y RTO.
¿El firewall local detiene cualquier DDoS?
No si el ataque satura antes el enlace; necesitas mitigación del proveedor.
Continúa con copias de seguridad verificables.
