Seria RHCE wdrażająca HTTPS za pośrednictwem TLS za pomocą sieci bezpieczeństwa sieci (NSS) dla Apache - Część 8

- 1765
- 325
- Laura Zygmunt
Jeśli jesteś administratorem systemu, który jest odpowiedzialny za utrzymanie i zabezpieczenie serwera WWW, nie możesz sobie pozwolić na nie poświęcenie swoich najlepszych starań, aby zapewnić, że dane obsługiwane przez serwer lub przejście przez serwer były przez cały czas chronione.

Aby zapewnić bezpieczniejszą komunikację między klientami internetowymi i serwerami, Https Protokół urodził się jako kombinacja Http I SSL (Bezpieczna warstwa gniazd) lub ostatnio, Tls (Bezpieczeństwo warstwy transportowej).
Z powodu poważnych naruszeń bezpieczeństwa, SSL został przestarzały na korzyść bardziej solidnego Tls. Z tego powodu w tym artykule wyjaśnimy, jak zabezpieczyć połączenia między serwerem WWW a klientami za pomocą TLS.
Ten samouczek zakłada, że już zainstalowałeś i skonfigurowałeś swój serwer WWW Apache. Jeśli nie, zapoznaj się z następującym artykułem na tej stronie przed kontynuowaniem.
- Zainstaluj lampę (Linux, MySQL/Mariadb, Apache i PHP) na RHEL/CENTOS 7
Instalacja OpenSSL i narzędzi
Po pierwsze, upewnij się Apache działa i że oba http I https są dozwolone przez zaporę:
# Systemctl start http # Systemctl Włącz http # Firewall-CMD --PerManent --add-Service = Http # Firewall-CMD --Permanent --add-Service = Https
Następnie zainstaluj niezbędne pakiety:
# Yum Update && Yum Instal OpenSsl mod_nss Crypto-Utils
Ważny: Pamiętaj, że możesz wymienić mod_nss z mod_ssl w powyższym poleceniu, jeśli chcesz użyć Openssl biblioteki zamiast NSS (Usługa bezpieczeństwa sieci) do wdrożenia Tls (Który użyć, pozostaje w całości, ale użyjemy NSS w tym artykule, ponieważ jest on bardziej solidny; na przykład obsługuje najnowsze standardy kryptografii, takie jak PKCS #11).
Wreszcie odinstaluj mod_ssl Jeśli zdecydowałeś się użyć mod_nss, lub odwrotnie.
# Yum Usuń mod_ssl
Konfigurowanie NSS (usługa bezpieczeństwa sieci)
Po mod_nss jest zainstalowany, jego domyślny plik konfiguracyjny jest tworzony jako /etc/httpd/conf.D/NSS.conf. Powinieneś upewnić się, że wszystkie Słuchać I Virtualhost Dyrektywy wskazują na port 443 (Domyślny port dla HTTPS):
NSS.Conf - plik konfiguracyjnyPosłuchaj 443 VirtualHost _default_: 443
Następnie uruchom ponownie Apache i sprawdź, czy mod_nss Moduł został załadowany:
# Apachectl restart # httpd -m | GREP NSS

Następnie należy dokonać następujących edycji /etc/httpd/conf.D/NSS.conf
plik konfiguracyjny:
1. Wskaż katalog bazy danych NSS. Możesz użyć Domyślnego katalogu lub utworzyć nowy. W tym samouczku użyjemy domyślnego:
NsScertifiateAtabaza/etc/httpd/alias
2. Unikaj ręcznego wpisu do pseudonimu w każdym uruchomieniu systemu, zapisując hasło do katalogu bazy danych w /etc/httpd/nss-db-password.conf:
NSSPASSPHRACEDIALOG PLIK:/etc/httpd/nss-db-password.conf
Gdzie /etc/httpd/nss-db-password.conf zawiera tylko następujący wiersz i moje hasło to hasło, które ustawiasz później dla bazy danych NSS:
Wewnętrzne: MyPassword
Ponadto należy ustalić jego uprawnienia i własność 0640 I root: Apache, odpowiednio:
# CHMOD 640/etc/httpd/nss-db-password.Conf # CHGRP Apache/etc/httpd/nss-db-password.conf
3. Red Hat zaleca wyłączenie SSL i wszystkie wersje Tls poprzedzającym TLSV1.0 z powodu Pudle sslv3 podatność (więcej informacji tutaj).
Upewnij się, że każda instancja Nssprotocol Dyrektywa odczytuje się w następujący sposób (prawdopodobnie znajdziesz tylko jedną, jeśli nie hostujesz innych wirtualnych hostów):
Nssprotocol tlsv1.0, TLSV1.1
4. Apache odmówi ponownego uruchomienia, ponieważ jest to samowystarczalny certyfikat i nie uzna tego, że emitent jest ważny. Z tego powodu w tym konkretnym przypadku będziesz musiał dodać:
Nssenforcevalidcerts
5. Choć nie jest to wyłącznie wymagane, ważne jest, aby ustawić hasło dla bazy danych NSS:
# certutil -w -d/etc/httpd/alias

- « Korzystanie z DSH (powłoka rozproszona) do uruchamiania poleceń Linux na wielu maszynach
- 8 Ciekawe wskazówki i sztuczki edytora „VI/VIM” dla każdego administratora Linuksa - Część 2 »