Seguridad de un sitio web: HTTPS, cabeceras y accesos
Guía práctica sobre seguridad de un sitio web: HTTPS, cabeceras de seguridad, control de accesos, actualizaciones y copias de respaldo para reducir riesgos.
La seguridad de un sitio web no es una función que se enciende una vez: es un conjunto de hábitos y configuraciones. La mayoría de los incidentes en sitios pequeños no vienen de ataques sofisticados, sino de contraseñas débiles, software desactualizado o accesos que nadie revisó. Reducir esos riesgos es barato comparado con recuperarse de un sitio comprometido.
Esta guía técnica repasa lo esencial: cifrado HTTPS, cabeceras de seguridad, accesos, actualizaciones, formularios y copias de respaldo. No es una auditoría completa, pero cubre las bases que todo sitio debería tener.
Seguridad de un sitio web: HTTPS en todas partes
HTTPS cifra la comunicación entre el navegador y tu servidor y verifica que el sitio es quien dice ser. Hoy es la base y un requisito para casi todo lo demás.
- Certificado válido y renovación automática. Un certificado vencido muestra advertencias que espantan a los visitantes.
- Redirigí todo HTTP a HTTPS, con una redirección permanente (301).
- Evitá el contenido mixto: páginas HTTPS que cargan imágenes o scripts por HTTP.
- HSTS: la cabecera
Strict-Transport-Securityle indica al navegador que use siempre HTTPS con tu dominio. Activala cuando estés seguro de que todo funciona por HTTPS; MDN la documenta.
Cabeceras de seguridad
Son instrucciones que tu servidor envía junto con cada página y que endurecen el comportamiento del navegador. Un conjunto básico razonable:
| Cabecera | Para qué sirve |
|---|---|
Strict-Transport-Security |
Forzar HTTPS |
Content-Security-Policy |
Limitar de dónde se pueden cargar scripts, estilos e imágenes |
X-Content-Type-Options: nosniff |
Evitar que el navegador "adivine" el tipo de un archivo |
Referrer-Policy |
Controlar qué información de origen se envía al navegar |
X-Frame-Options o frame-ancestors (dentro de CSP) |
Impedir que tu página se incruste en sitios ajenos (clickjacking) |
Permissions-Policy |
Restringir funciones del navegador (cámara, ubicación) |
La más potente y la más delicada es Content-Security-Policy: una política demasiado estricta puede romper scripts legítimos. Implementala de forma gradual y probá con cuidado. La referencia completa está en MDN sobre CSP.
Accesos y contraseñas
La mayoría de los problemas empiezan con una credencial comprometida:
- Contraseñas largas y únicas para cada servicio (hosting, dominio, panel de la web, correo). Usá un gestor de contraseñas.
- Verificación en dos pasos en todo lo que la ofrezca, sobre todo dominio, hosting y correo.
- Principio de mínimo privilegio: cada persona con el acceso que necesita y no más. Sacá los accesos de quien ya no trabaja con vos.
- Cambiá las credenciales por defecto y no compartas cuentas entre varias personas.
- Revisá periódicamente quién tiene acceso a qué.
Actualizaciones
El software sin actualizar es la puerta de entrada más común. Esto incluye el sistema del servidor, el gestor de contenidos si usás uno, plugins, librerías de tu proyecto y dependencias.
- Actualizá con regularidad y priorizá los parches de seguridad.
- Eliminá lo que no usás: plugins, temas, cuentas y servicios olvidados son superficie de ataque.
- Probá antes de publicar las actualizaciones grandes, para no romper el sitio.
- En proyectos con dependencias, herramientas como los avisos de vulnerabilidades del gestor de paquetes ayudan a detectar problemas conocidos.
Formularios y datos de usuarios
- Validá los datos en el servidor, no solo en el navegador.
- Protegete del spam con límites de envíos y controles anti-bots.
- Guardá lo mínimo necesario y protegé lo que guardes. Si recolectás datos personales, informalo en tu política de privacidad y cumplí la normativa que aplique.
- Nunca guardes contraseñas en texto plano. Si tu sitio tiene cuentas de usuarios, usá un sistema de autenticación probado.
Copias de respaldo
Un respaldo es lo que te salva cuando todo lo demás falla.
- Regla 3-2-1: tres copias, en dos tipos de soporte distintos, una de ellas fuera del lugar principal.
- Automatizalas y definí cada cuánto: depende de qué tan seguido cambia tu sitio.
- Probá restaurar. Un respaldo que nunca se probó es una esperanza, no un respaldo.
- Guardá las copias con acceso restringido: contienen todo.
Monitoreo
- Avisos de caída para enterarte antes que tus clientes.
- Alertas del certificado por vencimiento.
- Revisá los registros (logs) ante comportamientos raros, como muchos intentos de acceso fallidos.
- Search Console avisa si Google detecta problemas de seguridad en tu sitio; conectalo siguiendo la guía de Google Search Console.
Referencias
Para una mirada general de los riesgos más comunes en aplicaciones web, la lista OWASP Top 10 es la referencia más usada. Y para la documentación técnica de las cabeceras y mecanismos del navegador, la sección de seguridad web de MDN.
Checklist mínima
- HTTPS con redirección y certificado que se renueva solo.
- Cabeceras de seguridad básicas activas.
- Contraseñas únicas y verificación en dos pasos.
- Actualizaciones al día y sin plugins ni cuentas que no se usan.
- Respaldos automáticos y probados.
- Avisos de caída y de vencimiento de certificado.
Preguntas frecuentes
¿Mi sitio es demasiado chico para ser un blanco?
No. Los ataques suelen ser automáticos y buscan cualquier sitio con una debilidad conocida, sin importar su tamaño.
¿Un buen hosting resuelve todo?
Ayuda mucho con la infraestructura, pero no reemplaza las contraseñas fuertes, las actualizaciones ni los respaldos, que dependen de vos y de quien administra tu sitio.
¿Qué hago si sospecho que mi sitio fue comprometido?
Cambiá las contraseñas desde un dispositivo confiable, avisá a tu proveedor y no borres nada antes de entender qué pasó. Restaurar desde un respaldo limpio suele ser lo más seguro.
Cómo seguir
Si querés que revisemos la seguridad de tu sitio o dejemos configurado un mantenimiento periódico, mirá el mantenimiento mensual o escribinos. Y para la seguridad del correo, la guía de SPF, DKIM y DMARC.