SPOJE.NET

Technická dokumentace

Uživatelské nástroje

Nástroje pro tento web


navody:hosting:ssl

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Poslední revizeObě strany příští revize
navody:hosting:ssl [2014/01/14 20:14] gandalfnavody:hosting:ssl [2015/12/29 15:28] gandalf
Řádek 31: Řádek 31:
  
 <code bash> <code bash>
-openssl req -new -key nazevdomeny.key -out nazevdomeny.csr+openssl req -new -sha256 -key nazevdomeny.key -out nazevdomeny.csr
 </code> </code>
  
Řádek 59: Řádek 59:
 <code> <code>
 a2enmod ssl a2enmod ssl
 +</code>
 +
 +==== Doporučené nastavení mod_ssl ====
 +
 +Upravte nebo přidejte tyto volby v konfiguračním souboru __/etc/apache2/mods-available/ssl.conf__
 +<code>
 +SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4
 +SSLHonorCipherOrder on
 +SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
 </code> </code>
  
Řádek 158: Řádek 167:
 <code file> <code file>
 TLS_CERTFILE=/etc/ssl/private/vasedomena.pem TLS_CERTFILE=/etc/ssl/private/vasedomena.pem
 +TLS_PROTOCOL="TLS1_1:TLS1"
 +TLS_CIPHER_LIST="TLSv1:!SSLv2:!SSLv3:HIGH:!LOW:!MEDIUM:!EXP:!NULL@STRENGTH"
 </code> </code>
  
Řádek 169: Řádek 180:
 smtpd_tls_cert_file = /etc/ssl/private/vasedomena.pem smtpd_tls_cert_file = /etc/ssl/private/vasedomena.pem
 smtpd_tls_key_file = $smtpd_tls_cert_file smtpd_tls_key_file = $smtpd_tls_cert_file
 +smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5
 +smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
 +smtp_tls_mandatory_exclude_ciphers = aNULL, MD5
 +smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
 +lmtp_tls_mandatory_exclude_ciphers = aNULL, MD5
 +lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3
 </code> </code>
 +
 +===== Dovecot =====
 +
 +<code file>
 +ssl_cert_file = /etc/ssl/private/vasedomena.pem
 +ssl_key_file = /etc/ssl/private/vasedomena.pem
 +#ssl_protocols = !SSLv2 !SSLv3
 +</code>
 +
  
 ===== Lighttpd ===== ===== Lighttpd =====
Řádek 190: Řádek 216:
 openssl s_client -starttls smtp -crlf -connect vasedomena:25 openssl s_client -starttls smtp -crlf -connect vasedomena:25
 </code> </code>
 +
 +===== Self-Signed certifikát =====
 +
 +Někdy nám stačí certifikát, podepsaný sám sebou. Např. u méně důležitých služeb, kde potřebujeme šifrovat, ale nepotřebujeme ověřený certifikát, vydaný autoritou.
 +Vygenerování takového certifikátu probíhá obdobně, jako v předchozím případě:
 +
 +1. V adresáři ///etc/ssl/private// vygenerujeme tajný klíč
 +
 +<code bash>
 +openssl genrsa -out nazevdomeny.key 2048
 +</code>
 +
 +2. Nyní ke klíči připravíme žádost o certifikát
 +
 +<code bash>
 +openssl req -new -key nazevdomeny.key -out nazevdomeny.csr
 +</code>
 +
 +3. Následně vytvoříme certifikát, který podepíšeme stejný klíčem. Parametr **days** můžeme nastavit libovolně a určuje délku platnosti certifikátu.
 +
 +<code bash>
 +openssl x509 -req -days 365 -in nazevdomeny.csr -signkey nazevdomeny.key -out nazevdomeny.crt
 +</code>
 +
 +
 +A máme hotovo.
 +
 +
 +===== Ověření příslušnosti dvojice private a public key k sobě =====
 +
 +openssl rsa -noout -modulus -in test.key  | openssl md5
 +
 +openssl x509 -noout -modulus -in test.crt | openssl md5
 +
 +
 +===== Chyby v knihovně OpenSSL =====
 +
 +Začátkem dubna 2014 se objevila nepříjmená chyba v knihovně OpenSSL, která umožnuje ve verzi 1.0.1 útocníkům zjistit tajné klíče SSL certifikátů a následně dešifrovat hesla.
 +
 +Chyba se týká verze OpenSSL 1.0.1 - 1.0.1f a je opravena až od verze 1.0.1g
 +
 +  * OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable
 +  * OpenSSL 1.0.1g is NOT vulnerable
 +  * OpenSSL 1.0.0 branch is NOT vulnerable
 +  * OpenSSL 0.9.8 branch is NOT vulnerable
 +
 +{{ :navody:hosting:heartbleed.png?100 |}}
 +
 +**Tyto verze OS jsou chybou dotčeni**:
 +
 +  * Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4  (**opravuje balik 1.0.1e-2+deb7u7**)
 +  * Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11
 +  * CentOS 6.5, OpenSSL 1.0.1e-15 (**opravuje balik 1.0.1e-16**)
 +  * Fedora 18, OpenSSL 1.0.1e-4
 +  * OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012)
 +  * FreeBSD 10.0 - OpenSSL 1.0.1e 11 Feb 2013
 +  * NetBSD 5.0.2 (OpenSSL 1.0.1e)
 +  * OpenSUSE 12.2 (OpenSSL 1.0.1c)
 +
 +**Je nutné o nejdříve provést aktualizaci uvedených systémů a po provedené aktualizaci je nutno provést regenerování všech SSL certifikátů na serveru a změne hesel v aplikacích, které SSL připojení používají !!**
 +
 +Starsi verze OS jsou bezchybne:
 +
 +  * Debian Squeeze (oldstable), OpenSSL 0.9.8o-4squeeze14
 +  * SUSE Linux Enterprise Server
 +  * FreeBSD 8.4 - OpenSSL 0.9.8y 5 Feb 2013
 +  * FreeBSD 9.2 - OpenSSL 0.9.8y 5 Feb 2013
 +  * FreeBSD 10.0p1 - OpenSSL 1.0.1g (At 8 Apr 18:27:46 2014 UTC)
 +  * FreeBSD Ports - OpenSSL 1.0.1g (At 7 Apr 21:46:40 2014 UTC)
 +
 +**Diagnostika**
 +
 +Otestovat je možno aktuální verzí [[man>nmap]] - [[http://nmap.org/download.html]]
 +
 +<code>
 +nmap -sV --script=ssl-heartbleed <adresa>
 +</code>
 +
 +Podrobnosti o celé problematice je možné najít zde - [[http://heartbleed.com/]]
 +
 +Další zajímavé informace:
 +  * [[http://blog.nic.cz/2014/04/14/jak-heartbleed-poukazal-na-slabiny-certifikacnich-autorit/]]
 +  * [[http://www.root.cz/clanky/heartbleed-bug-vazna-zranitelnost-v-openssl/#ic=kolotoc-header&icc=heartbleed-bug-vazna-zranitelnost-v-openssl]]
 +  * [[http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html]]
 +
 +
 +==== Odkazy ====
 +
 +  * [[https://www.ssllabs.com/ssltest/]]
 +
 +
 +
 +