Son las diez de la noche y te llega una notificacion de tu proveedor de VPS: “actividad inusual detectada en su servidor”. El corazon se acelera un segundo, entras a revisar y encontras cientos de intentos de acceso fallidos apuntando a tu usuario administrador. No entraron, pero lo intentaron con insistencia durante horas. Si tu web o tu tienda dependen de ese servidor, esta clase de sustos se pueden evitar con anticipacion.
Proteger un VPS no exige titulo de especialista en ciberseguridad. Alcanza con aplicar un conjunto de configuraciones concretas -que se hacen una sola vez y siguen funcionando de forma automatica despues- para cerrarle la puerta a la enorme mayoria de los ataques que circulan por internet a diario.
En esta guia vamos a ver, paso a paso, como asegurar el acceso, activar un firewall y mantener actualizado tu servidor. Nivel intermedio: el trabajo se hace desde la consola del VPS por SSH, sin necesidad de experiencia previa en seguridad informatica.
La diferencia entre un hosting compartido y un VPS, en materia de seguridad
Contratar un VPS significa alquilar un servidor virtual propio, con su propio sistema operativo, y buena parte de la configuracion de seguridad pasa a depender de vos. Esto no es una carga extra sin sentido: es la contrapartida natural de tener mas control y mas recursos dedicados a tu proyecto. En un hosting compartido, el proveedor resuelve muchas de estas tareas por vos; en un VPS, sos vos quien define que puertas dejar abiertas.
La mayoria de los intentos de acceso que vas a ver en tus registros no apuntan a tu negocio en particular: son bots que recorren rangos completos de direcciones IP en busca de servidores con configuraciones por defecto, sin firewall y con contraseñas faciles de adivinar. Cerrar esas puertas basicas resuelve la gran mayoria del riesgo real.
Paso 1: Ordena el acceso por SSH desde el principio
El SSH es la puerta de entrada principal a tu VPS, asi que es el primer lugar donde conviene poner reglas claras. Estos cambios se hacen desde la consola del servidor, con el usuario y la contraseña que te dio tu proveedor al contratar.
- Crea un usuario nuevo sin privilegios de root con
adduser tunombrey sumalo al grupo sudo conusermod -aG sudo tunombre. - Configura el acceso por llave SSH en lugar de contraseña, generando un par de llaves con
ssh-keygeny copiando la llave publica al servidor conssh-copy-id tunombre@tu-ip. - Deshabilita el login directo de root y el acceso por contraseña en
/etc/ssh/sshd_config, dejandoPermitRootLogin noyPasswordAuthentication no. - Cambia el puerto por defecto del SSH por otro numero alto, lo que reduce de forma notable el volumen de intentos automaticos que recibe tu servidor.
Antes de cerrar la sesion actual, abri una segunda terminal y confirma que podes conectarte con el usuario nuevo. Si algo sale mal, la mayoria de los proveedores de VPS ofrecen una consola web de emergencia para corregirlo sin perder acceso al servidor.
Paso 2: Activa un firewall con reglas claras
Un firewall funciona como un filtro que revisa cada conexion entrante y solo deja pasar las que vos autorizaste explicitamente. UFW (Uncomplicated Firewall) es, en la mayoria de las distribuciones Linux, la forma mas simple de configurarlo.
- Instala UFW con
apt install ufwsi tu VPS corre una distribucion basada en Debian o Ubuntu. - Permiti primero el puerto de SSH que estes usando, antes de activar cualquier otra regla, para no quedar bloqueado.
- Permiti los puertos 80 y 443 para que tu web pueda servir contenido normalmente por HTTP y HTTPS.
- Activa el firewall con
ufw enabley revisa las reglas activas conufw status.
Paso 3: Suma fail2ban como segunda capa de defensa
Fail2ban vigila los registros del servidor y bloquea de forma automatica a cualquier direccion IP que falle repetidamente al intentar iniciar sesion, sin que tengas que estar pendiente vos mismo.
- Instalalo con
apt install fail2bany copia la configuracion base a un archivo local. - Activa la proteccion para SSH, ajustando el numero de intentos permitidos y el tiempo de bloqueo.
- Reinicia el servicio y confirma con
fail2ban-client statusque esta funcionando correctamente.
Paso 4: No dejes las actualizaciones para despues
Buena parte de los ataques exitosos a servidores no explotan configuraciones exoticas, sino vulnerabilidades ya conocidas en versiones de software desactualizadas. Mantener tu VPS al dia es una de las medidas mas simples y a la vez mas efectivas.
- Actualiza el sistema operativo con
apt update && apt upgradede forma regular. - Activa actualizaciones de seguridad automaticas con
unattended-upgradespara no depender de acordarte cada vez. - Revisa las actualizaciones de tu CMS y tus plugins si tenes una plataforma como WordPress corriendo sobre el servidor.
Reserva un momento fijo cada semana para revisar el estado de las actualizaciones. Este habito simple evita gran parte de los incidentes que terminan afectando negocios con presencia online en toda la region.
Paso 5: Ten backups probados, no solo backups activados
Ninguna configuracion de seguridad garantiza el cien por ciento, asi que la ultima red de proteccion siempre son las copias de respaldo recientes y funcionales.
- Confirma que tu proveedor ofrece backups automaticos y activalos si todavia no lo hiciste.
- Descarga una copia manual adicional antes de cualquier cambio grande de configuracion.
- Probá restaurar un backup al menos una vez, para confirmar que el proceso funciona cuando realmente lo necesites.
Paso 5.5: Anota que herramientas tienen acceso a tu VPS
Con el tiempo, un VPS suele acumular integraciones: un plugin que se conecta por API, un servicio de monitoreo externo, una herramienta de despliegue automatico. Cada una de esas conexiones es, en la practica, otra puerta que alguien podria intentar aprovechar si queda mal configurada o abandonada.
- Lleva un listado simple de que servicios externos tienen algun tipo de acceso a tu servidor, aunque sea en una planilla basica.
- Revisa ese listado cada tanto y elimina credenciales o integraciones de herramientas que ya no uses.
- Usa permisos limitados para cada integracion, en lugar de otorgar acceso total cuando solo se necesita una funcion puntual.
Esta costumbre evita uno de los descuidos mas comunes en servidores que llevan tiempo en funcionamiento: acumular accesos de herramientas que se probaron una vez y quedaron habilitadas para siempre, sin que nadie vuelva a revisarlas.
Paso 6: No dejes la seguridad solo en la configuracion inicial
Un error frecuente es tratar el firewall, el SSH y las actualizaciones como una tarea de una sola vez, cuando en realidad funcionan mejor como una rutina que se sostiene en el tiempo, sobre todo a medida que tu proyecto crece y suma nuevas herramientas conectadas al servidor.
- Marca en tu calendario una revision mensual de los registros de acceso, para detectar a tiempo cualquier patron que no reconozcas.
- Verifica despues de cada cambio grande en el servidor (una migracion, una reinstalacion, un nuevo proyecto sumado) que el firewall y fail2ban sigan activos y configurados correctamente.
- Revisa que las llaves SSH que usaste sigan siendo las unicas habilitadas, eliminando cualquier acceso de prueba que hayas dejado activo por accidente.
Esta rutina simple, sostenida mes a mes, es lo que realmente diferencia a un servidor protegido de uno que solo estuvo protegido el dia en que se configuro por primera vez.
Errores comunes al asegurar un VPS
- Activar el firewall sin permitir antes el puerto de SSH, lo que te bloquea fuera de tu propio servidor.
- Dejar el usuario root con acceso directo por contraseña, la puerta de entrada favorita de los bots.
- Postergar las actualizaciones por miedo a romper algo, cuando eso aumenta el riesgo real.
- Pensar que un negocio chico no es un blanco interesante: los bots escanean todo internet sin distinguir tamaños.
Asegurar un VPS no requiere conocimientos avanzados de programacion: requiere un puñado de pasos concretos, aplicados una vez y sostenidos en el tiempo. Dedicale la atencion que merece y vas a tener un servidor mucho mas confiable para tu negocio.