Vydavatel: Psychz Networks, únor 17,2019
budete potřebovat přístup k serveru CentOS 7 a pokud jste jej ještě nenakonfigurovali, můžete spustit Průvodce počátečním nastavením serveru CentOS 7. Budete také muset mít nainstalovaný Apache, abyste pro něj mohli nakonfigurovat virtuální hostitele. Můžete sledovat návod k instalaci lampy, který vám pomůže s předpoklady https://www.psychz.net/client/kb/en/installation-of-lamp-stack-on-centos-7.html
v následujícím tutoriálu uvidíme, jak zabezpečit webový server Apache v Centos-7 prostřednictvím SSL. Vytvoříme si vlastní certifikát a naučíme se ho konfigurovat. Pokud chcete hostit veřejný web s podporou SSL, musíte si zakoupit certifikát SSL od důvěryhodné certifikační autority.
Self-signed certifikát je v podstatě podepsán tvůrcem certifikátu. Může být použit pro testování lokálních serverů a vývojového prostředí. Přestože certifikáty s vlastním podpisem poskytují stejnou úroveň zabezpečení mezi webem a prohlížečem, většina webových prohlížečů vždy zobrazí bezpečnostní výstražnou zprávu, že certifikát webu je podepsán sám a nelze mu důvěřovat,protože není podepsán certifikační autoritou.
obchodní certifikáty jsou autorizovaným certifikátem vydaným důvěryhodnou certifikační autoritou, který je vysoce doporučen pro použití ve výrobním prostředí.
Chcete-li nastavit self-signed certifikát, budete muset nainstalovat mod_ssl Apache modul ve vašem systému.
Krok 1: Instalace MOD SSL
mod_ssl je modul Apache, který poskytuje podporu pro šifrování SSL. Je nutné nastavit certifikát s vlastním podpisem.
# yum install mod_ssl
po dokončení bude Apache moci po restartování začít používat certifikát SSL.
Krok 2: Vytvořte certifikát s vlastním podpisem
Nyní, když je Apache připraven k použití šifrování, můžeme přejít na generování nového certifikátu SSL. Při vytváření certifikátu bude vyžadovat některé základní informace o vašem webu a bude doprovázen klíčovým souborem, který serveru umožňuje bezpečně zpracovávat šifrovaná data.
nejprve vytvoříme adresář pro uložení našeho soukromého klíče (soubor certifikátu je uložen v adresáři/etc/ssl / certs)
# mkdir /etc/ssl/private
udělejme tento adresář“ soukromý “ přístupný pouze uživateli root z bezpečnostních důvodů
# chmod 700 /etc/ssl/private
pojďme nyní vytvořit certifikát spolu s klíčem SSL. To lze provést pomocí „openssl“ spolu s dalšími
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
– openssl: Toto je základní nástroj příkazového řádku pro vytváření a správu certifikátů, klíčů a dalších souborů OpenSSL.
– req-x509:“ x. 509 “ je standard infrastruktury veřejných klíčů, který SSL a TLS dodržují pro správu klíčů a certifikátů.
– uzly: to řekne OpenSSL přeskočit možnost zabezpečit náš certifikát pomocí přístupového hesla. Potřebujeme, aby Apache byl schopen číst soubor bez zásahu uživatele, když se server spustí. Přístupová fráze by tomu zabránila, protože bychom ji museli zadat po každém restartu.
– dny 365: tato volba nastavuje dobu, po kterou bude certifikát považován za platný. Stanovili jsme to na jeden rok.
– newkey rsa: 2048: část rsa: 2048 říká, že vytvoří klíč RSA, který je dlouhý 2048 bitů. „newkey“ určuje, že chceme vygenerovat nový certifikát a nový klíč současně.
– keyout: tento řádek říká OpenSSL, kam umístit vygenerovaný soubor soukromého klíče, který vytváříme.
– ven: To řekne OpenSSL, kam umístit certifikát, který vytváříme.
Country Name (2 letter code) :US
State or Province Name (full name) : John Doe
Locality Name (eg, city) : Los Angeles
Organization Name (eg, company) : Psychz Networks
Organizational Unit Name (eg, section) :IT
Common Name (eg, your name or your server's hostname) : Demo_server
Email Address : [email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password :
An optional company name :
oba soubory, které jste vytvořili, budou umístěny do příslušných podadresářů adresáře/etc / ssl.
Krok 3: nakonfigurujte Apache tak, aby používal certifikát SSL
nyní jsou všechny certifikáty připraveny. Další věc, kterou musíte udělat, je nastavit Apache pro zobrazení nových certifikátů.
můžete to provést úpravou konfiguračního souboru SSL:
# vi /etc/httpd/conf.d/ssl.conf
najděte sekci, která začíná . Odkomentujte řádek DocumentRoot a ServerName a nahraďte příklad.com s IP adresou vašeho serveru nebo názvem domény.
DocumentRoot "/var/www/html"
ServerName www.demo_server.com:443SSLEngine on
dále najděte řádky sslcertificatefile a SSLCertificateKeyFile a aktualizujte je o nové umístění certifikátů.
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.crt.key
po provedení těchto změn restartujte službu Apache, aby se změny projevily.
# systemctl restart httpd
Krok 4: Test Apache (HTTPS) Server
Chcete-li ověřit, že zabezpečený webový server Apache HTTPS funguje, Otevřete webový prohlížeč a zadejte adresu URL https://demo_server-ip-address. Ve Vašem prohlížeči by se měla objevit chyba a certifikát musíte přijmout ručně. Chybová zpráva se zobrazí, protože místo certifikátu podepsaného certifikační autoritou, které prohlížeč důvěřuje, používáme certifikát podepsaný samostatně, a prohlížeč není schopen ověřit identitu serveru, ke kterému se pokoušíte připojit. Jakmile přidáte výjimku k ověření identity prohlížeče, měli byste vidět testovací stránku pro váš nově zabezpečený web.