GNU/Linux >> Znalost Linux >  >> FreeBSD

Jak zabezpečit Apache pomocí SSL a Let’s Encrypt ve FreeBSD

V tomto tutoriálu se naučíme, jak zabezpečit Apache HTTP server s TLS/SSL certifikáty nabízené Let’s Encrypt v FreeBSD 11.x . Probereme také, jak automatizovat proces obnovy certifikátu pro Lets’ Encrypt.

Přečtěte si také :Nainstalujte Let’s Encrypt for Nginx na FreeBSD

TLS/SSL certifikáty jsou používány webovým serverem Apache k šifrování komunikace mezi koncovými uzly nebo obvykleji mezi serverem a klientem za účelem zajištění bezpečnosti. Let’s Encrypt poskytuje certbot nástroj příkazového řádku, což je aplikace, která může usnadnit způsob, jakým můžete zdarma získat důvěryhodné certifikáty.

Požadavky:

  1. Instalace FreeBSD 11.x
  2. 10 věcí, které je třeba udělat po instalaci FreeBSD
  3. Jak nainstalovat Apache, MariaDB a PHP ve FreeBSD

Krok 1:Nakonfigurujte Apache SSL na FreeBSD

1. Před zahájením instalace nástroje certbot a vytvoření konfiguračního souboru TSL pro Apache , nejprve vytvořte dva odlišné adresáře s názvem sites-available a povoleno pro weby v kořenovém konfiguračním adresáři Apache vydáním níže uvedených příkazů.

Účelem těchto dvou adresářů je usnadnit správu konfigurace virtuálního hostingu v systému bez úpravy hlavního Apache httpd.conf konfigurační soubor pokaždé, když přidáme nového virtuálního hostitele.

# mkdir /usr/local/etc/apache24/sites-available# mkdir /usr/local/etc/apache24/sites-enabled

2. Po vytvoření obou adresářů otevřete Apache httpd.conf soubor pomocí textového editoru a přidejte následující řádek na konec souboru, jak je znázorněno níže.

# nano /usr/local/etc/apache24/httpd.conf

Přidejte následující řádek:

IncludeOptional etc/apache24/sites-enabled/*.conf

3. Dále povolte TLS modul pro Apache vytvořením následujícího nového souboru s názvem 020_mod_ssl.conf v modules.d adresář s následujícím obsahem.

# nano /usr/local/etc/apache24/modules.d/020_mod_ssl.conf

Přidejte následující řádky do souboru 020_mod_ssl.conf .

Poslouchejte 443SSLProtocol ALL -SSLv2 -SSLv3SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5SSLPassPhraseDialog builtininSSLSessionCacheTimeout 300

4. Nyní odkomentujte SSL modul z /usr/local/etc/apache24/httpd.conf soubor odstraněním hashtagu ze začátku následujícího řádku, jak je znázorněno níže:

LoadModule ssl_module libexec/apache24/mod_ssl.so

5. Dále vytvořte TLS konfigurační soubor pro vaši doménu v weby-dostupné adresář, nejlépe s názvem vaší domény, jak je uvedeno v níže uvedeném úryvku:

# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf

Přidejte následující konfiguraci virtuálního hostitele do souboru bsd.lan-ssl.conf .

 ServerName www.yourdomain.com ServerAlias ​​yourdomain.com DocumentRoot "/usr/local/www/apache24/data/" SSLEngine na SSLCertificateFile "/usr/local/etc/letsencrypt/live/www. yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/ fullchain.pem" SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log" \ "%t %h %{ SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"  Možnosti Indexy FollowSymLinks MultiViews #AllowOverride řídí, jaké direktivy mohou být umístěny do souborů .htaccess. AllowOverride All #Controls, kdo může získat obsah z tohoto souboru serveru Vyžadovat udělení všech  ErrorLog "/var/log/apache/yourdomain.ssl-error.log" CustomLog "/var/log/apache/yourdomain.ssl-access_log " kombinované

Ujistěte se, že jste nahradili proměnnou názvu domény z ServerName , Alias ​​serveru , ErrorLog , CustomLog odpovídajícím způsobem.

Krok 2:Nainstalujte Lets’Encrypt na FreeBSD

6. V dalším kroku zadejte následující příkaz, abyste nainstalovali certbot nástroj poskytovaný Let’s Encrypt , který bude použit k získání Apache TSL bezplatné certifikáty pro vaši doménu.

Při instalaci certbota na obrazovce se zobrazí řada výzev. Ke konfiguraci certbota použijte níže uvedený snímek obrazovky užitečnost. Kompilace a instalace obslužného programu certbot může také nějakou dobu trvat, v závislosti na prostředcích vašeho počítače.

# cd /usr/ports/security/py-certbot# make install clean

7. Po dokončení procesu kompilace zadejte níže uvedený příkaz, abyste aktualizovali certbot nástroj a certbot požadované závislosti.

# pkg install py27-certbot# pkg install py27-acme

8. Chcete-li vygenerovat certifikát pro vaši doménu, zadejte příkaz, jak je znázorněno níže. Ujistěte se, že zadáváte správné umístění webroot, kde jsou v systému souborů uloženy soubory vašeho webu (DocumentRoot z konfiguračního souboru domény) pomocí -w vlajka. Pokud máte více subdomén, přidejte je všechny pomocí -d vlajka.

# certbot certonly --webroot -w /usr/local/www/apache24/data/ -d yourdomain.com -d www.yourdomain.com

Při získávání certifikátu zadejte e-mailovou adresu pro obnovení certifikátu, stisknutím a potvrďte souhlas s podmínkami Let's Encrypt a n abyste nesdíleli e-mailovou adresu partnerů Let’s Encrypt.

Výstup příkazu Certbot
Ukládání protokolu ladění do /var/log/letsencrypt/letsencrypt.logZadejte e-mailovou adresu (používá se pro naléhavá upozornění na obnovení a zabezpečení) (Zadejte „c“ pro zrušení):[email protected]Zdá se, že s tím jsou problémy adresa. Zadejte e-mailovou adresu (používá se upozornění na naléhavou obnovu a zabezpečení) Pokud to opravdu chcete přeskočit, můžete klienta spustit pomocí --register-unsafely-without-email, ale ujistěte se, že jste si poté zálohovali klíč svého účtu z /etc/letsencrypt/accounts (Zadejte 'c' pro zrušení):[e-mail chráněný]--------------------------------------- ---------------------------------------- Přečtěte si prosím Podmínky služby na https:// letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. Musíte souhlasit, abyste se mohli zaregistrovat na serveru ACME na adrese https://acme-v01.api.letsencrypt.org/directory------------------------- -------------------------------------------------- ----(A)souhlasit/(C)zrušit:a -------------------------------------------------- ----------------------------- Byli byste ochotni sdílet svou e-mailovou adresu s Electronic Frontier Foundation, zakládajícím partnerem Let's Šifrovat projekt a nezisková organizace, která vyvíjí Certbot? Rádi bychom vám zaslali e-mail o EFF a naší práci na šifrování webu, ochraně jeho uživatelů a ochraně digitálních práv. -------------------------------------------------- ----------------------------- (Ano) ano/(N) ne:n Získání nového certifikátu Provedení následujících výzev:http-01 výzva pro www.domain.com Použití cesty webroot /usr/local/www/apache24/data pro všechny neshodné domény. Čekání na ověření... Čištění výzev DŮLEŽITÉ POZNÁMKY:- Gratulujeme! Váš certifikát a řetězec byly uloženy na /usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem. Platnost vašeho certifikátu vyprší 2017-11-15. Chcete-li v budoucnu získat novou nebo vylepšenou verzi tohoto certifikátu, jednoduše znovu spusťte certbot. Chcete-li neinteraktivně obnovit *všechny* své certifikáty, spusťte „certbot renew“ – přihlašovací údaje k vašemu účtu byly uloženy v konfiguračním adresáři Certbot na /usr/local/etc/letsencrypt. Nyní byste měli provést bezpečnou zálohu této složky. Tento konfigurační adresář bude také obsahovat certifikáty a soukromé klíče získané Certbotem, takže pravidelné zálohování této složky je ideální. - Pokud se vám líbí Certbot, zvažte prosím podporu naší práce:Darováním pro ISRG / Let's Encrypt:https://letsencrypt.org/donate Darováním pro EFF:https://eff.org/donate-le

9. Poté, co získáte certifikáty pro svou doménu, můžete spustit příkaz ls a vypsat všechny součásti certifikátu (řetěz, soukromý klíč, certifikát), jak je uvedeno v níže uvedeném příkladu.

# ls -al /usr/local/etc/letsencrypt/live/www.yourdomain.com/

Krok 3:Aktualizujte certifikáty Apache TLS na FreeBSD

10. Chcete-li na svůj web přidat certifikáty Let’s Encrypt, otevřete konfigurační soubor Apache pro vaši doménu a aktualizujte následující řádky, aby odrážely cestu k vydaným certifikátům.

# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf

Přidejte tyto řádky certifikátu TLS:

SSLCertificateFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChain "/usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem"

11. Nakonec povolte konfigurační soubor TLS vytvořením symbolického odkazu pro konfigurační soubor TLS vaší domény na s povolenými weby adresář, zkontrolujte konfigurace Apache na možné chyby syntaxe a pokud je syntaxe v pořádku, restartujte démona Apache zadáním níže uvedených příkazů.

# ln -sf /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf /usr/local/etc/apache24/sites-enabled/# apachectl -t# restart služby apache24 

12. Chcete-li zkontrolovat, zda služba Apache naslouchá na HTTPS port 443 , zadejte následující příkaz pro výpis síťových soketů httpd.

# sockstat -4 | grep httpd

13. Na adresu své domény můžete přejít z prohlížeče prostřednictvím protokolu HTTPS, abyste si ověřili, že certifikáty Let’s Encrypt byly úspěšně použity.

https://www.yourdomain.com

14. Chcete-li získat další informace o vydaném certifikátu Let’s Encrypt z příkazového řádku, použijte openssl příkaz takto.

# openssl s_client -connect www.yourdomain.com:443

15. Můžete také ověřit, zda je provoz šifrován pomocí platného certifikátu poskytnutého Let’s Encrypt CA z mobilního zařízení, jak je znázorněno na níže uvedeném snímku mobilní obrazovky.

To je vše! Klienti nyní mohou bezpečně navštěvovat váš web, protože provoz, který proudí mezi serverem a prohlížečem klienta, je šifrován. Pro složitější úlohy týkající se utility certbot navštivte následující odkaz:https://certbot.eff.org/


FreeBSD
  1. Jak nainstalovat a zabezpečit phpMyAdmin s Apache na CentOS 7

  2. Jak zabezpečit Nginx pomocí SSL a Let's Encrypt ve FreeBSD

  3. Jak zabezpečit připojení SSL s Apache na Ubuntu 18.04

  1. Jak zabezpečit webový server Apache pomocí Let's Encrypt na RHEL 8

  2. Jak nainstalovat WonderCMS s Apache a nechat šifrovat SSL na CentOS 8

  3. Jak nainstalovat Webmin a zabezpečit jej pomocí Lets Encrypt SSL na Ubuntu 20.04 LTS

  1. Jak nainstalovat PrestaShop s Apache a nechat šifrovat SSL na CentOS 8

  2. Jak nainstalovat Joomla s Apache a nechat šifrovat SSL na Debian 10

  3. Jak nainstalovat WordPress s Apache a Let's Encrypt SSL na Debian 11