Grup 3 - Implementar HTTPS, HSTS i WAF (IETI Cloud)

De Wiket
Salta a la navegació Salta a la cerca

Tornar a Projecte IETI Cloud - Grup 3.

Tasca

33. Implementar HTTPS i HSTS (HTTPS only) en IETI Cloud.

34. Implementar WAF al IETI Cloud.

Informe

Per tal de poder establir connexions HTTPS necessitarem crear els certificats dins la màquina Proxmox, però com no te és accessible des de fora no podem certificar amb Certbot. És per això que generarem uns certificats autosignats per un domini el qual encaminarem mitjançant el fitxer /etc/hosts. Per generar el certificat i la seva clau privada utilitzarem OpenSSL.

sudo openssl req -x509 -nodes -newkey rsa:4096 -keyout privkey.key -out fullchain.crt -days 365

Modificarem els fitxers de configuració d'Apache per tal d'afegir els nous certificats.

 1 <VirtualHost *:80>
 2         ServerName local.dev
 3         ServerAlias wordpress.local.dev
 4 
 5         RewriteEngine On
 6         RewriteCond %{SERVER_NAME} =wordpress.local.dev
 7         RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
 8 </VirtualHost>
 9 <VirtualHost *:443>
10         ServerName local.dev
11         ServerAlias wordpress.local.dev
12 
13         Header always set Strict-Transport-Security "max-age=15780000; includeSubDomains"
14 
15         SSLEngine On
16         SSLProxyEngine On
17         SSLCertificateFile /opt/ssl/live/localhost/fullchain.crt
18         SSLCertificateKeyFile /opt/ssl/live/grup3ieti.tk/privkey.key
19         #Include /opt/ssl/options-ssl-apache.conf
20 
21         RequestHeader set X-Forwarded-Proto https
22         ProxyPreserveHost On
23 
24         ProxyPass / http://wp/
25         ProxyPassReverse / http://wp/
26 
27         ErrorLog ${APACHE_LOG_DIR}/wordpress.grup3ieti.tk-error.log
28         CustomLog ${APACHE_LOG_DIR}/wordpress.grup3ieti.tk-access.log combined
29 </VirtualHost>

Finalment, haurem de deshabilitar l'opció network.stricttransportsecurity.preloadlist dins la configuració de Firefox (about:config) i afegir una entrada al nostre fitxer /etc/hosts per tal de direccionar a aquest nou domini.

 1 127.0.0.1      localhost
 2 127.0.1.1      (hostname)
 3 127.0.0.1      local.dev www.local.dev classroom.local.dev wordpress.local.dev
 4 
 5 # The following lines are desirable por IPv6 capable hosts
 6 ::1      ip6-localhost ip6-loopback
 7 fe00::0  ip6-localnet
 8 ff00::0  ip6-mcastprefix
 9 ff02::1  ip6-allnodes
10 ff02::2  ip6-allrouters

Un cop aplicats tots aquests canvis haurem de reconstruir la imatge Docker del reverse proxy i ja podrem accedir als serveis desplegats sobre la màquina Proxmox.

docker-compose down
docker image rm local/apache-proxy:v2
docker-compose up -d --build

Referències