Implementar HTTPS y HSTS

De Wiket
Salta a la navegació Salta a la cerca

Con respecto a la implementación HTTPS y HSTS, ha sido aplicada automáticamente a través del docker-compose que nosotros ejecutamos en unos de los puntos anteriores a este. Concretamente, en el punto 9. Accesibilidad a servicios externos, donde explicamos como obtener todo lo necesario para implementar todos los servicios que nos solicitan.


Comentado esto, explicaremos brevemente la configuración que añade nuestro docker-compose a nuestros diferentes virtualhost para que se logre dicha implementación (HTTPS y HSTS):


HSTS

En primer lugar, para la implementación de la política de seguridad HSTS en nuestro servidor web Nginx, deberemos aplicar las siguientes líneas de configuración que mostramos a continuación en cada uno de nuestros virtualhosts existentes:

  • location / ---> Este recurso se utiliza para indicarle al servidor web Nginx a donde tiene que dirigirse las solicitudes que se soliciten. En este caso, le indicamos /, lo que coincidirá con todas las solicitudes demandadas y nos dirigirá a nuestra página web (este recurso se utiliza como última opción). También, podremos poner nuestra URI exacta.
  • return 301 https:// ---> Se encarga de redireccionar el tráfico a la versión HTTPS de la página web visitada.
  • $host ---> Esta variable es igual a la línea host que se escribe en el encabezado de la solicitud del navegador web o el nombre del servidor que procesa la solicitud si el encabezado host no está disponible.
  • $request_uri ---> La variable $request_uri es el URI de solicitud original completo, incluyendo los argumentos. En este caso, /.
  • add_header Strict-Transport-Security "max-age=31536000" always; ---> Esta línea de configuración, se encargará de informar a cada unos de los navegadores web que sólo se puede acceder a nuestro sitio web mediante el protocolo HTTPS.


        # www.higieneposturalcloudgrupo2.tk
        upstream www.higieneposturalcloudgrupo2.tk {
        ## Can be connected with "web" network
        server 172.18.0.5:80;
        }
server {
        modsecurity on;
        modsecurity_rules_file /etc/nginx/modsec/main.conf;
        server_name www.higieneposturalcloudgrupo2.tk;
        listen 80 ;
        access_log /var/log/nginx/access.log vhost;
        # Do not HTTPS redirect Let'sEncrypt ACME challenge
        location ^~ /.well-known/acme-challenge/ {
                auth_basic off;
                auth_request off;
                allow all;
                root /usr/share/nginx/html;
                try_files $uri =404;
                break;
        }
        location / {
                return 301 https://$host$request_uri;
        }
}
server {
        modsecurity on;
        modsecurity_rules_file /etc/nginx/modsec/main.conf;
        server_name www.higieneposturalcloudgrupo2.tk;
        listen 443 ssl http2 ;
        access_log /var/log/nginx/access.log vhost;
        ssl_session_timeout 5m;
        ssl_session_cache shared:SSL:50m;
        ssl_session_tickets off;
        ssl_certificate /etc/nginx/certs/www.higieneposturalcloudgrupo2.tk.crt;
        ssl_certificate_key /etc/nginx/certs/www.higieneposturalcloudgrupo2.tk.key;
        ssl_dhparam /etc/nginx/certs/www.higieneposturalcloudgrupo2.tk.dhparam.pem;
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/nginx/certs/www.higieneposturalcloudgrupo2.tk.chain.pem;
        add_header Strict-Transport-Security "max-age=31536000" always;
        include /etc/nginx/vhost.d/default;
location / {
                proxy_pass http://www.higieneposturalcloudgrupo2.tk;
}


HST


Como siempre, recordad que por cada cambio se que se realice, deberemos guardarlo con la combinación de teclas Control + O y salir con la combinación de teclas Control + X.




HTTPS

HTTPS




Webgrafía



Volver a IETI Cloud Grupo 2