Perfect Forward Secrecy: Qué es y como activarlo en cPanel (Como root)

La ciberseguridad es un campo en constante evolución, con nuevas amenazas, lagunas y exploits que se descubren y abordan continuamente.

El acrónimo PFS significa “secreto directo perfecto“, que es una característica de seguridad relativamente reciente para sitios web. Su objetivo es evitar que futuras vulnerabilidades y brechas de seguridad comprometan la comunicación, la información o los datos actuales o pasados ​​al aislar el cifrado de cada transacción.

Tradicionalmente, los datos cifrados estarían protegidos por una única clave de cifrado privada mantenida por el servidor, que podría usar para descifrar toda la comunicación histórica con el servidor usando una clave pública. Esto presenta un riesgo de seguridad potencial en el futuro, ya que un atacante puede pasar semanas, meses o años escuchando el tráfico cifrado, almacenando los datos y esperando su momento.

Es un método criptográfico para garantizar la seguridad de las transacciones de datos entre un cliente y un servidor.
Si bien PFS ofrece un alto grado de seguridad, no es un método infalible y es vulnerable a infracciones en el contexto de un ataque de intermediario (MITM).

Con Perfect Forward Secrecy, la verificación de SSL tendrá una mejor puntuación, más seguridad y además puede impactar en el ranking de SEO.

Para poder configurar y activar Perfect Forward Secrecy en cPanel es necesario, primero y antes que nada, tener acceso al servidor con credenciales root.

Dentro de “cPanel Web Services Configuration” debemos configurar la lista de TLS/SSL ciphers que podemos utilizar. Esta opción se encuentra en el WHM del servidor, en Service Configuration => cPanel Web Services Configuration.

El parámetro a editar es TLS/SSL Cipher List.

Los valores recomendados a utilizar son:

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK

Luego, en Apache Configuration => Include Editor => Pre Main Include => All Versions, debemos configurar SSLHonorCipherOrder, agregando en la configuración global de apache las siguientes líneas:

SSLHonorCipherOrder On
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2

Luego de aplicar los cambios, debemos reiniciar Apache (Lo hacemos desde Restart Services => HTTP Server (Apache)) y verificarlo utilizando por ejemplo un sitio web como SSLLABS.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube  para videos tutoriales de Hosting, prácticas y demás. También puede encontrarnos en  X (Twitter)Facebook e Instagram.