18th April 2017, 12:13
#1
1 out of 1 members found this post helpful.
Ce este HSTS?
Nu prea am gasit in Romania, un subiect in care sa se discute despre HSTS, poate ne ajuta. HSTS, forteaza browserele Web, sa foloseasca doar conexiuni HTTPS, pentru securizarea datelor. Implementarea HSTS, nu este complicata si se poate testa usor. Daca avem acces la server prin PUTTY, putem testa cu urmatoarea comanda:
[root@profesional ~]# curl -s -D- https://infoseo.ro/ | grep -i Strict
# Vom primi urmatorul cod de validare daca HSTS, este activ
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
O alta optiune de testare se poate gasi pe: https ://www.ssllabs.com/ssltest/index.html
Implementarea HSTS, pentru Apache 2:
Pentru implementarea codului HSTS, va trebui sa editam /etc/apache2/sites-enabled/website.conf si /etc/apache2/httpd.conf, unde vom adauga urmatorul cod in VirtualHost (modificati IP-ul):
# Implementarea HSTS, pentru Apache 2
LoadModule headers_module modules/mod_headers.so
<VirtualHost 188.214.142.81:443>
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"
</VirtualHost>
Implementarea se poate face si din fisierul .htaccess:
# HSTS in .htaccess
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=10886400; includeSubDomains; preload"
</IfModule>
18th April 2017, 20:29
#2
1 out of 1 members found this post helpful.
Sau, pentru o nota A+ la https://www.ssllabs.com/ssltest/
puteti folosi carnatul urmator (e pentru nginx, pentru apache gasiti pe google ceva similar) imediat dupa instructiunile privind calea certificatului si a cheii din config:
Cod:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
Fiecare chestiune e descrisa in link-ul sursa de mai jos, pentru cine e curios.
Este necesar ca, in prealabil, sa generati un certificat “Diffie-Hellman groupµ, folosind instructiunea (valabila pentru ubuntu si cel mai probabil merge si pe debian, cautati pe google pentru centos si altele ce mai folositi voi, sa fiti sigur ca se face la fel si ajunge in locul specificat anterior):
Cod:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
sursa: https://www.digitalocean.com/communi...n-ubuntu-14-04
Testat personal pe ubuntu 14 & 16
Ultima modificare făcută de Dan; 18th April 2017 la 20:35.
Trust, but verify.