GNU/Linux >> Znalost Linux >  >> Cent OS

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

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ů:

  1. 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.
  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í bezpečnostní zásady.
  3. 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:

  1. Instance serveru CentOS 8.
  2. Na serveru nainstalovaný webový server Apache
  3. 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
Cent OS
  1. Jak nainstalovat certifikát SSL s vlastním podpisem v cPanel

  2. Jak vytvořit místní úložiště YUM na CentOS 7 / RHEL 7 pomocí DVD

  3. Jak vytvořit certifikát SSL s vlastním podpisem na Ubuntu 18.04

  1. Jak nainstalovat certifikát SSL na Apache pro CentOS 7

  2. Jak opravit chybu ERR_SSL_VERSION_OR_CIPHER_MISMATCH

  3. Jak vytvořit uživatele sudo na CentOS 7

  1. Jak nainstalovat ssl na RHEL 8 / CentOS 8

  2. Jak vytvořit uživatele Sudo na CentOS

  3. Jak si objednat SSL certifikát?