Jak nastavit a nakonfigurovat certifikační autoritu (CA) v Debian 11
Úvod do problematiky CA
Certifikační autorita, zkráceně CA, představuje důvěryhodný subjekt, který se zabývá vydáváním, elektronickým podepisováním a správou digitálních certifikátů. Digitální certifikát je elektronický záznam, který spojuje identitu dané entity – může jít o osobu, organizaci, či dokonce zařízení – s odpovídajícím kryptografickým klíčem. Tyto certifikáty hrají klíčovou roli při ověřování identity a zabezpečení komunikace v prostředí veřejných sítí, jako je například internet.
Zavedení a konfigurace vlastní certifikační autority v prostředí Debianu 11 přináší řadu výhod, mezi které patří:
- Posílení kontroly a zabezpečení: Umožňuje vám vydávat certifikáty pro vaše interní systémy a aplikace, a to bez nutnosti spoléhat se na externí poskytovatele CA.
- Snížení finančních nákladů: Vydávání certifikátů ve vlastní režii může být ekonomicky výhodnější než nákup certifikátů od komerčních CA.
- Možnost personalizace: Vaši CA můžete nastavit tak, aby dokonale vyhovovala specifickým požadavkům vaší organizace.
Nainstalování potřebných softwarových balíčků
Pro zahájení procesu je nejprve nezbytné nainstalovat potřebné balíčky. Použijte k tomu následující příkaz:
sudo apt install openssl ca-certificates
Nastavení souborů certifikační autority
1. Vytvoření složky pro CA soubory
Nejdříve si vytvořte adresář, do kterého budou uloženy soubory vaší CA:
sudo mkdir /etc/pki/CA
2. Vytvoření databáze certifikátů CA
Nyní je potřeba vytvořit databázi pro certifikáty CA. Využijte k tomu příkaz openssl:
sudo openssl req -new -x509 -days 3650 -subj "/C=CZ/ST=Kraj/L=Město/O=Název organizace/OU=Název oddělení/CN=JménoCA" -newkey rsa:4096 -keyout /etc/pki/CA/ca.key -out /etc/pki/CA/ca.crt
V tomto příkazu platí:
/C=CZ: Jedná se o dvoumístný kód vaší země./ST=Kraj: Zde uveďte název vašeho kraje./L=Město: Zde uveďte název vašeho města./O=Název organizace: Vložte sem název vaší organizace./OU=Název oddělení: Zadejte název vašeho oddělení (tento údaj je volitelný)./CN=JménoCA: Sem vložte obecný název vaší CA.
3. Zřízení adresářů pro certifikáty a seznamy odvolaných certifikátů (CRL)
V dalším kroku vytvořte složky pro uložení vydaných certifikátů a seznamů CRL:
sudo mkdir /etc/pki/CA/certs
sudo mkdir /etc/pki/CA/crl
4. Vytvoření konfiguračního souboru CA
V adresáři CA vytvořte konfigurační soubor s názvem openssl.cnf:
sudo nano /etc/pki/CA/openssl.cnf
Do tohoto souboru vložte následující obsah:
[ CA_default ] default_ca = CA_default [ CA_default ] dir = /etc/pki/CA # (výchozí: ./demoCA) certs = $dir/certs # (výchozí: $dir/certs) crl_dir = $dir/crl # (výchozí: $dir/crl) new_certs_dir = $dir/newcerts # (výchozí: $dir/newcerts) certificate = $dir/ca.crt # (výchozí: $dir/cacert.pem) serial = $dir/serial # (výchozí: $dir/serial) private_key = $dir/ca.key # (výchozí: $dir/private/cakey.pem) database = $dir/index.txt # (výchozí: $dir/index.txt) unique_subject = no # (výchozí: no) default_days = 365 # (výchozí: 365) default_md = sha256 # (výchozí: sha256) preserve = no # (výchozí: no) policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = optional organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional
Proces vydávání certifikátů
1. Generování žádosti o certifikát (CSR)
Pro server či klienta, které chcete zabezpečit, vygenerujte žádost o certifikát (CSR):
sudo openssl req -new -newkey rsa:4096 -nodes -keyout /etc/pki/CA/server.key -out /etc/pki/CA/server.csr -subj "/C=CZ/ST=Kraj/L=Město/O=Název organizace/OU=Název oddělení/CN=server.domena.cz"
kde:
/C=CZ: Dvoumístný kód země./ST=Kraj: Název kraje./L=Město: Název města./O=Název organizace: Název organizace./OU=Název oddělení: Název organizační jednotky (volitelné)./CN=server.domena.cz: Obecný název pro vydaný certifikát.
2. Podepsání žádosti o certifikát
Žádost o certifikát podepište pomocí vaší CA a příkazu openssl:
sudo openssl ca -config /etc/pki/CA/openssl.cnf -extensions v3_req -in /etc/pki/CA/server.csr -out /etc/pki/CA/certs/server.crt
Tímto se vytvoří podepsaný certifikát server.crt.
Implementace certifikátu
V tento moment můžete implementovat nově vygenerovaný certifikát na váš server či klienta. Postup se může lišit v závislosti na konkrétním softwaru či službě.
Odvolání certifikátů
V případě, že certifikát byl kompromitován nebo již není potřeba, můžete jej odvolat pomocí tohoto příkazu:
sudo openssl ca -config /etc/pki/CA/openssl.cnf -revoke /etc/pki/CA/certs/server.crt
Zrušení certifikační autority
Pokud se rozhodnete zrušit celou vaši CA i s vydanými certifikáty, postupujte následovně:
1. Odvolání všech certifikátů
Nejprve odvolejte všechny certifikáty vydané vaší CA:
sudo openssl ca -config /etc/pki/CA/openssl.cnf -revoke /etc/pki/CA/certs/server.crt
2. Odstranění souborů CA
Poté odstraňte celou složku CA i s jejím obsahem:
sudo rm -rf /etc/pki/CA
Závěrečné shrnutí
Zavedením a konfigurací vlastní certifikační autority v systému Debian 11 získáváte kontrolu nad procesem vydávání a správy digitálních certifikátů. To vám umožňuje chránit komunikaci, ověřovat identitu a vytvářet bezpečné prostředí. Důležité je pravidelně zálohovat soubory CA a aktualizovat databázi certifikátů, aby byl zajištěn bezproblémový a bezpečný provoz.
Často kladené otázky
1. Lze tuto CA použít k vydávání certifikátů pro veřejné webové stránky?
Ano, můžete ji použít, ale je důležité zvážit důvěryhodnost vaší CA a ujistit se, že bude akceptována webovými prohlížeči.
2. Jak často bych měl zálohovat soubory CA?
Doporučuje se provádět zálohy pravidelně, ideálně denně nebo týdně. Tím zajistíte, že budete mít záložní kopii v případě selhání systému nebo ztráty dat.
3. Mohu tuto CA použít k vydávání certifikátů pro IoT zařízení?
Ano, pokud vaše zařízení splňuje bezpečnostní požadavky, můžete CA používat i pro IoT zařízení.
4. Co se stane, když ztratím klíč CA?
V případě ztráty klíče CA nebudete moci vydávat ani podepisovat nové certifikáty.