Instalacja PHP, APACHE2, MySQL, PHPMyADMIN, LINUX MINT
Spisu treści:
- Wymagania wstępne
- Zainstaluj Certbot
- Wygeneruj grupę Strong Dh (Diffie-Hellman)
- Uzyskanie certyfikatu Let's Encrypt SSL
- Automatyczne odnawianie certyfikatu SSL Encrypt
- Wniosek
Let's Encrypt to bezpłatny, zautomatyzowany i otwarty urząd certyfikacji opracowany przez Internet Security Research Group (ISRG). Certyfikaty wydane przez Let's Encrypt są ważne przez 90 dni od daty wystawienia i są dziś zaufane przez wszystkie główne przeglądarki.
W tym samouczku omówimy kroki niezbędne do zainstalowania bezpłatnego certyfikatu Let's Encrypt SSL na serwerze CentOS 7 z uruchomionym Apache jako serwerem WWW. Użyjemy narzędzia certbot do uzyskania i odnowienia certyfikatów Let's Encrypt.
Wymagania wstępne
Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:
- Niech nazwa domeny wskazuje adres IP twojego publicznego serwera. Użyjemy
example.comApache jest zainstalowany i działa na twoim serwerze. Posiadaj wirtualny host Apache dla twojej domeny. Porty 80 i 443 są otwarte w twojej zaporze ogniowej.
Zainstaluj następujące pakiety, które są wymagane dla serwera WWW z szyfrowaniem SSL:
Zainstaluj Certbot
Certbot to narzędzie, które upraszcza proces uzyskiwania certyfikatów SSL z Let's Encrypt i automatycznego włączania HTTPS na twoim serwerze.
Pakiet certbot można zainstalować z EPEL. Jeśli repozytorium EPEL nie jest zainstalowane w systemie, możesz je zainstalować za pomocą następującego polecenia:
sudo yum install epel-release
Po włączeniu repozytorium EPEL zainstaluj pakiet certbot, wpisując:
Wygeneruj grupę Strong Dh (Diffie-Hellman)
Wymiana kluczy Diffie – Hellmana (DH) to metoda bezpiecznej wymiany kluczy kryptograficznych przez niezabezpieczony kanał komunikacyjny. Wygeneruj nowy zestaw 2048 bitowych parametrów DH w celu zwiększenia bezpieczeństwa:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Możesz zmienić rozmiar do 4096 bitów, ale w takim przypadku generowanie może potrwać dłużej niż 30 minut, w zależności od entropii systemu.
Uzyskanie certyfikatu Let's Encrypt SSL
Aby uzyskać certyfikat SSL dla naszej domeny, użyjemy wtyczki Webroot, która działa, tworząc tymczasowy plik do sprawdzania poprawności żądanej domeny w katalogu
${webroot-path}/.well-known/acme-challenge
. Serwer Let's Encrypt wysyła żądania HTTP do pliku tymczasowego w celu sprawdzenia, czy żądana domena rozpoznaje serwer, na którym działa certbot.
Aby to
.well-known/acme-challenge
wszystkie żądania HTTP dotyczące
.well-known/acme-challenge
do pojedynczego katalogu
/var/lib/letsencrypt
.
Uruchom następujące polecenia, aby utworzyć katalog i umożliwić zapisywanie go na serwerze Apache:
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Aby uniknąć powielania kodu, utwórz następujące dwa fragmenty konfiguracji:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off
Powyższy fragment wykorzystuje chipsety zalecane przez Cipherli.st, włącza zszywanie OCSP, HTTP Strict Transport Security (HSTS) i wymusza kilka nagłówków HTTP zorientowanych na bezpieczeństwo.
Załaduj ponownie konfigurację Apache, aby zmiany odniosły skutek:
sudo systemctl reload
Teraz możemy uruchomić narzędzie Certbot z wtyczką webroot i uzyskać pliki certyfikatów SSL, wpisując:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Jeśli certyfikat SSL zostanie pomyślnie uzyskany, certbot wydrukuje następujący komunikat:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-12-07. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
CentOS 7 jest dostarczany z wersją Apache 2.4.6, która nie zawiera dyrektywy
SSLOpenSSLConfCmd
. Ta dyrektywa jest dostępna tylko w Apache 2.4.8 później i służy do konfiguracji parametrów OpenSSL, takich jak wymiana kluczy Diffie – Hellman (DH).
Będziemy musieli utworzyć nowy połączony plik przy użyciu certyfikatu Let's Encrypt SSL i wygenerowanego pliku DH. Aby to zrobić, wpisz:
cat /etc/letsencrypt/live/example.com/cert.pem /etc/ssl/certs/dhparam.pem >/etc/letsencrypt/live/example.com/cert.dh.pem
Teraz, gdy wszystko jest już skonfigurowane, edytuj konfigurację wirtualnego hosta domeny w następujący sposób:
/etc/httpd/conf.d/example.com.conf
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
W powyższej konfiguracji wymuszamy HTTPS i przekierowujemy z wersji www na wersję inną niż www. Możesz dostosować konfigurację do swoich potrzeb.
Uruchom ponownie usługę Apache, aby zmiany zostały wprowadzone:
sudo systemctl restart
Możesz teraz otworzyć witrynę za pomocą
https://
a zobaczysz zieloną ikonę kłódki.

Automatyczne odnawianie certyfikatu SSL Encrypt
Certyfikaty Let's Encrypt są ważne przez 90 dni. Aby automatycznie odnowić certyfikaty przed ich wygaśnięciem, utworzymy cronjob, który będzie działał dwa razy dziennie i automatycznie odnowi każdy certyfikat 30 dni przed jego wygaśnięciem.
Uruchom komendę
crontab
aby utworzyć nowy cronjob, który odnowi certyfikat, utwórz nowy plik łączony zawierający klucz DH i zrestartuj apache:
sudo crontab -e
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload
Zapisz i zamknij plik.
Aby przetestować proces odnawiania, możesz użyć polecenia certbot, a następnie przełącznika --dry
--dry-run
:
sudo certbot renew --dry-run
Jeśli nie ma błędów, oznacza to, że proces odnowienia zakończył się powodzeniem.
Wniosek
W tym samouczku użyłeś certyfikatu klienta Let's Encrypt do pobrania certyfikatów SSL dla swojej domeny. Utworzyłeś również fragmenty Apache, aby uniknąć powielania kodu, i skonfigurowałeś Apache do używania certyfikatów. Pod koniec tego samouczka skonfigurowałeś cronjob do automatycznego odnawiania certyfikatów.
apache centos zaszyfrujmy certbot sslTen post jest częścią Install LAMP Stack na CentOS 7 series.
Inne posty z tej serii:
• Jak zainstalować Apache na CentOS 7 • Zainstaluj MySQL na CentOS 7 • Jak skonfigurować Apache Virtual Hosts na CentOS 7 • Bezpieczny Apache za pomocą Let's Encrypt na CentOS 7Bezpieczeństwo MongoDB: Zabezpiecz i zabezpiecz bazę danych MongoDB przed Ransomware
Ransomware trafiło niezabezpieczone instalacje MongoDB. Dowiedz się, jak zabezpieczyć i chronić bazę danych MongoDB. Przeczytaj więcej o problemach, liście kontrolnej i sprawdzonych metodach.
Zabezpiecz apache za pomocą szyfrowania na centos 8
W tym samouczku wyjaśniono, jak zainstalować bezpłatny certyfikat Let's Encrypt SSL na CentOS 8 z uruchomionym Apache jako serwerem WWW. Użyjemy narzędzia certbot do uzyskania i odnowienia certyfikatów.
Zabezpiecz apache za pomocą szyfrowania w Debian 9
Ten samouczek poprowadzi Cię przez proces uzyskiwania bezpłatnego Let's Encrypt przy użyciu narzędzia certbot w Debianie 9. Pokażemy również, jak skonfigurować Apache do korzystania z nowego certyfikatu SSL i włączyć HTTP / 2







