SSL (Secure Socket Layer ) a jeho vylepšenou verzi TLS (Vrstva transportní zásuvky ), jsou bezpečnostní protokoly, které se používají k zabezpečení webového provozu odesílaného z webového prohlížeče klienta na webový server.
SSL certifikát je digitální certifikát, který vytváří zabezpečený kanál mezi prohlížečem klienta a webovým serverem. Přitom jsou zašifrována citlivá a důvěrná data, jako jsou údaje o kreditních kartách, přihlašovací údaje a další vysoce soukromé informace, což brání hackerům v odposlouchávání a krádeži vašich informací.
Co je certifikát SSL s vlastním podpisem?
Certifikát SSL s vlastním podpisem, na rozdíl od jiných SSL certifikáty, které jsou podepsané a důvěryhodné Certifikační autoritou (CA ), je certifikát podepsaný osobou, která jej vlastní.
Jeho vytvoření je zcela zdarma a je to levný způsob šifrování vašeho lokálně hostovaného webového serveru. Použití certifikátu SSL s vlastním podpisem se však v produkčním prostředí důrazně nedoporučuje z následujících důvodů:
- Protože není podepsán Certifikační autoritou , certifikát SSL s vlastním podpisem generuje ve webových prohlížečích upozornění, která uživatele varují před potenciálním rizikem, pokud se rozhodnou pokračovat. Tato upozornění jsou nežádoucí a odradí uživatele od návštěvy vašeho webu, což může vést k poklesu webového provozu. Jako řešení těchto výstrah organizace obvykle vyzývají své zaměstnance, aby výstrahy jednoduše ignorovali a pokračovali vpřed. To může způsobit nebezpečný zvyk mezi uživateli, kteří se mohou rozhodnout tato upozornění na jiných online stránkách nadále ignorovat a potenciálně se tak stát obětí phishingových stránek.
- Certifikáty s vlastním podpisem mají nízkou úroveň zabezpečení, protože implementují nízkoúrovňové šifrovací technologie a hash. Úroveň zabezpečení tedy nemusí být na stejné úrovni jako standardní bezpečnostní zásady.
- Navíc chybí podpora pro funkce infrastruktury veřejného klíče (PKI).
To znamená, že použití certifikátu SSL s vlastním podpisem není špatný nápad pro testování služeb a aplikací na místním počítači, který vyžaduje TLS / SSL šifrování.
V této příručce se dozvíte, jak nainstalovat místní certifikát SSL s vlastním podpisem na Apache webový server localhost na CentOS 8 serverový systém.
Předpoklady:
Než začnete, ujistěte se, že máte následující základní požadavky:
- Instance serveru CentOS 8.
- Na serveru nainstalovaný webový server Apache
- Název hostitele již nakonfigurovaný a definovaný v souboru /etc/hosts soubor. Pro tuto příručku budeme používat
tecmint.local
název hostitele pro náš server.
Krok 1:Instalace Mod_SSL na CentOS
1. Chcete-li začít, musíte ověřit, že Apache webový server je nainstalován a spuštěn.
$ sudo systemctl status httpd
Zde je očekávaný výstup.

Ověřte stav Apache
Pokud webový server neběží, můžete jej spustit a povolit při bootování pomocí příkazu.
$ sudo systemctl start httpd $ sudo systemctl enable httpd

Spusťte webový server Apache
Poté můžete potvrdit, zda je Apache v provozu.
2. Chcete-li povolit instalaci a nastavení místního certifikátu SSL s vlastním podpisem, mod_ssl je vyžadován balíček.
$ sudo dnf install mod_ssl
Po instalaci můžete jeho instalaci ověřit spuštěním.
$ sudo rpm -q mod_ssl

Ověřte instalaci Mod SSL
Ujistěte se také, že OpenSSL je nainstalován balíček (OpenSSL je standardně nainstalován v CentOS 8 ).
$ sudo rpm -q openssl

Ověřte instalaci Openssl
Krok 2:Vytvořte místní certifikát SSL s vlastním podpisem pro Apache
3. S Apache webový server a všechny předpoklady v kontrole, musíte vytvořit adresář, ve kterém budou uloženy kryptografické klíče.
V tomto příkladu jsme vytvořili adresář na adrese /etc/ssl/private .
$ sudo mkdir -p /etc/ssl/private
Nyní vytvořte klíč a soubor místního certifikátu SSL pomocí příkazu:
$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt
Pojďme se podívat na to, co vlastně znamenají některé možnosti v příkazu:
- req -x509 – To znamená, že používáme x509 Certificate Signing Request (CSR).
- -uzly – Tato možnost nařídí OpenSSL, aby vynechala šifrování certifikátu SSL pomocí přístupové fráze. Cílem je umožnit Apache, aby mohl číst soubor bez jakéhokoli zásahu uživatele, což by nebylo možné, pokud by byla poskytnuta přístupová fráze.
- -newkey rsa:2048 – To znamená, že chceme současně vytvořit nový klíč a nový certifikát. Část rsa:2048 znamená, že chceme vytvořit 2048bitový klíč RSA.
- -keyout – Tato možnost určuje, kam se má po vytvoření uložit vygenerovaný soubor soukromého klíče.
- -out – Tato možnost určuje, kam umístit vytvořený certifikát SSL.

Vytvořte místní certifikát SSL pro Apache
Krok 3:Nainstalujte místní certifikát SSL s vlastním podpisem na Apache
4. Po vygenerování souboru certifikátu SSL je nyní čas nainstalovat certifikát pomocí nastavení webového serveru Apache. Otevřete a upravte soubor /etc/httpd/conf.d/ssl.conf konfigurační soubor.
$ sudo /etc/httpd/conf.d/ssl.conf
Ujistěte se, že mezi značkami virtuálního hostitele jsou následující řádky.
<VirtualHost *:443> ServerAdmin [email protected] ServerName www.tecmint.local ServerAlias tecmint.local DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/private/tecmint.local.crt SSLCertificateKeyFile /etc/private/tecmint.local.key </VirtualHost>
Uložte a ukončete soubor. Aby se změny projevily, restartujte Apache pomocí příkazu:
$ sudo systemctl restart httpd
5. Aby externí uživatelé měli přístup k vašemu serveru, musíte otevřít port 443 přes firewall, jak je znázorněno.
$ sudo firewall-cmd --add-port=443 --zone=public --permanent $ sudo firewall-cmd --reload
Krok 3:Testování místního certifikátu SSL s vlastním podpisem na Apache
Po provedení všech konfigurací spusťte prohlížeč a procházejte adresu serveru pomocí adresy IP serveru nebo názvu domény pomocí protokolu https.
Pro zefektivnění testování můžete zvážit přesměrování protokolu HTTP na HTTPS na webovém serveru Apache. Je to proto, aby při každém procházení domény v prostém HTTP byla automaticky přesměrována na protokol HTTPS.
Procházejte tedy doménu nebo IP svého serveru
https://domain_name/
Zobrazí se upozornění, že připojení není bezpečné, jak je znázorněno. To se bude lišit od jednoho prohlížeče k druhému. Jak asi tušíte, upozornění je způsobeno skutečností, že certifikát SSL není podepsán Certifikační autoritou a prohlížeč to zaregistruje a oznámí, že certifikátu nelze důvěřovat.

Upozornění na certifikát SSL
Chcete-li přejít na svůj web, klikněte na „Pokročilé “ viz výše:

Pokračovat ve varování certifikátu SSL
Dále přidejte výjimku do prohlížeče.

Potvrďte bezpečnostní výjimku
Nakonec znovu načtěte prohlížeč a všimněte si, že nyní můžete přistupovat k serveru, i když na řádku adresy URL se zobrazí varování, že stránka není plně zabezpečená ze stejného důvodu, že certifikát SSL je podepsán sám sebou a není podepsán společností Certifikační autorita.

Přístup k webu přes HTTPS
Doufáme, že nyní můžete pokračovat a vytvořit a nainstalovat certifikát SSL s vlastním podpisem na webový server Apache localhost na CentOS 8 .
Sharing is Caring…Sdílet na FacebookuSdílet na TwitteruSdílet na LinkedinSdílet na Redditu