Diferència entre revisions de la pàgina «Grup 3 - Implementar HTTPS, HSTS i WAF (IETI Cloud)»

De Wiket
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «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 ==...».)
 
Línia 7: Línia 7:
  
 
== Informe ==
 
== 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 <code>/etc/hosts</code>. Per generar el certificat i la seva clau privada utilitzarem OpenSSL.
 +
<syntaxhighlight lang="bash">
 +
sudo openssl req -x509 -nodes -newkey rsa:4096 -keyout privkey.key -out fullchain.crt -days 365
 +
</syntaxhighlight>
 +
Modificarem els fitxers de configuració d'Apache per tal d'afegir els nous certificats.
 +
<syntaxhighlight lang="apache">
 +
<VirtualHost *:80>
 +
        ServerName local.dev
 +
        ServerAlias wordpress.local.dev
 +
 +
        RewriteEngine On
 +
        RewriteCond %{SERVER_NAME} =wordpress.local.dev
 +
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
 +
</VirtualHost>
 +
<VirtualHost *:443>
 +
        ServerName local.dev
 +
        ServerAlias wordpress.local.dev
 +
 +
        Header always set Strict-Transport-Security "max-age=15780000; includeSubDomains"
 +
 +
        SSLEngine On
 +
        SSLProxyEngine On
 +
        SSLCertificateFile /opt/ssl/live/localhost/fullchain.crt
 +
        SSLCertificateKeyFile /opt/ssl/live/grup3ieti.tk/privkey.key
 +
        Include /opt/ssl/options-ssl-apache.conf
 +
 +
        RequestHeader set X-Forwarded-Proto https
 +
        ProxyPreserveHost On
 +
 +
        ProxyPass / http://wp/
 +
        ProxyPassReverse / http://wp/
 +
 +
        ErrorLog ${APACHE_LOG_DIR}/wordpress.grup3ieti.tk-error.log
 +
        CustomLog ${APACHE_LOG_DIR}/wordpress.grup3ieti.tk-access.log combined
 +
</VirtualHost>
 +
</syntaxhighlight>
  
 
== Referències ==
 
== Referències ==
 
* [https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes Docker - Backup, Restore or Migrate Data Volumes]
 
* [https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes Docker - Backup, Restore or Migrate Data Volumes]

Revisió del 15:36, 7 abr 2022

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.

<VirtualHost *:80>
        ServerName local.dev
        ServerAlias wordpress.local.dev

        RewriteEngine On
        RewriteCond %{SERVER_NAME} =wordpress.local.dev
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
        ServerName local.dev
        ServerAlias wordpress.local.dev

        Header always set Strict-Transport-Security "max-age=15780000; includeSubDomains"

        SSLEngine On
        SSLProxyEngine On
        SSLCertificateFile /opt/ssl/live/localhost/fullchain.crt
        SSLCertificateKeyFile /opt/ssl/live/grup3ieti.tk/privkey.key
        Include /opt/ssl/options-ssl-apache.conf

        RequestHeader set X-Forwarded-Proto https
        ProxyPreserveHost On

        ProxyPass / http://wp/
        ProxyPassReverse / http://wp/

        ErrorLog ${APACHE_LOG_DIR}/wordpress.grup3ieti.tk-error.log
        CustomLog ${APACHE_LOG_DIR}/wordpress.grup3ieti.tk-access.log combined
</VirtualHost>

Referències