Konfigurowanie SSL / TLS dla Apache2 na Ubuntu 17.04

  • Yurii Anneticus
  • 0
  • 1728
  • 540

SSL (Secure Sockets Layer) i TLS (Transport Layer Security) to protokoły używane do zabezpieczania komunikacji między urządzeniami sieciowymi lub usługami. Jest powszechnie używany do szyfrowania ruchu internetowego między przeglądarką internetową klienta a serwerem internetowym.

Inne urządzenia i usługi sieciowe również używają SSL / TLS, jednak protokoły są głównie używane do zabezpieczania komunikacji w sieci.

Ten krótki samouczek pokaże, jak włączyć SSL / TLS w witrynach opartych na Apache2, aby zabezpieczyć komunikację. Jeśli wykonasz poniższe kroki, ruch przychodzący do Twoich witryn będzie również odbywał się przez HTTPS.

Aby rozpocząć włączanie konfiguracji SSL / TLS dla Apache2, wykonaj poniższe czynności:

Krok 1: Wygeneruj klucz prywatny serwera i CRS

Pierwszym krokiem w tworzeniu certyfikatów SSL / TLS jest wygenerowanie klucza prywatnego serwera oraz CSR (Certificate Signing Request). CSR jest następnie używany wraz z kluczem prywatnym lokacji / serwera do wygenerowania certyfikatu publicznego dla zabezpieczanego zasobu.

Najpierw utwórzmy folder do przechowywania certyfikatów i CSR.

sudo mkdir / etc / apache2 / ssl cd / etc / apache2 / ssl

Następnie uruchom poniższe polecenia, aby utworzyć klucz prywatny witryny lub serwera. Będziemy używać znacznie silniejszego 4096-bitowego klucza, aby zwiększyć bezpieczeństwo.

sudo openssl genrsa -out example.com.key 4096

Po wygenerowaniu klucza prywatnego lokacji / serwera przejdźmy poniżej do wygenerowania CSR. W tym celu będziemy również używać znacznie silniejszego 512-bitowego algorytmu SHA-2.

Aby wygenerować CSR, uruchom poniższe polecenia

sudo openssl req -new -key example.com.key -out example.com.csr -sha512

Po uruchomieniu powyższych poleceń zostanie wyświetlony monit z listą pól, które należy wypełnić. Pole nazwy zwyczajowej jest najważniejsze i powinno być nazwą witryny, którą chronisz.

Za chwilę zostaniesz poproszony o wprowadzenie informacji, które zostaną uwzględnione we wniosku o certyfikat. To, co zamierzasz wprowadzić, to tak zwana nazwa wyróżniająca lub nazwa wyróżniająca. Jest kilka pól, ale możesz zostawić je puste. W przypadku niektórych pól będzie wartość domyślna. Jeśli wpiszesz „.”, Pole pozostanie puste. ----- Nazwa kraju (dwuliterowy kod) [AU]: Nazwa stanu lub prowincji w USA (pełna nazwa) [Niektóre stany]: Nazwa miejscowości Minnesota (np. Miasto) []: Nazwa organizacji Brooklyn (np. Firma) [Internet Widgits Pty Ltd]: Nazwa jednostki organizacyjnej mojego osobistego bloga (np. Sekcja) []: Nazwa zwyczajowa jednostki SSL (np. Nazwa FQDN serwera lub TWOJA nazwa) []: example.com Adres e-mail []: Wprowadź następujące „dodatkowe 'atrybuty, które mają być wysłane wraz z żądaniem certyfikatu Hasło weryfikacyjne []: NIE WPISUJ TUTAJ HASŁA, POZOSTAWIĆ PUSTE Opcjonalna nazwa firmy []:

Po utworzeniu CSR kontynuuj poniżej, aby podpisać certyfikat.

Krok 2: Podpisz certyfikat

Po wygenerowaniu klucza prywatnego serwera / witryny i CSR, ostatnim krokiem jest podpisanie certyfikatu przy użyciu klucza prywatnego serwera / witryny wraz z CSR. W tym celu uruchomimy poniższe polecenia, aby podpisać certyfikat, aby był ważny przez 365 dni.

Należy odnowić po roku.

sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -sha512

Następnie nowy certyfikat o nazwie example.com.crt powinien być gotowy do użycia. Teraz wszystko, co musisz zrobić, to określić pliki certyfikatów w konfiguracjach Apache2.

Otwórz plik konfiguracyjny Apache2 SSL, wykonując poniższe polecenia:

sudo nano /etc/apache2/sites-available/default-ssl.conf

Następnie edytuj plik, tak aby wyglądał jak ten poniżej, odnoszący się do lokalizacji właśnie utworzonych certyfikatów.

# Serwer HTTPS   ServerAdmin webmaster @ localhost Nazwa_serwera example.com Aliasy serwera www.example.com DocumentRoot / var / www / html ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log połączone SSLEngine na SSLCertificateFile / etc / apache2 / ssl / example.com.crt SSLCertificateKeyFile /etc/apache2/ssl/example.com.key  SSLOptions + StdEnvVars   SSLOptions + StdEnvVars  BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown  

Następnie włącz moduł Apache2 SSL i aktywuj plik SSL Virtual Host, uruchamiając poniższe polecenia.

sudo a2enmod ssl sudo a2ensite default-ssl.conf

Uruchom ponownie serwer WWW Apache2 i gotowe.

sudo systemctl przeładuj apache2.service

Podsumowanie:

Ten post pokazuje, jak wygenerować samopodpisany certyfikat SSL / TLS dla witryn internetowych w systemie Ubuntu 17.04. Powinno to również działać w poprzedniej wersji Ubuntu i innych dystrybucjach Linuksa.

Gdy wszystko zostanie skonfigurowane, jak pokazano powyżej, Twoja witryna będzie mogła komunikować się zarówno przez HTTPS, jak i HTTP. Musisz włączyć przekierowanie HTTP do HTTPS, aby wymusić na całym ruchu korzystanie z HTTPS. Przeszukaj tę witrynę pod kątem samouczków dotyczących ustawiania przekierowań Apache2.




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux