Jak vytvořit místní certifikát SSL s vlastním podpisem v CentOS 8

instagram story viewer

SSL (Secure Socket Layer) a jeho vylepšená verze, TLS (Transportní zásuvková vrstva), 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.

An 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 citlivé a důvěrné údaje, jako jsou údaje o kreditní kartě, přihlašovací údaje a další vysoce soukromé informace jsou šifrovány, což hackerům brání v odposlechu a krádeži vašich informace.

Co je certifikát SSL s vlastním podpisem?

Na rozdíl od jiných certifikát SSL podepsaný svým držitelem SSL certifikáty, které jsou podepsané a důvěryhodné Certifikační autorita (CA), je certifikát podepsaný osobou, která jej vlastní.

Jeho vytvoření je zcela zdarma a je to levný způsob šifrování místně hostovaného webového serveru. Použití certifikátu SSL s vlastním podpisem se však v produkčním prostředí velmi nedoporučuje z následujících důvodů:

  1. Protože není podepsán a Certifikační autorita, SSL certifikát s vlastním podpisem generuje ve webových prohlížečích výstrahy, 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 návštěvnosti webu. Jako alternativní řešení těchto upozornění organizace obvykle vyzývají své zaměstnance, aby je jednoduše ignorovali a pokračovali dále. To může způsobit nebezpečný návyk mezi uživateli, kteří se mohou rozhodnout, že budou tato upozornění nadále ignorovat na jiných online stránkách, což se může stát obětí phishingových stránek.
  2. 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í zásady zabezpečení.
  3. Kromě toho neexistuje podpora funkcí infrastruktury veřejného klíče (PKI).

To znamená, že použití SSL certifikátu 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 podepsaný svým držitelem Apache webový server localhost na serveru CentOS 8 serverový systém.

Předpoklady:

Než začnete, ujistěte se, že máte následující základní požadavky:

  1. An instance serveru CentOS 8.
  2. Webový server Apache nainstalován na serveru
  3. Název hostitele již nakonfigurován a definován v /etc/hosts soubor. Pro tuto příručku použijeme 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 je nainstalován a spuštěn webový server.

$ sudo systemctl status httpd. 

Zde je očekávaný výstup.

Ověřte stav Apache
Ověřte stav Apache

Pokud webový server neběží, můžete jej spustit a povolit při spuštění pomocí příkazu.

$ sudo systemctl start httpd. $ sudo systemctl povolit httpd. 
Spusťte webový server Apache
Spusťte webový server Apache

Poté můžete potvrdit, zda je Apache spuštěn.

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
Ověřte instalaci Mod SSL

Zajistěte také, aby OpenSSL balíček je nainstalován (OpenSSL je ve výchozím nastavení nainstalován CentOS 8).

$ sudo rpm -q openssl 
Ověřte instalaci 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 pod kontrolou, musíte vytvořit adresář, do kterého budou uloženy kryptografické klíče.

V tomto příkladu jsme vytvořili adresář na /etc/ssl/private.

$ sudo mkdir -p/etc/ssl/private. 

Nyní vytvořte místní klíč a soubor certifikátu SSL pomocí příkazu:

$ sudo openssl req -x509 -nodes -newkey rsa: 2048 -keyout tecmint.local.key -out tecmint.local.crt. 

Podívejme se, co některé z možností v příkazu vlastně znamenají:

  • požadavek -x509 - To znamená, že používáme žádost o podpis certifikátu x509 (CSR).
  • -uzly - Tato možnost instruuje OpenSSL, aby přeskočil šifrování certifikátu SSL pomocí přístupové fráze. Cílem je umožnit Apache číst soubor bez jakéhokoli zásahu uživatele, což by nebylo možné, pokud je poskytnuto heslo.
  • -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.
  • -klíčenka - Tato možnost určuje, kam se má vygenerovaný soubor soukromých klíčů po vytvoření uložit.
  • -ven - Volba určuje, kam umístit vytvořený certifikát SSL.
Vytvořte místní certifikát SSL pro Apache
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 č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 vi /etc/httpd/conf.d/ssl.conf. 

Zajistěte, aby mezi značkami virtuálního hostitele byly následující řádky.

 ServerAdmin [chráněno emailem] ServerName www.tecmint.local ServerAlias ​​tecmint.local DocumentRoot/var/www/html SSLEngine on SSLCertificateFile /etc/ssl/private/tecmint.local.crtSSLCertificateKeyFile /etc/ssl/private/tecmint.local.key

Uložte a ukončete soubor. Aby byly změny provedeny, restartujte Apache pomocí příkazu:

$ sudo systemctl restartovat httpd. 

5. Aby externí uživatelé měli přístup k vašemu serveru, musíte otevřít port 443 přes bránu firewall, jak je znázorněno.

$ sudo firewall-cmd --add-port = 443 --zone = public --permanent. $ sudo firewall-cmd --reload. 

Krok 3: Testování lokálního SSL certifikátu s vlastním podpisem na Apache

Když jsou všechny konfigurace zavedeny, spusťte prohlížeč a procházejte adresu svého serveru pomocí IP adresy serveru nebo názvu domény pomocí protokolu https.

Chcete -li zefektivnit testování, můžete zvážit přesměrování protokolu HTTP na HTTPS na webovém serveru Apache. Důvodem je, že kdykoli procházíte doménu v prostém HTTP, bude 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í zabezpečené, jak je znázorněno. To se bude lišit v závislosti na prohlížeči. Jak asi tušíte, upozornění je způsobeno skutečností, že certifikát SSL není podepsán Certifikační autorita a prohlížeč to zaregistruje a oznámí, že certifikátu nelze věřit.

Varování před certifikátem SSL
Varování před certifikátem SSL

Chcete -li přejít na svůj web, klikněte naPokročilý', Jak je uvedeno výše:

Pokračujte varováním před certifikátem SSL
Pokračujte varováním před certifikátem SSL

Dále přidejte výjimku do prohlížeče.

Potvrďte bezpečnostní výjimku
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 liště URL bude upozornění, které web není plně zabezpečený ze stejného důvodu, že certifikát SSL je podepsán sám sebou a není podepsán certifikátem Autorita.

Přístup na web přes HTTPS
Přístup na web přes HTTPS

Doufáme, že nyní můžete pokračovat a vytvořit a nainstalovat certifikát SSL podepsaný svým držitelem na webový server Apache localhost CentOS 8.

Teachs.ru