Najvýkonnejšie servery Najvýkonnejšie servery
Dlhodobý víťaz
v porovnávacích testoch výkonu
.

Jak zlepšit zabezpečení SSL certifikátem

Nápoveda > Cloud Server Linux > Ako zlepšiť zabezpečenie SSL certifikátom

Keď na Váš server nastavíte SSL certifikát, tak začnete chrániť návštevníkov proti odposluchu. SSL certifikát je však iba nástroj zabezpečenia a je na Vás, ako dobre ho budete používať.

Pre vysokú mieru bezpečnosti a stav, kedy bude certifikát využitý účelne a web bude skutočne bezpečný, je treba vykonať niekoľko nastavení. Defaultné nastavenie serveru nie je dostatečne bezpečné a je nutné ho upraviť.

SSLmarket

Ako referenciu pre správnosť nastavení použijeme najväčšiu autoritu v tejto oblasti, ktorou je Qualys a test SSL Labs. Je vytvorený odborníkmi a v súčasnosti najuznávanejším nástrojom pre kontrolu nastavení SSL certifikátu na servery.

Zmena defaultného nastavenia a náprava nedostatkov

    Táto defaultná konfigurácia, ktorú používa Debian, je iba na známku C:

    • zapnuté SSLv3 (nie je bezpečné a má byť vypnuté)
    • zapnutá RC4 šifra (šifra je preukázateľne slabá a zneužiteľná)
    • nepodporuje Forward Secrecy (znemožní akékoľvek neskoršie dešifrovanie zachytenej komunikácie)

    Poďme teda tieto nedostatky napraviť.

    Vypnutie SSLv3 sa vykoná v nastavení ssl.conf pre celý server:
    Editujte /etc/apache2/mods-available/ssl.conf a pridajte položku SSLProtocol all -SSLv2 -SSLv3.

    Vypnutie RC4 šifry vykonáte pripísaním výkričníku do zoznamu šifier tiež:
    SSLCipherSuite ... !RC4

    Forward Secrecy zabraňuje kompromitácii komunikácie, aj keby útočník získal privátny kľúč neskôr. Vďaka Diffie-Hellmanově výmene kľúčov je komunikácia nerozlúštitelná aj v budúcnosti. Predpokladeom pro funkčnú Forward Secrecy sú dva Diffie-Hellman algoritmi pre výmenu kľpčov DHE a ECDHE .

    Forward Secrecy zapnete tak, že zapnete radenie šifier a sady šifier s DH dáte dopredu (uprednostníte ich použitie zaradením na začiatok).

    Editujte opäť /etc/apache2/mods-available/ssl.conf :

    SSLHonorCipherOrder on

    SSLCipherSuite "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:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK"

    Tým sú hlavné problémy napravené . Môžete však v nastavení pokračovat ďalej.

    Pokročilé bezpečnostné nastavenie

    Pre silné zabezpečenie potrebujete vygenerovať tzv. Parametre pre DH výmenu kľúčov. Silné DH parametre sú mimo iného riešenie zranitelnosti zvanej Logjam.

    Generovánie DH parametrov vykonáte v Openssl:
    openssl dhparam -rand – 4096

    Výsledok bude chvíľu trvať (zvýšená záťaž serveru) a bude vyzerať takto (obsah súboru dhparam):

    -----BEGIN DH PARAMETERS-----
    MMIICCAKCAgEA9yJdHbC89LRTPVSAT1Lmik4SNed0z2uUiW86rFQ5dNl7J5O5t8kY
    MOMpTwCSyHAUyGJEhpJ29HCVX1LRd1Ue5L7jFuGUinrumYPagDBMsUCb/XPIV2RT/
    M9iRzc29Vo/8+UGpVkuD2cptp5qGLSDJr2L0kyNaGvFVdA5kLZ2b2fmUt2DtNAnWl
    MWx6HaMU8rhgnu5g8NbORn0KgSaAretHOJGfIfrJ4rDQrMGoVfHl6caRfB28Wrjq7
    MXzcZhY2X1AuyONmrDTdtgpfPyJ5/TuaLGt8t2oCmL166DvVhU2xpFh7aGdNq+7YV
    MVPkuT4XqoNOaffKL6MT9h8z28yKpwzA8gwRaQAuajdBdoyFvZ9Yo7HbH1FdjBfpx
    MEraAkJvVZ4LOOA2NlfcBcapz14rmJ9J+wTjjlbHJv4jibsDu96W5jiKhdFogEoid
    MBlI1YCzZah7+Yet8eHNuxgCH4hziU0iMLeN+zuMnn8QpIYBd6ncuogAQjByE+7Ms
    M+gTKSum6F6svkeL3h0G3M9r3wZRRmAkVopl0j+qRPfqjkVyd60oIaGdhD/xN3xm6
    MU4DGQVnA9/lYPbalbV4UuXbZp6GEIWOkLZKSMlJijgFrXC6P8mV0mNslZG87r21H
    MwmqC3o0ubxKjSYjQGrO4e7RZo3x61qDI16WefV3Ouq6Z07F2GYKLhyMCAQI=
    -----END DH PARAMETERS-----

    Tieto DH parametre uložte na koniec súboru s certifikátom, ktorý je v složke /etc/ssl/domena.cz/certifikat.pem. Vykonáte to napríklad príkazem cat /cesta/dhparam >> /etc/ssl/domena.cz/certifikat.pem.

    Apache vo verzii 2.4 a vyššej ich začne automaticky používať, čo sa prejaví vo vyššej bezpečnosti výmeny kľúčov a zamedzí zneužitiu zraniteľnosti Logjam.

    Získanie bonusového plus a známky A+

    Bezpečnosť použitia certifikátu a hodnotenie v testu SSLlabs môžete ešte zvýšiť použitím HTTP Strict Transport Security (HSTS).

    HSTS vylepšuje bezpečnosť návštevníkovho spojenia so serverom, pretože nedovolí komunikovať iným protokolom, ako je HTTPS. Nedovolí útočníkovi znížiť úroveň šifrovania (downgrade útok), ani použiť nešifrované HTTP. Viac o HSTS nájdete v článku českej Wikipedie HTTP Strict Transport Security.

    A+

    HSTS jednoducho pvoedané znamená, že na webe sa používa iba protokov HTTPS a už v žiadnom pripade nie HTTP.

    Upravte konfiguračný súbor Apache (/etc/apache2/sites-enabled/website.conf) a pridajte následujúci riadok k VirtualHostu:

    <VirtualHost _default_:443>
    Header always set Strict-Transport-Security "max-age=31536000"; includeSubDomain
    [...]</VirtualHost>

    Predpokladom fungovania je zapnutie headers (sudo a2enmod headers). Po nastavení Apache reštartujte.

    Po nastavení HSTS je nutné web presmerovať na HTTPS. To môžete dosiahnuť pomocou presmerovania:

    <VirtualHost *:80>
    [...]
    ServerName example.com
    Redirect permanent / https://example.com/
    </VirtualHost>

    alebo pomocou modrewrite

    <VirtualHost *:80>
    [...]
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    </IfModule>
    </VirtualHost>

    Nakoniec vykonajte reload Apache.

    Sledujte trendy a novinky pre bezpečné použitie HTTPS

    Pre aktuálne odporúčania ohľadne použitia SSL certifikátu odporúčame sledovať Magazín SSLmarketu venovaný tejto problematike na blog.sslmarket.cz.

    SSLmarket - největší prodejce ve střední Evropě