Jak stworzyć samozabilne certyfikaty i klucze SSL dla Apache na RHEL/CENTOS 7.0

Jak stworzyć samozabilne certyfikaty i klucze SSL dla Apache na RHEL/CENTOS 7.0

SSL (Bezpieczna warstwa gniazd) to protokół kryptograficzny, który umożliwia bezpieczny przepływ danych między serwerem a jego klientami za pomocą klawiszy symetrycznych/asymetrycznych za pomocą certyfikatu cyfrowego podpisanego przez Authority certyfikatu (CA).

Utwórz certyfikaty SSL dla Apache

Wymagania

  1. Podstawowa instalacja lampy na RHEL/CENTOS 7.0

Ten samouczek zawiera podejście do konfiguracji Bezpieczna warstwa gniazd (SSL) Protokół kryptograficzny komunikacji na serwerze WWW Apache zainstalowany w Red Hat Enterprise Linux/Centos 7.0, i generuj autentyczne certyfikaty i klucze za pomocą skryptu Bash, który znacznie upraszcza cały proces.

Krok 1: Zainstaluj i skonfiguruj Apache SSL

1. Aby włączyć SSL na serwerze Apache HTTP, użyj następującego polecenia, aby zainstalować moduł SSL i OpenSSL Tool-KIT, który jest potrzebny do obsługi SSL/TLS.

# Yum Instal MOD_SSL OpenSsl
Zainstaluj moduł SSL

2. Po zainstalowaniu modułu SSL ponownie uruchom Httpd demon i dodaj nową regułę zapory, aby upewnić się, że port SSL - 443 - Jest otwarty na zewnętrzne połączenia na komputerze w stanie słuchania.

# Systemctl restart httpd # firewall-cmd --add-service = https ## Reguła lody # Firewall-CMD --Permanent --add-Service = https ## Stała reguła - potrzebuje ponownego uruchomienia zapory ogniowej
Uruchom ponownie usługę Apache

3. Aby przetestować połączenie SSL, otwórz zdalną przeglądarkę i przejdź do adresu IP serwera za pomocą protokołu HTPS https: // server_ip.

Przetestuj połączenie SSL

Krok 2: Utwórz certyfikaty i klucze SSL

4. Poprzednia komunikacja SSL między serwerem a klientem została wykonana przy użyciu domyślnego certyfikatu i klucza automatycznie generowanego podczas instalacji. W celu wygenerowania nowych kluczy prywatnych i pary certyfikatów samodzielnych utwórz następujący skrypt bash na wykonywanej ścieżce systemowej ($ Ścieżka).

Do tego samouczka /usr/lokalny/bin/ Ścieżka została wybrana, upewnij się, że skrypt ma zestaw wykonywalnych, a następnie użyj go jako polecenia do tworzenia nowych par SSL /etc/httpd/ssl/ Jako domyślna lokalizacja certyfikatów i kluczy.

# nano/usr/local/bin/apache_ssl

Użyj następującej zawartości pliku.

#!/bin/bash mkdir/etc/httpd/ssl cd/etc/httpd/ssl echo -e "Wprowadź swój wirtualny host fqdn!„Przeczytaj cert openssl genpkey -algorytm rsa -pkeyopt rsa_keygen_bits: 2048 -out $ cert.Key CHMOD 600 $ CERT.Key Openssl Req -New -key $ cert.klucz -ut $ cert.CSR Openssl x509 -Req -Days 365 -in $ cert.CSR -SIGNKEY $ CERT.klucz -ut $ cert.CRT echo -e „Certyfikat i klucz do $ cert został wygenerowany!\ nplease link do Apache SSL dostępna strona internetowa!"ls -all/etc/httpd/ssl exit 0
Utwórz samowystarczalne certyfikaty i klucze

5. Teraz spraw, aby ten skrypt był wykonywany i uruchom go w celu wygenerowania nowej pary certyfikatu i klucza do wirtualnego hosta Apache SSL.

Wypełnij je swoimi informacjami i zwróć uwagę Nazwa zwyczajowa wartość pasująca do twojego serwera FQDN lub w przypadku wirtualnego hostingu w celu dopasowania adresu internetowego, do którego będziesz dostęp, gdy połącz się z bezpieczną witryną.

# chmod +x/usr/local/bin/apache_ssl # apache_ssl
Wprowadź informacje SSL

6. Po wygenerowaniu certyfikatu i klucza skrypt przedstawi długą listę wszystkich par SSL Apache /etc/httpd/ssl/ Lokalizacja.

Pary SSL Apache

7. Inne podejście do generowania certyfikatów i kluczy SSL jest instalowanie Crypto-Utils pakiet w systemie i generuj pary za pomocą Genkey polecenie, które może nałożyć pewne problemy, szczególnie w przypadku użycia na Kit Ekran terminalu.

Proponuję więc użyć tej metody tylko wtedy, gdy jesteś bezpośrednio podłączony do monitora ekranu.

# Yum Zainstaluj Crypto-Utils # genkey your_fqdn
Zainstaluj pakiet kryptograficzny

8. Aby dodać nowy certyfikat i klucz do witryny SSL, otwórz plik konfiguracyjny witryny i wymień SslcertificateFile I SSLCertificateKeyeyFile Oświadczenia z nową lokalizacją i nazwiskami.

Włącz SSL na VirtualHosts

9. Jeśli certyfikat nie zostanie wydany przez zaufany organ certyfikacyjny CA lub nazwa hosta z certyfikatu nie pasuje do nazwy hosta, który ustanawia połączenie, w przeglądarce powinien pojawić się błąd i musisz ręcznie zaakceptować certyfikat.

Błąd certyfikatu SSL SSL włączony na Apache

Otóż ​​to! Teraz możesz użyć apache_sslJako wiersz poleceń na RHEL/CENTOS 7.0, aby wygenerować tyle par samozagładowanych certyfikatów i kluczy, których potrzebujesz, i wszystko będzie trzymane /etc/httpd/ssl/ ścieżka z chronionym plikami klucza 700 uprawnienia.