Jak nastavit a nakonfigurovat certifikační autoritu (CA) na Debianu 11

Úvodní informace

Certifikační autorita (CA) je klíčovým prvkem v oblasti digitální bezpečnosti. Jedná se o důvěryhodnou entitu, která generuje a spravuje digitální certifikáty. Tyto certifikáty slouží k ověřování totožnosti různých subjektů, jako jsou webové servery, e-mailové služby či jednotliví uživatelé. Hlavním úkolem certifikátů je zajištění důvěrnosti, integrity a autenticity při elektronické komunikaci. CA tedy hraje zásadní roli v procesu ověřování a potvrzování identity subjektů, pro které jsou certifikáty určeny.

Rozlišujeme dva základní typy certifikačních autorit: komerční a interní. Komerční CA jsou nezávislé společnosti poskytující certifikační služby za úplatu. Naproti tomu interní CA jsou provozovány přímo organizacemi, které takto vydávají certifikáty pro vlastní potřebu v rámci interní sítě.

Tento návod vás provede procesem nastavení a konfigurace interní certifikační autority na serveru s operačním systémem Debian 11. Zaměříme se na použití nástroje OpenSSL, který představuje robustní open-source sadu nástrojů pro zabezpečení komunikace.

Instalace OpenSSL

Začneme instalací balíčku OpenSSL na server Debian 11. K tomu použijte následující příkaz:

apt install openssl

Vytvoření kořenového klíče a certifikátu CA

Kořenový klíč CA je soukromý klíč, který se používá k podepisování všech certifikátů vydávaných danou CA. Kořenový certifikát CA je veřejný klíč, který odpovídá kořenovému klíči a slouží k ověření certifikátů podepsaných CA.

1. Generování kořenového klíče CA

Použijte následující příkaz pro vytvoření 4096bitového kořenového klíče CA:

openssl genrsa -out rootCA.key 4096

2. Generování kořenového certifikátu CA

Následně vytvořte odpovídající kořenový certifikát CA pomocí tohoto příkazu:

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1095 -out rootCA.crt

V tomto příkazu:

  • -x509 specifikuje typ generovaného certifikátu.
  • -new indikuje, že se jedná o nový certifikát.
  • -nodes zajišťuje, že certifikát nebude obsahovat privátní klíč.
  • -key rootCA.key definuje privátní klíč použitý pro podepsání certifikátu.
  • -sha256 stanovuje použitý hashovací algoritmus.
  • -days 1095 určuje platnost certifikátu (v tomto případě 3 roky).
  • -out rootCA.crt určuje název výstupního souboru s kořenovým certifikátem CA.

Vytváření subjektů a vydávání certifikátů

Po nastavení CA můžeme přistoupit k vytváření subjektů a vydávání certifikátů.

1. Vytvoření subjektu

a. Generování privátního klíče subjektu

Pro vytvoření privátního klíče subjektu použijte následující příkaz:

openssl genrsa -out server.key 2048

b. Generování žádosti o podpis certifikátu (CSR)

Dále vytvořte žádost o podpis certifikátu (CSR) pro subjekt pomocí tohoto příkazu:

openssl req -new -key server.key -out server.csr

c. Přidání SAN rozšíření do CSR

Pro přidání alternativních jmen subjektů (SAN) použijte následující příkaz:

openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 365 -sha256 -extfile san.ext

Soubor san.ext by měl obsahovat seznam SAN, například:

subjectAltName = DNS:example.com,DNS:*.example.com

2. Vydání certifikátu subjektu

Po vytvoření CSR můžete vydat certifikát subjektu pomocí následujícího příkazu:

openssl ca -in server.csr -out server.crt -cert rootCA.crt -keyfile rootCA.key -extensions v3_req -config openssl.cnf

V tomto příkazu:

  • -in server.csr specifikuje soubor s CSR subjektu.
  • -out server.crt určuje název výstupního souboru s certifikátem subjektu.
  • -cert rootCA.crt definuje kořenový certifikát CA pro podepisování.
  • -keyfile rootCA.key specifikuje kořenový klíč CA pro podepisování.
  • -extensions v3_req nařizuje načtení rozšíření SAN z CSR.
  • -config openssl.cnf určuje konfigurační soubor OpenSSL.

Ověření certifikátu

Po vydání certifikátu můžete provést jeho ověření pomocí příkazu:

openssl x509 -in server.crt -noout -text

Závěr

Gratulujeme, úspěšně jste nastavili a nakonfigurovali certifikační autoritu (CA) na serveru s Debianem 11. Tato CA je nyní schopna vydávat digitální certifikáty, které zajistí důvěrnost, integritu a autentizaci v elektronické komunikaci.

Po vytvoření CA a vydání certifikátů můžete nakonfigurovat své webové a e-mailové servery tak, aby tyto certifikáty využívaly pro zabezpečenou komunikaci.

Často kladené dotazy

1. Jaký je rozdíl mezi komerční a interní CA?

Komerční CA jsou třetí strany poskytující certifikační služby za úplatu, zatímco interní CA si organizace provozují samy pro vlastní potřebu.

2. Kolik CA je vhodné vytvořit?

Doporučuje se mít alespoň jednu kořenovou CA a jednu podřízenou CA. Kořenová CA by měla sloužit pouze k podepisování podřízených CA, které se následně využijí k podepisování certifikátů jednotlivých subjektů.

3. Jak dlouho by měl certifikát platit?

Doba platnosti certifikátu je závislá na typu certifikátu a účelu, pro který je vydán. Obecně se doporučuje platnost 1 až 2 roky.

4. Jakým způsobem mohu certifikát zrušit?

Certifikát lze zrušit prostřednictvím seznamu zrušených certifikátů (CRL). CRL je seznam certifikátů, které byly z CA odvolány.

5. Jak nakonfigurovat služby pro používání certifikátů vydaných mnou vytvořenou CA?

Konfigurace služeb je individuální a závisí na typu služby. Obvykle je však potřeba nainstalovat kořenový certifikát CA do důvěryhodného úložiště certifikátů dané služby a následně nakonfigurovat službu tak, aby používala certifikát subjektu, který vydala vaše CA.

6. Co se stane při ztrátě privátního klíče CA?

Ztráta privátního klíče CA znemožní podepisování nových certifikátů i rušení stávajících. V takovém případě je nutné vytvořit novou CA a vydat nové certifikáty pro všechny subjekty.

7. Jak mohu obnovit kořenový certifikát CA?

Obnovení kořenového certifikátu CA zahrnuje:

  • Vytvoření nového privátního klíče CA.
  • Vytvoření nového kořenového certifikátu CA podepsaného novým privátním klíčem.
  • Nahrazení stávajícího kořenového certifikátu CA novým.
  • Aktualizaci seznamu důvěryhodných kořenových certifikátů u všech služeb o nový kořenový certifikát CA.

8. Jak mohu provést audit své CA?

Audit CA je možné provést několika způsoby:

  • Kontrolou logů.