← Tu web en una tarde
Lección 6 de 8 · 15 min

Seguridad sin ser informático

Por qué una web estática es más segura que un WordPress, qué no debes poner nunca en el código, cómo blindar tus cuentas y el archivo que añade las protecciones del navegador.

Tu ventaja: una web estática

La mayoría de webs pequeñas que se hackean son WordPress con plugins sin actualizar. Tu web no tiene base de datos, ni panel de administración, ni plugins: son archivos que se sirven tal cual. Hay muy poco que atacar. Lo que hay que proteger está alrededor: tus cuentas, tu dominio y lo que añadas de otros.

Lo que nunca va en el código

Todo lo que subes es público. Cualquiera puede ver el código de tu web con clic derecho y «Ver código fuente». Por tanto, nunca pongas en tus archivos:

  • Contraseñas o claves de API (de un servicio de IA, de pagos, de correo).
  • Datos personales de clientes, ni siquiera «escondidos».
  • Documentos internos en la carpeta de la web: si está en la carpeta, está publicado.

Si algún día necesitas una clave (por ejemplo, para conectar con un servicio de pagos), eso ya requiere un servidor y es otro nivel. Pídele a la IA que te lo explique antes de improvisar.

Tus cuentas son la puerta de verdad

Si alguien entra en tu cuenta de Cloudflare o de tu registrador de dominios, puede cambiar tu web o quedarse con tu dominio. Si entra en tu correo, puede entrar en todo lo demás.

  1. Verificación en dos pasos en el correo, el registrador y Cloudflare. Mejor con una app de autenticación que con SMS.
  2. Contraseñas distintas en cada una, guardadas en un gestor de contraseñas.
  3. Códigos de recuperación guardados fuera del ordenador.
  4. Renovación automática del dominio y bloqueo de transferencia activado. Perder un dominio por no renovarlo es más común que perderlo por un ataque.
  5. Desconfía de correos sobre tu dominio: «tu dominio caduca, paga aquí» es una estafa clásica. Entra siempre escribiendo tú la dirección del registrador.

Las cabeceras de seguridad

Son instrucciones que tu web envía al navegador: no dejes que otra web me meta en un marco, no cargues scripts de sitios desconocidos, no envíes de dónde viene el visitante. En Cloudflare Pages se configuran con un archivo llamado _headers (sin extensión) en la raíz de tu carpeta:

_headers
/*
  X-Content-Type-Options: nosniff
  X-Frame-Options: DENY
  Referrer-Policy: strict-origin-when-cross-origin
  Permissions-Policy: camera=(), microphone=(), geolocation=()
  Strict-Transport-Security: max-age=31536000
  Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' https://cloudflareinsights.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'

La última línea (Content-Security-Policy) solo permite cargar cosas de tu propia web y de la analítica de Cloudflare. Si añades un servicio externo, como un formulario de Formspree, hay que añadir su dirección en form-action; si no, el navegador lo bloqueará. Pídele a la IA que adapte la línea a lo que uses. Cuando esté publicada, compruébalo en securityheaders.com.

Cada cosa externa es una puerta más

  • Un widget, un chat, un contador o un script de otra web se ejecuta dentro de la tuya con los mismos poderes. Si ese servicio se compromete, tu web también.
  • Usa solo lo imprescindible y de empresas conocidas.
  • Si un formulario recibe spam, actívale una protección antibots (Cloudflare Turnstile es gratuita y no usa cookies de seguimiento).
  • Publicar tu correo como texto plano atrae spam. El enlace de WhatsApp o un formulario protegido lo evitan.

Copias de seguridad

Tu copia es la carpeta mi-web. Guárdala también en la nube (Google Drive, iCloud, OneDrive) y conserva las versiones con fecha. Además, Cloudflare Pages guarda cada publicación y te deja volver a una anterior con un clic, como verás en la lección siguiente.

Practica · unos 9 min

Ahora tú

Hazlo sobre tu propia web y marca cada paso. Se guarda solo.

0 de 5 tareas hechas
@esclusa.ia