Zabezpečme Apache pomocí SSL/TLS certifikátu.
Po implementaci certifikátu bude nakonfigurovaná doména/IP přístupná přes HTTPS.
Pojďme to začít.
Na vysoké úrovni uděláme následující.
- Zkompilujte Apache HTTP 2.4.5 s modulem SSL
- Získejte certifikát SSL
- Nakonfigurujte Apache tak, aby podporoval SSL
Table of Contents
Nainstalujte Apache pomocí SSL ze zdroje
Pro konfiguraci SSL musí být Apache HTTP zkompilován s mod_ssl. Budu používat CentOS 7 VM od Digitální oceán to demonstrovat.
- Přihlaste se k serveru Linux pomocí root a stáhněte si nejnovější verzi Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
Poznámka: můžete zkontrolujte zde pro nejnovější verzi.
- Extrahujte příkazem gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
- Budete mít novou složku „httpd-2.4.25“
- Jděte dovnitř a proveďte následující konfigurační příkaz
./configure --enable-ssl –-enable-so
Poznámka: Pokud to děláte na zbrusu novém serveru, můžete zaznamenat problémy související s APR, PCRE, OpenSSL a můžete se podívat na průvodce odstraňováním problémů.
Ujistěte se, že z výše uvedeného konfiguračního příkazu nedostanete žádnou chybu, a poté musíte nainstalovat pomocí příkazů make.
make make install
Jako obvykle zajistěte, aby nedošlo k chybám z výše uvedených příkazů. To znamená, že jste nainstalovali webový server Apache s podporou SSL.
Získání SSL certifikátu
Existuje několik způsobů, jak vygenerovat a získat certifikát SSL podepsaný certifikační autoritou.
Pokud chcete implementovat SSL na intranetový webový server, pak většina organizace má interní tým vydavatelů certifikátů, takže to musíte prověřit. Stále však musíte vygenerovat CSR (Certificate Signing Request) a můžete to udělat pomocí OpenSSL.
Pokud však chcete zabezpečit internetovou adresu URL, můžete si zakoupit certifikát od VeriSign, GoDaddy, Namecheap, ZeroSSLatd., nebo získejte certifikát ZDARMA od Pojďme šifrovat.
Let’s Encrypt je projekt Linux Foundation Collaboration Project, který nabízí ZDARMA certifikát SSL/TLS. Pomocí Let’s Encrypt získám jeden certifikát pro svou doménu – Chandan.io
Existuje několik způsobů, jak generovat CSR, ale ten nejjednodušší, který jsem našel, je použití „SSL ZDARMA“online nástroj.
Zadejte adresu URL, kterou chcete zabezpečit
Ověřte vlastnictví domény jednou z uvedených metod a stáhněte si soubory certifikátu domény.
Získáte tři soubory, které použijeme ke konfiguraci webového serveru Apache.
Přeneste stažený soubor na webový server. Brzy je budeme potřebovat.
Konfigurace Apache SSL
A posledním krokem by bylo nakonfigurovat Apache tak, aby mohl obsluhovat požadavek přes HTTPS.
- Přihlaste se na webový server Apache
- Vytvořte zálohu souboru httpd.conf (výchozí umístění /usr/local/apache2/conf/)
- Otevřete soubor pomocí editoru vi a ujistěte se, že modul mod_ssl & httpd-ssl.conf existuje a není komentován
LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf
Ke konfiguraci podrobností certifikátu použijeme soubor httpd-ssl.conf. K zajištění správných parametrů potřebujete následující.
Tip: Možná budete chtít vytvořit novou složku s názvem „ssl“ a ponechat v ní všechny soubory související s certifikáty.
- V případě potřeby vytvořte zálohu a upravte soubor pomocí editoru vi.
SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt" SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"
Dále musíte nakonfigurovat direktivu „ServerName“. Obvykle je to název vaší domény/URL
ServerName chandan.io
- Uložte soubor a restartujte webový server Apache
cd /usr/local/apache2/bin ./apachectl stop ./apachectl start
A nakonec se musíte ujistit, že vaše doména je namapována na nově nakonfigurovanou IP adresu webového serveru. Až budete hotovi, zkuste se ke své doméně dostat pomocí HTTPS.
A jak vidíte, Chandan.io je přístupný přes https s certifikátem, který jsem nakonfiguroval.
Výše uvedené kroky jsou nezbytné pro nastavení certifikátu SSL a musíte SSL dále vyladit, aby se zpevnil a zabezpečil, což jsem vysvětlil zde. Před spuštěním můžete také otestovat svůj webový server SSL/TLS, abyste se ujistili, že není vystaven běžným bezpečnostním chybám.
Doufám, že vám to poskytne představu o tom, jak implementovat certifikát SSL na váš webový server Apache, takže adresa URL je přístupná přes HTTPS.
Užili jste si čtení článku? Co takhle sdílet se světem?