Jak zabezpieczyć Apache za pomocą SSL i zaszypujmy w FreeBSD

Jak zabezpieczyć Apache za pomocą SSL i zaszypujmy w FreeBSD

W tym samouczku dowiemy się, jak się zabezpieczyć Apache http serwer z TLS/SSL certyfikaty oferowane przez Zaszypujmy W FreeBSD 11.X. Omówimy również sposób zautomatyzowania procesu odnowy certyfikatu w zakresie szyfrowania Lets.

Przeczytaj także: Zainstaluj Let's Scrypt for Nginx na FreeBSD

TLS/SSL Certyfikaty są używane przez Apache Web Server do szyfrowania komunikacji między węzłami końcowymi lub bardziej zwyczajnym między serwerem a klientem w celu zapewnienia bezpieczeństwa. Let's Encrypt zapewnia Certbot Narzędzie wiersza poleceń, która jest aplikacją, która może ułatwić sposób uzyskania zaufanych certyfikatów za darmo.

Wymagania:

  1. Instalacja FreeBSD 11.X
  2. 10 rzeczy do zrobienia po instalacji FreeBSD
  3. Jak zainstalować Apache, Mariadb i PHP w FreeBSD

Krok 1: Skonfiguruj Apache SSL na FreeBSD

1. Przed rozpoczęciem instalacji narzędzia CERTBOT i utwórz plik konfiguracyjny TSL dla dla Apache, Najpierw stwórz dwa odrębne katalogi wymienione Witryny-dostępne I witryny z obsługą w katalogu konfiguracji root apache, wydając poniższe polecenia.

Celem tych dwóch katalogów jest ułatwienie zarządzania wirtualną konfiguracją hostingu w systemie, bez modyfikowania głównego apache httpd.conf Plik konfiguracyjny za każdym razem, gdy dodamy nowy wirtualny host.

# mkdir/usr/local/etc/apache24/Sites-dostępny # mkdir/usr/local/etc/apache24/witryn-obserwowany 

2. Po utworzeniu obu katalogów otwórz Apache httpd.conf plik z edytorem tekstu i dodaj następujący wiersz blisko końca pliku, jak pokazano poniżej.

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

Dodaj następujący wiersz:

Uwzględnij etc/apache24/Sites-Enabled/*.conf 
Skonfiguruj Apache na FreeBSD

3. Następnie włącz Tls Moduł dla Apache, tworząc następujący nowy plik wymieniony 020_MOD_SSL.conf W moduły.D katalog z następującą treścią.

# nano/usr/local/etc/apache24/moduły.D/020_MOD_SSL.conf 

Dodaj następujące wiersze do pliku 020_MOD_SSL.conf.

Słuchaj 443 sslprotocol All -sslv2 -sslv3 sslciphersuite High: Medium:!anull:!MD5 SSLPASSPHRACEDIALOG BUDOWANIE SSLSESSICCACHETIMEOUT 300 
Konfiguracja Apache SSL na FreeBSD

4. Teraz pocukaj SSL moduł z /usr/local/etc/apache24/httpd.conf Plik poprzez usunięcie hashtagu od początku następującego wiersza, jak pokazano poniżej:

LoadModule SSL_Module libexec/apache24/mod_ssl.Więc 
Włącz moduł SSL na Apache

5. Następnie utwórz Tls plik konfiguracyjny dla Twojej domeny w Witryny-dostępne katalog, najlepiej o nazwie twojej domeny, jak przedstawiono w poniższym fragmencie:

# nano/usr/local/etc/apache24/witryny-dostępny/bsd.LAN-SSL.conf 

Dodaj następującą konfigurację VirtualHost do pliku BSD.LAN-SSL.conf.

 Servername www.Twoja domena.com Serveralias Yourdomain.com dokumentroot "/usr/local/www/apache24/data/" sslengine na SSLCertificateFile "/usr/local/etc/limsecrrypt/na żywo/www.Twoja domena.com/cert.PEM "SSLCertificateKeKeyFile"/usr/local/etc/Letsecrrypt/Live/www.Twoja domena.com/privey.PEM "sslCertificatechainFile"/usr/local/etc/limsecrrypt/na żywo/www.Twoja domena.com/Fullchain.pem "ssloptions +stdenvvars ssloptions +stdenvvars browsmatch" msie [2-5] "\ noKeepalive SSL-unclean-shutdown \ Downgrade-1.0 siły-odpowiedź-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log "\" %t %H %SSL_PROTOCOL x %ssl_cipher x \ "" %r \"" %b ""indeksy opcji obserwuje sięSymlinks #AllOWOVERRIDE CONTERINGI .Pliki Htaccess. Updalotoverride Wszystkie #Controls, które mogą uzyskać rzeczy z tego pliku serwera, wymagają wszystkich przyznanych ERROLLOG ""/var/log/apache/yourdomain.SSL-error.Zaloguj się „customLog”/var/log/apache/yourdomain.SSL-ACCESS_LOG ”COMNINE  

Makre, na pewno zastąpisz zmienną nazwy domeny z Nazwa serwera, Serveralias, ErrorLog, CustomLog odpowiednio oświadczenia.

Krok 2: Zainstaluj Lets'Encrypt on FreeBSD

6. W następnym kroku wydaj następujące polecenie, aby zainstalować Certbot użyteczność dostarczana przez Zaszypujmy, które zostaną użyte do uzyskania Apache TSL Bezpłatne certyfikaty dla Twojej domeny.

Podczas instalacji Certbot Na ekranie zostanie wyświetlona seria monitu. Użyj poniższego zrzutu ekranu, aby skonfigurować Certbot pożytek. Również kompilacja i instalacja narzędzia CertBot może zająć trochę czasu, w zależności od zasobów maszynowych.

# CD/usr/porty/bezpieczeństwo/py-certbot # Spraw, by instaluj czyste 
Zainstaluj CertBot na FreeBSD

7. Po zakończeniu procesu kompilacji wydaj poniższe polecenie, aby zaktualizować Certbot użyteczność i Certbot wymagane zależności.

# PKG zainstaluj PY27-CERTBOT # PKG instaluj PY27-ACME 

8. Aby wygenerować certyfikat dla Twojej domeny, wydaj polecenie, jak pokazano poniżej. Upewnij się, że zapewniasz właściwą lokalizację Webroot, w której pliki witryny są przechowywane w systemie plików (DocumentRoot dyrektywa z pliku konfiguracyjnego domeny) za pomocą -w flaga. Jeśli masz wiele subdomen, dodaj je wszystkie z -D flaga.

# CertBot Certonly -Webroot -w/usr/local/www/apache24/data/-d Yourdomain.com -d www.Twoja domena.com 

Uzyskując certyfikat, podaj adres e -mail do przedłużenia certyfikatu, naciśnij A, aby zgodzić się z warunkami zaszyfrowanymi i warunkami i N nie udostępniać adresu e -mail, zaszyfrowaj partnerów.

Wyjście polecenia CERTBOT
Zapisywanie dziennika debugowania do/var/log/limsecrrypt/limsecript.Zaloguj się Wpisz adres e -mail (używany do pilnej odnowienia i powiadomień o bezpieczeństwie) (wprowadź „C”, aby anulować): [chroniony e -mail] Wydaje się, że z tym adresem pojawiają się problemy z tym adresem. Wprowadź adres e-mail (używany do pilnej odnowienia i powiadomień o bezpieczeństwie) Jeśli naprawdę chcesz to pominąć, możesz uruchomić klienta-Register-Unsafely-z-e-mail, ale upewnij się, że następnie wykonujesz kopię zapasową klawisza konta z/etc/letsEncrypt// Konta (wprowadź „C”, aby anulować): [e-mail chroniony] ------------------------------------- ------------------------------------------- Przeczytaj Warunki usługi pod adresem https: // LetsEncrypt.org/dokumenty/le-sa-v1.1.1-sierpień-1-2016.PDF. Musisz się zgodzić, aby zarejestrować się na serwerze ACME pod adresem https: // acme-v01.API.LetsEncrypt.Org/Directory ----------------------------------------------- -------------------------------- (a) Gree/(c) Ancer: A ------------------------------------------------------------------------------- Czy byłbyś skłonny udostępnić swój adres e-mail z Electronic Frontier Foundation, partnerem założycielem projektu Let's Encrypt i organizacji non-profit, która opracowuje CertBot? Chcielibyśmy wysłać Ci e -mail o EFF i naszą pracę w celu szyfrowania sieci, ochrony użytkowników i obrony praw cyfrowych. ------------------------------------------------------------------------------- (Tak nie: N Uzyskanie nowego certyfikatu wykonującego następujące wyzwania: Wyzwanie HTTP-01 dla www.domena.com za pomocą ścieżki webroot/usr/local/www/apache24/danych dla wszystkich niezrównanych domen. Oczekiwanie na weryfikację… Wyzwanie wyzwania Ważne notatki: - Gratulacje! Twój certyfikat i łańcuch zostały zapisane na/usr/lokalne/etc/letsencrypt/na żywo/www.Twoja domena.com/Fullchain.pem. Twój certyfikat wygasa w dniach 2017-11-15. Aby uzyskać nową lub ulepszoną wersję tego certyfikatu w przyszłości, po prostu uruchom ponownie CertBot. Aby nie interaktywnie odnowić * wszystkie * z twoich certyfikatów, uruchom „Certbot Renew” - Twoje poświadczenia konta zostały zapisane w katalogu konfiguracji CertBot AT/USR/Local/Etc/LetsEncrypt. Powinieneś teraz wykonać bezpieczną kopię zapasową tego folderu. Ten katalog konfiguracyjny będzie również zawierał certyfikaty i prywatne klucze uzyskane przez CertBot, dzięki czemu regularne tworzenie kopii zapasowych tego folderu jest idealne. - Jeśli lubisz CertBot, rozważ wspieranie naszej pracy przez: darowizny na rzecz ISRG/Let's Encrypt: https: // LetsEncrypt.Org/darowizna darowizny na EFF: https: // eff.org/darowizna-le

9. Po uzyskaniu certyfikatów swojej domeny możesz uruchomić polecenie LS w celu wyświetlenia wszystkich elementów certyfikatu (łańcuch, klucz prywatny, certyfikat), jak przedstawiono w poniższym przykładzie.

# ls -al/usr/local/etc/limsecrrypt/na żywo/www.Twoja domena.com/ 
Wymień certyfikat domeny i klucze

Krok 3: Zaktualizuj certyfikaty Apache TLS na FreeBSD

10. Aby dodać Let's Szyfruj certyfikaty do Twojej witryny, otwórz plik konfiguracyjny Apache dla Twojej domeny i zaktualizuj następujące wiersze, aby odzwierciedlić ścieżkę wydanych certyfikatów.

# nano/usr/local/etc/apache24/witryny-dostępny/bsd.LAN-SSL.conf 

Dodaj te linie certyfikatów TLS:

SslcertificateFile ""/usr/local/etc/letsencrypt/na żywo/www.Twoja domena.com/cert.PEM ""SSLCertificateKeKeyFile""/usr/local/etc/Letsecrrypt/Live/www.Twoja domena.com/privey.PEM ""sslCertificatechainFile""/usr/local/etc/limsecrrypt/na żywo/www.Twoja domena.com/Fullchain.PEM "" 
Skonfiguruj certyfikat SSL dla domeny

11. Wreszcie włącz plik konfiguracyjny TLS, tworząc symbol do pliku konfiguracyjnego TLS domeny TLS witryny z obsługą Katalog, sprawdź konfiguracje Apache dla możliwych błędów składniowych, a jeśli składnia jest OK, ponownie uruchom demon Apache, wydając poniższe polecenia.

# ln -sf/usr/local/etc/apache24/witryny -dostępny/bsd.LAN-SSL.conf/usr/local/etc/apache24/witryn -obserwowany/ # apachectl -t # usługa apache24 restart 

12. Aby sprawdzić, czy usługa Apache słuchała Https Port 443, Wydaj następujące polecenie, aby wymienić gniazda sieciowe HTTPD.

# sockstat -4 | GREP HTTPD 
Sprawdź porty Apache

13. Możesz przejść do adresu domeny z przeglądarki za pośrednictwem protokołu HTTPS, aby potwierdzić, że z powodzeniem zastosowano certyfikaty zaszyfrowane.

https: // www.Twoja domena.com 
Sprawdź, czy HTTPS Zaszypuj certyfikat

14. Aby uzyskać dodatkowe informacje na temat wydanego certyfikatu zaszyfrowania Let z wiersza poleceń, użyj Openssl polecenie w następujący sposób.

# OpensSl S_Client -Connect www.Twoja domena.com: 443 
Sprawdźmy informacje o certyfikatach zaszyfrowanych

15. Możesz również sprawdzić, czy ruch jest zaszyfrowany z ważnym certyfikatem dostarczonym przez Szyfrujmy CA z urządzenia mobilnego, jak pokazano na poniższym zrzucie ekranu mobilnego.

Weryfikować pozwala szyfrować ruch HTTPS

To wszystko! Klienci mogą teraz bezpiecznie odwiedzić twoją stronę, ponieważ ruch przepływający między serwerem a przeglądarką klienta jest szyfrowany. Aby uzyskać bardziej złożone zadania dotyczące narzędzia CertBot, odwiedź następujący link: https: // certbot.Eff.org/

"