Configurar SSL y Seguridad en WordPress con Really Simple SSL

Activar un certificado SSL en tu sitio web es esencial para proteger la información de tus visitantes y mejorar el SEO. Con el plugin Really Simple SSL, puedes forzar HTTPS, corregir contenido mixto y reforzar la seguridad habilitando HSTS y otras cabeceras de seguridad.

En este artículo, te mostraremos cómo hacerlo paso a paso.


Paso 1: Instalar Really Simple SSL

  1. En tu panel de WordPress, ve a Plugins > Añadir nuevo.
  2. Busca Really Simple SSL.
  3. Haz clic en Instalar ahora y luego en Activar.

Una vez activado, el plugin detectará automáticamente si tu certificado SSL está activo y sugerirá configuraciones adicionales.


Paso 2: Forzar HTTPS y corregir contenido mixto

El contenido mixto ocurre cuando algunos recursos de la web (como imágenes, scripts o estilos) aún se cargan con HTTP en lugar de HTTPS, lo que puede causar advertencias de seguridad.

Para solucionarlo:

  1. Ve a Ajustes > SSL en WordPress.
  2. Activa la opción «Forzar redirección a HTTPS».
  3. Habilita «Corrección automática de contenido mixto» para que el plugin reemplace los enlaces HTTP con HTTPS.
  4. Guarda los cambios y recarga tu sitio.

Si después de esto aún hay contenido mixto, revisa manualmente los enlaces en tu web o usa el plugin Better Search Replace para cambiar todos los enlaces de http:// a https://.


Paso 3: Habilitar HSTS para mayor seguridad

El HTTP Strict Transport Security (HSTS) obliga a los navegadores a acceder siempre a tu sitio mediante HTTPS, previniendo ataques como el Man-in-the-Middle.

Opción 1: Configuración en .htaccess (Para Apache)

  1. Accede a tu servidor mediante FTP o cPanel.

  2. Abre el archivo .htaccess ubicado en la raíz de tu instalación de WordPress.

  3. Agrega el siguiente código al final del archivo:

    apache
    <IfModule mod_headers.c>
    Header always set Strict-Transport-Security «max-age=31536000; includeSubDomains; preload»
    </IfModule>
    4. Guarda los cambios y recarga tu web.

Opción 2: Configuración en Nginx

Si tu servidor usa Nginx, agrega esta línea en la configuración:

nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Luego, guarda los cambios y reinicia el servidor con:

bash

sudo systemctl restart nginx

También puedes activar HSTS desde Cloudflare si tu sitio está configurado en esta plataforma.


Paso 4: Agregar otras cabeceras de seguridad

Para mejorar la seguridad de tu sitio, puedes agregar las siguientes cabeceras en .htaccess o en la configuración de Nginx.

Configuración en .htaccess (Para Apache)

Añade este código al archivo .htaccess:

apache
<IfModule mod_headers.c>
# HSTS: Obliga HTTPS
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# CSP: Protección contra ataques XSS
Header always set Content-Security-Policy «default-src ‘self’; script-src ‘self’ ‘unsafe-inline’; style-src ‘self’ ‘unsafe-inline'»

# X-Frame-Options: Previene ataques de Clickjacking
Header always set X-Frame-Options «SAMEORIGIN»

# X-Content-Type-Options: Evita la detección de MIME no deseada
Header always set X-Content-Type-Options «nosniff»

# Referrer-Policy: Controla cómo se envían las referencias
Header always set Referrer-Policy «strict-origin-when-cross-origin»

# Permissions-Policy: Restringe acceso a APIs del navegador
Header always set Permissions-Policy «geolocation=(), microphone=(), camera=()»
</IfModule>

Configuración en Nginx

Si usas Nginx, agrega esto a la configuración del servidor:

nginx

add_header Strict-Transport-Security «max-age=31536000; includeSubDomains; preload» always;
add_header Content-Security-Policy «default-src ‘self’; script-src ‘self’ ‘unsafe-inline’; style-src ‘self’ ‘unsafe-inline'» always;
add_header X-Frame-Options «SAMEORIGIN» always;
add_header X-Content-Type-Options «nosniff» always;
add_header Referrer-Policy «strict-origin-when-cross-origin» always;
add_header Permissions-Policy «geolocation=(), microphone=(), camera=()» always;

Luego, reinicia Nginx con:

bash
sudo systemctl restart nginx


Paso 5: Verificar que las cabeceras de seguridad están activas

Después de realizar estos cambios, revisa si todo está correctamente configurado usando la herramienta:

🔍 SecurityHeaders.com

Introduce la URL de tu web y asegúrate de que no haya advertencias de seguridad.


Conclusión

Con Really Simple SSL, puedes activar HTTPS fácilmente y corregir contenido mixto en WordPress. Además, agregar HSTS y otras cabeceras de seguridad ayuda a proteger tu web contra ataques cibernéticos, mejorar la privacidad y fortalecer la confianza de los visitantes.

Siguiendo estos pasos, garantizas que tu sitio sea más seguro y cumpla con las mejores prácticas recomendadas. 🚀

⚠️ Precaución: Uso del HSTS y posibles problemas

El HTTP Strict Transport Security (HSTS) es un encabezado de seguridad que obliga a los navegadores a usar siempre HTTPS en tu sitio web, incluso si el usuario intenta acceder mediante HTTP.

Para activarlo en tu servidor Apache, se usa esta línea en el archivo .htaccess:

apache

# HSTS: Obliga HTTPS
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

🚨 Posibles problemas al activar HSTS

Aunque HSTS es una excelente medida de seguridad, puede causar problemas si no se configura correctamente. Aquí te menciono los más comunes:

  1. No puedes acceder a tu sitio por HTTPS mal configurado
    • Si el certificado SSL está caducado o mal instalado, los visitantes no podrán acceder al sitio, ya que HSTS les impide volver a HTTP.
    • Solución: Antes de activar HSTS, asegúrate de que tu SSL esté correctamente configurado y no tenga errores.
  2. El sitio queda bloqueado en el navegador
    • Una vez que un navegador detecta HSTS en tu sitio, siempre usará HTTPS y no permitirá acceso por HTTP.
    • Solución: Si necesitas desactivar HSTS temporalmente, no basta con quitar la línea del .htaccess. Debes usar este comando en la cabecera antes de eliminarlo: apacheCopiarEditarHeader always set Strict-Transport-Security "max-age=0"
  3. Problemas con subdominios sin SSL
    • Si activaste includeSubDomains, todos los subdominios de tu sitio también deberán usar HTTPS.
    • Solución: Si tienes subdominios sin SSL, no uses includeSubDomains, o bien instala un certificado SSL para todos.
  4. No puedes volver atrás fácilmente
    • Si activaste preload, tu sitio entrará en la lista de HSTS Preload de los navegadores, lo que significa que aunque elimines HSTS, los navegadores seguirán aplicándolo.
    • Solución: Evita usar preload si no estás seguro de que lo necesitarás a largo plazo. Si ya lo activaste, debes solicitar la eliminación en hstspreload.org.

✅ Recomendaciones finales

  • Prueba HSTS con un tiempo corto primero: apacheCopiarEditarHeader always set Strict-Transport-Security "max-age=300" Esto activará HSTS solo por 5 minutos para verificar que todo funciona bien.
  • Solo usa includeSubDomains y preload si estás seguro de que todos tus subdominios y servidores usan HTTPS correctamente.

Siguiendo estas precauciones, evitarás problemas al aplicar HSTS y mejorarás la seguridad de tu sitio sin riesgos innecesarios. 🚀

Posted By

Deja una respuesta

¿Te gustaría trabajar conmigo?

Deja de soñar con el sitio web perfecto y comienza a trabajar con uno de los mejores desarrolladores de WordPress del mundo.

New Client Special Offer