Instalace SSL certifikátu na MySQL server

V tomto dokumentu předpokládáme, že:

  • jste již obdrželi svůj SSL certifikát,
  • na svém serveru již máte nainstalovaný a nakonfigurovaný MySQL server.

V našem případě použijeme SSL certifikát vystavený pro doménu mysql.ssls.cz (za předpokladu, že se k MySQL serveru připojujeme přes doménu mysql.ssls.cz), přičemž:

  1. SSL certifikát máme uložený v souboru mysql.ssls.cz.crt,
  2. privátní klíč v souboru mysql.ssls.cz.key
  3. a certifikát podepisující certifikační autority (intermediate CA) v souboru ca_intermediate.crt.

Konfigurace MySQL serveru s SSL (TLS) certifikátem

  1. Přihlaste se ke stroji, na němž běží MySQL server.

  2. Nejprve se ujistíme, zda je již SSL na MySQL serveru povoleno. Připojte se k MySQL serveru pomocí MySQL klienta jako root uživatel a použijte:

    mysql> SHOW GLOBAL VARIABLES LIKE '%ssl%';
    +---------------+----------+
    | Variable_name | Value    |
    +---------------+----------+
    | have_openssl  | DISABLED |
    | have_ssl      | DISABLED |
    | ...           | ...      | 

    Zajímají nás pouze výše uvedené dva řádky. V tomto případě vidíme, že SSL není povolené.

  3. Uložíme soubory s SSL certifikátem, intermediate certifikáty a privátním klíčem do adresáře /var/ssl/mysql a nastavíme k nim přístup:

    chown -R mysql:mysql /var/ssl/mysql

  4. V konfiguračním souboru MySQL serveru /etc/my.cnf v sekci pod [mysqld] nastavíme:

    ssl-ca = /var/ssl/mysql/ca_intermediate.crt
    ssl-cert = /var/ssl/mysql/mysql.ssls.cz.crt
    ssl-key = /var/ssl/mysql/mysql.ssls.cz.key

  5. Dále v konfiguračním souboru MySQL serveru /etc/my.cnf v sekci pod [mysqld] zakomentujeme skip_ssl:

    #skip_ssl

  6. A ještě v konfiguračním souboru MySQL serveru /etc/my.cnf v sekci pod [mysqld] povolíme require_secure_transport, aby bylo vyžadováno pouze zabezpečené (šifrované) spojení:

    # Require clients to connect either using SSL
    # or through a local socket file
    require_secure_transport = ON

  7. Restartujeme MySQL server:

    service mysqld restart

  8. Ověříme, zda je MySQL server nakonfigurován správně:

    mysql -u root -p --ssl-mode=required

    mysql> SHOW GLOBAL VARIABLES LIKE '%ssl%';
    +---------------+------------------------------------+
    | Variable_name | Value                              |
    +---------------+------------------------------------+
    | have_openssl  | YES                                |
    | have_ssl      | YES                                |
    | ssl_ca        | /var/ssl/mysql/ca_intermediate.crt |
    | ssl_cert      | /var/ssl/mysql/mysql.ssls.cz.crt   |
    | ssl_key       | /var/ssl/mysql/mysql.ssls.cz.key   |
    | ...           | ...                                |

  9. Pro jistotu ověříme status MySQL serveru, kde na řádku SSL uvidíme konkrétní šifrovací sady:

    mysql> STATUS 
    ---------------
    mysql  Ver X.X for Linux
    ...
    SSL:                    Cipher in use is DHE-RSA-AES256-SHA
    ...

    Pokud SSL není funkční, tj. pokud se zobrazuje SSL: Not in use, vyhledejte příčinu v logu /var/log/mysqld.log

  10. Nakonfigurujeme MySQL server, aby vyžadoval zabezpečené spojení:

    mysql> UPDATE mysql.user SET ssl_type = 'ANY' WHERE user = 'gateway';
    mysql> FLUSH PRIVILEGES;

  11. Ukončete MySQL klienta a ověřte, zda MySQL server vyžaduje zabezpečené (šifrované) spojení pokusem o připojení nezabezpečeným spojením:

    mysql -u gateway -p --ssl-mode=DISABLED

SSL certifikát — 169 Kč

Přejděte na důvěryhodný SSL certifikát AlpiroSSL se silným až 256-bit šifrováním a ušetřete.

Zelený adresní řádek

Nepřehlédnutelný indikátor důvěryhodného webu, díky kterému zvýšíte konverze a zisky.

Multidoménové UC/SAN

Skonsolidujte všechny Vaše SSL certifikáty do jednoho multidoménového SSL certifikátu!

Uživatel SSL Přihlášení

Zavřít

Uživatel SSL Nový zákazník

Zavřít
Zavřít
Zavřít
Doporučené SSL certifikáty
Zavřít
Máte dotaz?
Napište nám
Nenašli jste řešení na stránce Podpora a Nejčastější dotazy?
Jméno a příjmení: E-mail:
Odesílám…Odeslat
Tato stránka používá soubory cookies. více informací
Souhlasím