Certificati SSL: differenze tra le versioni
Nessun oggetto della modifica |
|||
| (25 versioni intermedie di uno stesso utente non sono mostrate) | |||
| Riga 11: | Riga 11: | ||
I nostri consulenti SEO (InTarget) hanno asserito che Google non bada alla qualità del certificato ma solo alla sua presenza. | 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 <code>/etc/apache2/sites-available</code> con la configurazione personalizzata che utilizzi i certificati giusti.<br/><br/> | |||
''Esempio pratico:'' | |||
* Copiare i file del certificato (crt e key) + il <u>certificato intermedio</u> nella cartella <code>/etc/apache2/ssl/</code>. 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 | |||
<syntaxhighlight lang="bash"> | |||
cat nomesito.com_ssl_certificate.crt nomesito.com_ssl_certificate_intermediate.crt >> nomesito.com_ssl_certificate_bundle.crt | |||
</syntaxhighlight> | |||
Ricordarsi di mettere in <code>/etc/apache2/ssl/</code> i tre file | |||
* <code>nomesito.com_ssl_certificate.crt</code> | |||
* <code>nomesito.com_private_key.key</code> | |||
* <code>nomesito.com_ssl_certificate_bundle.crt</code><br/><br/> | |||
Il '''virtualhost''' aggiunge le direttive '''SSLEngine''', '''SSLCertificateFile''' e '''SSLCertificateKeyFile'''.<br/> | |||
È possibile configurare un '''redirect ''http'' => ''https''''' direttamente dal virtualhost.<br/><br/> | |||
''Esempio pratico:''<br/> | |||
<syntaxhighlight lang="apache"> | |||
# | |||
# 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> | |||
</syntaxhighlight> | |||
=== Nginx === | |||
Per creare un VirtualHost con certificato ssl aggiungere un file dentro alla cartella <code>/etc/nginx/sites-available</code> con la configurazione personalizzata che utilizzi i certificati giusti. | |||
Per renderlo disponibile creare un symlink dentro alla cartella <code>/etc/nginx/sites-enabled</code> e restartare nginx.<br/><br/> | |||
Esempio pratico: | |||
* Copiare i file del certificato (crt e key) + il <u>certificato intermedio</u> nella cartella <code>/etc/nginx/ssl/</code>. 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 | |||
<syntaxhighlight lang="bash"> | |||
cat nomesito.com_ssl_certificate.crt nomesito.com_ssl_certificate_intermediate.crt >> nomesito.com_ssl_certificate_bundle.crt | |||
</syntaxhighlight> | |||
Ricordarsi di mettere in <code>/etc/nginx/ssl/</code> i tre file | |||
* <code>nomesito.com_ssl_certificate.crt</code> | |||
* <code>nomesito.com_private_key.key</code> | |||
* <code>nomesito.com_ssl_certificate_bundle.crt</code> | |||
<br/> | |||
Per il momento su <code>MULAN</code> c'è solo designbest.com .<br/> | |||
wm4pr.com è settato ma non usato. In uso in Test su <code>POCAHONTAS</code>. | |||
<br/><br/> | |||
* Creare il virtual host | |||
<syntaxhighlight lang="bash"> | |||
sudo touch /etc/nginx/sites-available/nomesito.com | |||
sudo nano /etc/nginx/sites-available/nomesito.com | |||
</syntaxhighlight> | |||
e scriverci dentro qualcosa come | |||
<syntaxhighlight lang="bash"> | |||
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; | |||
} | |||
} | |||
</syntaxhighlight><br/> | |||
* Pubblicare il virtual host su nginx | |||
<syntaxhighlight lang="bash"> | |||
sudo ln -s /etc/nginx/sites-available/nomesito.com /etc/nginx/sites-enabled | |||
sudo service nginx restart | |||
</syntaxhighlight><br/><br/> | |||
Verificare la validità del certificato su siti come questo: | |||
[https://www.digicert.com/help/ SSL Certificate Checker] | |||
=== Richiesta CSR === | |||
Genera un file <code>.csr</code> e un file <code>.key</code> che sono la richiesta di certificato per il server in questione e la chiave privata. | |||
<syntaxhighlight lang="bash"> | |||
openssl req -new -newkey rsa:2048 -nodes -keyout designbestmagazine.com_private_key.key -out designbestmagazine.com.csr | |||
</syntaxhighlight> | |||
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>).<br/> | |||
Il certificato generato vale solo 10 anni, cambiare il parametro days a piacimento<br/><br/> | |||
== Trovaprodotti == | == Trovaprodotti == | ||
| Riga 52: | Riga 182: | ||
BLOG DESIGNBEST (MERIDA) | BLOG DESIGNBEST (MERIDA) | ||
* blog.designbest.com | * 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.<br/> | |||
La soluzione è stata '''generarlo autonomamente''' a partire dai file <code>certificate.cer</code> , <code>certificate_intermediate.cer</code> e <code>certificate.key</code>.<br/><br/> | |||
Dalla macchina ''MERIDA'' , in una cartella con i tre file,<br/> | |||
prima genero un '''bundle''' | |||
<syntaxhighlight lang="bash"> | |||
cat designbest.com_ssl_certificate.cer designbest.com_ssl_certificate_intermediate.cer >> designbest.com_ssl_certificate_bundle.cer | |||
</syntaxhighlight> | |||
Poi creo il '''file .pfx''' con ''openssl'' | |||
<syntaxhighlight lang="bash"> | |||
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 | |||
</syntaxhighlight> | |||
Specificando il ''Friendly Name'' (*.designbest.com) che apparirà su IIS e i file che devono essere inclusi.<br/> | |||
Viene chiesta la ''password'', usare sempre la stessa solita. | |||
=== Certificato SSL webmobili === | === Certificato SSL webmobili === | ||
| Riga 64: | Riga 216: | ||
* www.webmobili.it | * www.webmobili.it | ||
* webmobili.it | * webmobili.it | ||
* trovaprodotti.webmobili.it | |||
=== Certificato SSL wm4pr === | |||
TROVAPRODOTTI | |||
* wm4pr.com | |||
* www.wm4pr.com | |||
* test.wm4pr.com (su JASMINE) | |||
TROVAPRODOTTI LEGACY | |||
* legacy.wm4pr.com | |||
TROVAPRODOTTI-IMAGES | |||
* imgs.wm4pr.com | |||
=== Certificato SSL dbdemo47 === | |||
Tutto '''Let'sEncrypt'''.<br/> | |||
Ricordarsi di passare tutti i WebSites di JASMINE.<br/> | |||
Il certificato deve essere messo anche sulla macchina POCAHONTAS. | |||
== Let's Encrypt == | |||
[[Certificati Lets'Encrypt]] | |||
Versione attuale delle 16:08, 3 apr 2024
Certificati SSL
[modifica]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
[modifica]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.crtnomesito.com_private_key.keynomesito.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
[modifica]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.crtnomesito.com_private_key.keynomesito.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
[modifica]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
[modifica]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.crtAlla 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
[modifica]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
[modifica]Certificato SSL designbest
[modifica]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
[modifica]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
[modifica]DESIGNBEST-IMAGES
- immagini.webmobili.it
WEBMOBILI-REPOSITORY
- repository.webmobili.it
BLOG DESIGNBEST (su Merida)
- www.webmobili.it
- webmobili.it
- trovaprodotti.webmobili.it
Certificato SSL wm4pr
[modifica]TROVAPRODOTTI
- wm4pr.com
- www.wm4pr.com
- test.wm4pr.com (su JASMINE)
TROVAPRODOTTI LEGACY
- legacy.wm4pr.com
TROVAPRODOTTI-IMAGES
- imgs.wm4pr.com
Certificato SSL dbdemo47
[modifica]Tutto Let'sEncrypt.
Ricordarsi di passare tutti i WebSites di JASMINE.
Il certificato deve essere messo anche sulla macchina POCAHONTAS.