Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Funcionalidad

Esta guía consta de plantillas genéricas para realizar una correcta configuración de servidores Apache, Tomcat y Nginx. Además de una explicación más concreta de los aspectos más importantes por si fuera necesario personalizar la plantilla de configuración.

Requisitos

Comunicaciones entre cliente-servidor (básico)

Métodos de cifrado

Configuración del servidor utilizado (Apache, Nginx, Tomcat)

Descripción

Este acelerador tiene como objetivo reducir el tiempo invertido en la configuración de los servidores de aplicaciones (Apache, Nginx y Tomcat). Para ello se facilitarán a continuación unas plantillas de cada uno de los servidores, las cuales los dotarán de una mayor seguridad en las comunicaciones entre cliente-servidor.

Beneficios

  • Proteger la información sensible:  evitar que la información viaje en claro y pueda ser interceptada por un atacante, el cual podría visualizar o modificar dicha información, afectando a la confidencialidad, integridad y disponibilidad de los datos.

  • Generar confianza: entre cliente-servidor, garantizando la identidad del nombre del dominio donde se encuentra su servicio Web por medio de los certificados.

  • Lograr el cumplimiento de normativas: en materia de seguridad informática (RDPG, ENS, PCI-DSS, etc.).

Evidencias

Configuración por defecto

Configuración personalizada

Permitir  el uso de protocolos inseguros como TLS 1.0 y 1.1 puede causar vulnerabilidades, puesto que pueden ser utilizados en ataques Downgrade attack. Se recomienda deshabilitarlos por completo de modo que nuestro servidor solo acepte protocolos seguros (TLS 1.2 y 1.3).

Riesgos de seguridad

Recuerda

Las suite de cifrado de estas plantillas son orientativas, recuerda que si quieres saber más sobre ello o ya tienes las tuyas propias puedes verificar si son lo suficientemente seguras en la entrada del marco de seguridad Suites de cifrado TLS/SSL

Plantillas de servidor de aplicaciones

Plantilla servidor Apache

Si quieres mas información sobre configuraciones Apache puedes dirigirte a Configuración Servidor Apache

Configuración segura Apache

SSLCipherSuite    TLSv1.3   TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256
SSLCipherSuite    SSL       ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256
# Requires Apache 2.4.36 & OpenSSL 1.1.1
SSLProtocol -all +TLSv1.3 +TLSv1.2
SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1
# Older versions
# SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off

Plantilla servidor Nginx

Si quieres mas información sobre configuraciones Nginx puedes dirigirte a Configuración Servidor Nginx

/etc/nginx/nginx.conf

http {
    server {
    #Configuración de TLS
    listen 443 ssl http2;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/nginx/dhparam.pem;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256;
    ssl_ecdh_curve secp384r1;
    ssl_certificate ruta_certificado; #Indica la ruta de tu certificado
    ssl_certificate_key ruta_clave; #Indica la ruta de tu certificado    
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_session_cache   shared:SSL:40m;
    ssl_session_timeout 4h;
    ssl_session_tickets off;
 
    #Añadir cabeceras y DNS en función de tu producto
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    }
}

Plantilla servidor Tomcat

Si quieres mas información sobre configuraciones Tomcat puedes dirigirte a Configuración Servidor Tomcat

/etc/tomcat9/server.xml

<Server>
  <Service>
    <Connector port="443"
             protocol="org.apache.coyote.http11.Http11NioProtocol"
             SSLEnabled="true"
             maxThreads="150"
             scheme="https"
             secure="true"
             keystoreFile="Añade aqui la ruta de tu certificado"
             keystorePass="Contraseña del certificado"
             clientAuth="false"
             sslProtocol="TLSv1.2, TLSv1.3"
             sslEnabledProtocols="TLSv1.2, TLSv1.3"
             ciphers="ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256"
     />
  </Service>
</Server>
  • No labels