Certificati SSL: differenze tra le versioni

Da Webmobili Wiki.
Riga 134: Riga 134:
</syntaxhighlight>
</syntaxhighlight>
Importante, alla domanda sul '''Common Name''' specificare il NOME DEL DOMINIO (es <code>designbestmagazine.com</code>)
Importante, alla domanda sul '''Common Name''' specificare il NOME DEL DOMINIO (es <code>designbestmagazine.com</code>)
=== Certificato ssl autofirmato ===
Per <u>generare un certificato autofirmato</u>
<syntaxhighlight>
sudo mkdir /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
</syntaxhighlight >
Alla domanda sul ''common name'' è necessario scrivere il nome della macchina sul dominio (lo stesso di a <code>/etc/hostname</code>). Il certificato generato vale solo 10 anni, cambiare il parametro days a piacimento<br/><br/>


== Trovaprodotti ==
== Trovaprodotti ==

Versione delle 15:24, 15 feb 2024

Certificati SSL

Esistono diversi tipi di certificati SSL, genericamente si possono suddividere in 3 tipologie

  • DOMAIN VALIDATION
    Validano il dominio. Non c'è nessuna identificazione dell'azienda e non sono consigliati per "scopi commerciali".
    Sono la categoria più economica (~ 70€ all'anno per dominio).
  • ORGANIZATION VALIDATION
    Validano il dominio e identificano l'azienda. Sono molto più costosi (~ 225€ l'anno).
  • EXTENDED ORGANIZATION VALIDATION
    Come l'altro ma con molti servizi aggiuntivi.

Ognuno di questi può avere opzionalmente la caratteristica wildcard che comprende tutti i sottodomini (es. webmobili.it + tavoli.webmobili.it + notte.webmobili.it + cucine.webmobili.it ...).

I nostri consulenti SEO (InTarget) hanno asserito che Google non bada alla qualità del certificato ma solo alla sua presenza.


Apache

Per creare un VirtualHost con certificato autentico aggiungere un file dentro alla cartella /etc/apache2/sites-available con la configurazione personalizzata che utilizzi i certificati giusti.

Esempio pratico:

  • Copiare i file del certificato (crt e key) + il certificato intermedio nella cartella /etc/apache2/ssl/. N.B. Se si dispone del file .cer basta rinominare l'estensione in .crt
  • Unire certificato e certificato intermedio in un unico file con il comando
cat nomesito.com_ssl_certificate.crt nomesito.com_ssl_certificate_intermediate.crt >> nomesito.com_ssl_certificate_bundle.crt

Ricordarsi di mettere in /etc/apache2/ssl/ i tre file

  • nomesito.com_ssl_certificate.crt
  • nomesito.com_private_key.key
  • nomesito.com_ssl_certificate_bundle.crt

Il virtualhost aggiunge le direttive SSLEngine, SSLCertificateFile e SSLCertificateKeyFile.
È possibile configurare un redirect http => https direttamente dal virtualhost.

Esempio pratico:

#
# blog.designbest.com
#

<VirtualHost *:80>
        ServerName blog.designbest.com
        Redirect / https://blog.designbest.com/
</VirtualHost>

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin s.vincenzi@webmobili.it
                ServerName blog.designbest.com

                DirectoryIndex index.html index.htm index.php
                DocumentRoot /var/www/blog.designbest.com/
                Alias /phpmyadmin /usr/share/phpmyadmin

                <Directory />
                        Options FollowSymLinks
                        AllowOverride All
                </Directory>

                <Directory /var/www/blog.designbest.com/>
                        Options -Indexes +FollowSymLinks +MultiViews
                        AllowOverride All
                        Order allow,deny
                        Allow from all
                </Directory>

                SSLEngine on
                SSLCertificateFile /etc/apache2/ssl/designbest.com_ssl_certificate_bundle.crt
                SSLCertificateKeyFile /etc/apache2/ssl/designbest.com_private_key.key

                ErrorLog ${APACHE_LOG_DIR}/blog.designbest.com/error.log
                CustomLog ${APACHE_LOG_DIR}/blog.designbest.com/access.log combined
        </VirtualHost>
</IfModule>

Nginx

Per creare un VirtualHost con certificato ssl aggiungere un file dentro alla cartella /etc/nginx/sites-available con la configurazione personalizzata che utilizzi i certificati giusti. Per renderlo disponibile creare un symlink dentro alla cartella /etc/nginx/sites-enabled e restartare nginx.

Esempio pratico:

  • Copiare i file del certificato (crt e key) + il certificato intermedio nella cartella /etc/nginx/ssl/. N.B. Se si dispone del file .cer basta rinominare l'estensione in .crt
  • Unire certificato e certificato intermedio in un unico file con il comando
cat nomesito.com_ssl_certificate.crt nomesito.com_ssl_certificate_intermediate.crt >> nomesito.com_ssl_certificate_bundle.crt

Ricordarsi di mettere in /etc/nginx/ssl/ i tre file

  • nomesito.com_ssl_certificate.crt
  • nomesito.com_private_key.key
  • nomesito.com_ssl_certificate_bundle.crt


Per il momento su MULAN c'è solo designbest.com .
wm4pr.com è settato ma non usato. In uso in Test su POCAHONTAS.

  • Creare il virtual host
sudo touch /etc/nginx/sites-available/nomesito.com
sudo nano /etc/nginx/sites-available/nomesito.com

e scriverci dentro qualcosa come

server {
	listen 443 http2;
	ssl on;
	ssl_certificate /etc/nginx/ssl/nomesito.com_ssl_certificate_bundle.crt;
	ssl_certificate_key /etc/nginx/ssl/nomesito.com_ssl_certificate.key;
	
	server_name nomesito.com;

	location / {
		proxy_pass http://127.0.0.1:80;
		proxy_set_header X-Real-IP  $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto https;
		proxy_set_header X-Forwarded-Port 443;
		proxy_set_header Host $host;
	}
}


  • Pubblicare il virtual host su nginx
sudo ln -s /etc/nginx/sites-available/nomesito.com /etc/nginx/sites-enabled
sudo service nginx restart



Verificare la validità del certificato su siti come questo: SSL Certificate Checker


Richiesta CSR

Genera un file .csr e un file .key che sono la richiesta di certificato per il server in questione e la chiave privata.

openssl req -new -newkey rsa:2048 -nodes -keyout designbestmagazine.com_private_key.key -out designbestmagazine.com.csr

Importante, alla domanda sul Common Name specificare il NOME DEL DOMINIO (es designbestmagazine.com)

Certificato ssl autofirmato

Per generare un certificato autofirmato

sudo mkdir /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

Alla domanda sul common name è necessario scrivere il nome della macchina sul dominio (lo stesso di a /etc/hostname). Il certificato generato vale solo 10 anni, cambiare il parametro days a piacimento

Trovaprodotti

E' stato acquistato il certificato per *.wm4pr.com di tipo domain validation da 1&1. Ricordo che 1&1 ci hanno intimato la creazione della mail hostmaster@wm4pr.com per le comunicazioni relative ai certificati. La posta si scarica dalla webmail di register.

I file (.cer , .pfx e .key) si trovano sul server ARIEL nel folder
D:\WM3Resources\SSL
Per settare il binding https in IIS: aggiungere il binding, selezionare https e selezionare il certificato stando attenti a checkare Request Server Name Indication.

I nostri binding

Certificato SSL designbest

DESIGNBEST

  • designbest.com
  • www.designbest.com

DESIGNBEST-AREAPROGETTI

  • projects.designbest.com

DESIGNBEST-COMMERCE

  • shop.designbest.com

DESIGNBEST-COMMERCE-SYNC

  • testcommerce.designbest.com

DESIGNBEST-IMAGES

  • immagini.designbest.com

DESIGNBEST-MAGAZINE

  • magazine.designbest.com

DESIGNBEST-RESTSERVICE

  • ws.designbest.com

DESIGNBEST-STATISTICHE

  • statistics.designbest.com

USO

  • my.designbest.com

BLOG DESIGNBEST (MERIDA)

  • blog.designbest.com (no Let's Encrypt, certbot lancia un errore che butta giù apache)
  • promo.designbest.com (ora gestito con Let's Encrypt)

DESIGNBEST (MULAN)

  • designbest.com
  • www.designbest.com

Problema con file PFX

Nel maggio 2022 è capitato che il file del certificato designbest per Windows, il PFX scaricato dal portale di ionos fosse corrotto.
La soluzione è stata generarlo autonomamente a partire dai file certificate.cer , certificate_intermediate.cer e certificate.key.

Dalla macchina MERIDA , in una cartella con i tre file,
prima genero un bundle

cat designbest.com_ssl_certificate.cer designbest.com_ssl_certificate_intermediate.cer >> designbest.com_ssl_certificate_bundle.cer

Poi creo il file .pfx con openssl

openssl pkcs12 -export -name "*.designbest.com" -out designbest.com.pfx -inkey designbest.com_private_key.key -in designbest.com_ssl_certificate.crt -in designbest.com_ssl_certificate_bundle.crt

Specificando il Friendly Name (*.designbest.com) che apparirà su IIS e i file che devono essere inclusi.
Viene chiesta la password, usare sempre la stessa solita.

Certificato SSL webmobili

DESIGNBEST-IMAGES

  • immagini.webmobili.it

WEBMOBILI-REPOSITORY

  • repository.webmobili.it

BLOG DESIGNBEST (su Merida)

  • www.webmobili.it
  • webmobili.it

Certificato SSL wm4pr

TROVAPRODOTTI

  • wm4pr.com
  • www.wm4pr.com
  • bo.wm4pr.com
  • test.wm4pr.com (su JASMINE)

TROVAPRODOTTI-IMAGES

  • imgs.wm4pr.com

Certificato SSL dbdemo47

Tutto Let'sEncrypt.
Ricordarsi di passare tutti i WebSites di JASMINE.
Il certificato deve essere messo anche sulla macchina POCAHONTAS.