Jak zainstalować Certyfikat Let's Encrypt SSL, aby zabezpieczyć Apache na RHEL/CENTOS 7/6
- 2525
- 448
- Pani Janina Cieśla
Rozszerzanie ostatniego samouczka Let's Encrypt dotyczących bezpłatnych certyfikatów SSL/TLS, w tym artykule zademonstrujemy, jak uzyskać i zainstalować bezpłatne certyfikaty SSL/TLS wydane przez Zaszypujmy Urząd Świadectwa Do Apache Serwer WWW Centos/Rhel 7/6 a także dystrybucje Fedory.
Jeśli chcesz zainstalować, zaszypuj Let APACHE na Debian i Ubuntu, postępuj zgodnie z tym przewodnikiem poniżej:
Skonfiguruj, zaszyfrowajmy, aby zabezpieczyć Apache na Debian i Ubuntu
Testowanie przykładowego środowiska
Instaluj pozwala szyfrować Apache na Centos i RhelWymagania
- Zarejestrowana nazwa domeny z ważną
A
Dokumenty, aby wrócić do publicznego adresu IP twojego serwera. - Serwer Apache zainstalowany z włączonym modułem SSL i wirtualnym hosting.
Krok 1: Zainstaluj Apache Web Server
1. Jeśli nie jest jeszcze zainstalowany, demon HTTPD można zainstalować, wydając poniższe polecenie:
# Yum Instal HTTPD
2. Aby oprogramowanie zaszyfrować Let z Apache, upewnij się, że moduł SSL/TLS jest zainstalowany, wydając poniższe polecenie:
# yum -y instaluj mod_ssl
3. Na koniec uruchom serwer Apache z następującym poleceniem:
# Systemctl start httpd.Service [na RHEL/CENTOS 7] # Service Httpd Start [na RHEL/CENTOS 6]
Krok 2: Zainstaluj Let's Encrypt SSL Certificate
4. Najprostsza metoda instalacji Zaszypujmy Kloning jest przez klonowanie repozytorium GitHub w systemie plików. Aby zainstalować GIT w systemie, musisz włączyć repozytoria EPEL za pomocą następującego polecenia.
# mniam instaluj epel-uwalnianie
5. Po dodaniu repozytorium EPEL w systemie, śmiało instaluj klienta GIT, uruchamiając poniższe polecenie:
# mniam instaluj git
6. Teraz, po zainstalowaniu wszystkich wymaganych zależności, aby poradzić sobie z Let's Encrypt, przejdź do /usr/lokalny/
Directory i zacznij ciągnąć Let's Encrypt Form z oficjalnym repozytorium GitHub za pomocą następującego polecenia:
# cd/usr/local/ # git klon https: // github.com/LetsEncrypt/LetsEncrypt
Krok 3: Uzyskaj bezpłatny certyfikat SSL Let's Encrypt SSL dla Apache
7. Proces uzyskiwania bezpłatnego certyfikatu zaszyfrowania Let za Apache jest zautomatyzowany Centos/Rhel Dzięki wtyczce Apache.
Biegnijmy Zaszypujmy Polecenie skryptu w celu uzyskania certyfikatu SSL. Przejdź do katalogu instalacji Let's Encrypt /usr/local/letsEncrypt
i uruchom Letsecrrypt-Auto
polecenie, dostarczając --Apache
opcja i -D
flaga dla każdej subdomeny, której potrzebujesz certyfikat.
# cd/usr/local/letsencrypt # ./LetsEncrypt -Auto --apache -d Your_domain.tldUtwórz pozwala zaszyfrować certyfikat SSL dla Apache
8. Podaj adres e -mail, który będzie używany przez Let's Encrypt w celu odzyskania utraconego klucza lub w celu pilnych powiadomień i naciśnij Wchodzić kontynuować.
Dodaj adres e -mail do zaszyfrowania Lets9. Zgadzam się na warunki licencji, uderzając w klawisz Enter.
Zgadzam się, zaszyfrowaj licencję10. NA Centos/Rhel, Domyślnie serwer Apache nie używa koncepcji oddzielania katalogów dla hostów włączonych od dostępnych (nieaktywnych) hostów jako Debian Dystrybucja oparta na.
Również hosting wirtualny jest domyślnie wyłączony. Instrukcja Apache, która określa nazwę serwera (Nazwa serwera) Nie jest obecny w pliku konfiguracyjnym SSL.
Aby aktywować tę dyrektywę, Szyfrujmy, aby wybrać wirtualny host. Ponieważ nie znajduje dostępnego vhost, wybierz SSL.conf
plik do automatycznie modyfikowany przez Let's Encrypt Client i naciśnij Wchodzić kontynuować.
11. Następnie wybierz Łatwy metoda Http żądania i naciśnij Wchodzić ruszać naprzód.
Zezwalaj na łatwe żądania HTTP12. Wreszcie, jeśli wszystko poszło gładko, na ekranie powinien być wyświetlany komunikat gratulacyjny. Naciskać Wchodzić Aby zwolnić podpowiedź.
Pozwól, aby zaszyfrować włączoną w domenieOtóż to! Z powodzeniem wydałeś SSL/TLS Certyfikat Twojej domeny. Teraz możesz zacząć przeglądać swoją witrynę za pomocą Https protokół.
Krok 4: Test Free Let's Encrypt Szyfrowanie w domenie
13. Aby przetestować prostość Twojej domeny SSL/TLS UBRY, odwiedź poniższy link i przetestuj certyfikat na swojej domenie.
https: // www.ssllabs.COM/SSLTEST/Analizuj.htmlWeryfika
14. Jeśli otrzymasz serię raportów dotyczących podatności na domenę w przeprowadzonych testach, musisz pilnie naprawić te otwory bezpieczeństwa.
Ogólna ocena C klasa sprawia, że Twoja domena jest bardzo niepewna. Aby rozwiązać te problemy bezpieczeństwa, otwórz plik konfiguracyjny Apache SSL i dokonaj następujących zmian:
# vi/etc/httpd/conf.D/SSL.conf
Szukaj linii z Sslprotocol
Instrukcja i dodaj -SSLV3
Na końcu linii.
Wejdź głębiej w pliku, przeszukaj i skomentuj wiersz SSLCIPHERSUITE
umieszczając #
Przed nim i dodaj następujące treści w tym wierszu:
SSLCIPHERSUITE ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCMM-SHA384: DHE-RSA-AES128-GCMMSHMASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHASHA256 : Dhe-DSS-AES128-GCM-SHA256: KEDH+AESGCM: ecdhe-rsa-aes128-sha256: ecdhe-ecdsa-aes128-sha256: ecdhe-rsa-aes128-sha: ecdHe-ecdSa-aes128 -Aes256-sha384: ecdhe-ecdsa-aes256-sha384: ecdhe-rsa-aes256-sha: ecdhe-ecdsa-aes256-sha: dhe-rsa-aes128-sha256: dhe-rsa-aes128-sha: dhees-aes128 -Sha256: dhe-rsa-aes256-sha256: dhe-dss-aes256-sha: dhe-rsa-aes256-sha: aes128-gcm-sha256: AES256-GCM-SHA384: AES128-SHA256: AES256-SHA256: AES1286: AES256-SHA : AES256-SHA: AES: CAMELLIA: DES-CBC3-SHA:!anull:!Enall:!EKSPORT:!Des:!RC4:!MD5:!PSK:!Aecdh:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA sslhonorcipherorder na Ssloptions +StricTrequireSkonfiguruj konfigurację SSL
15. Po dokonaniu wszystkich powyższych zmian, zapisz i zamknij plik, a następnie uruchom ponownie demon Apache, aby zastosować zmiany.
# Systemctl restart httpd.Service [na RHEL/CENTOS 7] # Service HTTPD Restart [na RHEL/CENTOS 6]
16. Teraz ponownie testuje status szyfrowania domeny, odwiedzając ten sam link jak powyżej. Aby wykonać ponowne kliknięcie linku do Clear Cache ze strony internetowej.
https: // www.ssllabs.COM/SSLTEST/Analizuj.htmlTest pozwala zaszyfrować certyfikat SSL na stronie internetowej
Teraz powinieneś dostać zajęcia A Ogólna ocena, co oznacza, że twoja domena jest wysoce zabezpieczona.
Krok 4: Auto Renew Let's Encrypt Certicipt on Apache
17. Ta wersja beta Let's Encrypt Software wypuszcza certyfikaty z datą ważności 90 dni. Aby więc odnowić certyfikat SSL, musisz wykonać Letsecrrypt-Auto
Poleć ponownie przed datą ważności, z tymi samymi opcjami i flagami używanymi do uzyskania początkowego certyfikatu.
Przykład, w jaki sposób ręcznie odnowić certyfikat, przedstawiono poniżej.
# cd/usr/local/letsencrypt # ./LetsEncrypt-Auto certonly --apache--Renew-By-Default -D Your_domain.tld
18. Aby zautomatyzować ten proces, utwórz następujący skrypt Bash dostarczony przez Github Erikaheidi, w /usr/lokalny/bin/
katalog z następującą treścią. (Skrypt jest nieco zmodyfikowany, aby odzwierciedlić nasz katalog instalacyjny LetsEncrypt).
# vi/usr/local/bin/le-renew-centos
Dodaj następującą zawartość do LE-RENEW-CENTOS
plik:
!/bin/bash domain = 1 $ le_path = "/usr/local/letsEncrypt" le_conf = "/etc/limsecrypt" exp_limit = 30; get_domain_list () certDomain = 1 $ config_file = "$ le_conf/odnowienie/$ certyfikat.conf ”, jeśli [ ! -f $ config_file]; następnie echo „[błąd] plik konfiguracyjny dla certyfikatu $ certyfikat nie został znaleziony.„Wyjdź 1; Fi Domeny = $ (grep-w trybie dopasowania --Perl-regex” (?<=domains \= ).*" "$config_file") last_char=$(echo "$domains" | awk 'print substr($0,length,1)') if [ "$last_char" = "," ]; then domains=$(echo "$domains" |awk 'print substr($0, 1, length-1)') fi echo $domains; if [ -z "$domain" ] ; then echo "[ERROR] you must provide the domain name for the certificate renewal." exit 1; fi cert_file="/etc/letsencrypt/live/$domain/fullchain.pem" if [ ! -f $cert_file ]; then echo "[ERROR] certificate file not found for domain $domain." exit 1; fi exp=$(date -d "'openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-'" +%s) datenow=$(date -d "now" +%s) days_exp=$(echo \( $exp - $datenow \) / 86400 |bc) echo "Checking expiration date for $domain… " if [ "$days_exp" -gt "$exp_limit" ] ; then echo "The certificate is up to date, no need for renewal ($days_exp days left)." exit 0; else echo "The certificate for $domain is about to expire soon. Starting renewal request… " domain_list=$( get_domain_list $domain ) "$le_path"/letsencrypt-auto certonly --apache --renew-by-default --domains "$domain_list" echo "Restarting Apache… " /usr/bin/systemctl restart httpd echo "Renewal process finished for domain $domain" exit 0; fi
19. Uprawnienia do wykonania skryptu, zainstaluj pne pakować i uruchom skrypt, aby go przetestować. Użyj nazwy domeny jako parametru pozycyjnego dla skryptu. Wydaj poniższe polecenia, aby wykonać ten krok:
# yum instaluj bc # chmod +x/usr/local/bin/le-renew-centos #/usr/local/bin/le-renew-centos your_domain.tld
20. Wreszcie, za pomocą planowania Linux, dodaj nowe zadanie CRON, aby uruchomić skrypt co dwa miesiące, zapewniając, że Twój certyfikat zostanie zaktualizowany przed datą ważności.
# crontab -e
Dodaj następujący wiersz na dole pliku.
0 1 1 */2 */usr/local/bin/le-renew-centos your_domain.tld >>/var/log/your_domain.TLD-RENEW.Log 2> i 1
Otóż to! Twój serwer Apache działający na górze Centos/Rhel System obsługuje teraz treść SSL za pomocą bezpłatnego certyfikatu Let's Encrypt SSL.
- « 5 najczęściej używanych powłok open source dla Linux
- SARG - Generator raportu analizy kałamarnicy i narzędzie do monitorowania przepustowości internetowej »