20 Centos Server Hartening Security Wskazówki - Część 1
- 2943
- 392
- Maurycy Napierała
Ten samouczek obejmuje tylko ogólne wskazówki dotyczące bezpieczeństwa Centos 8/7 które można użyć do stwardnienia systemu. Wskazówki dotyczące listy kontrolnej mają być używane głównie na różnych rodzajach serwerów gołego metalu lub na maszynach (fizycznych lub wirtualnych), które świadczą usługi sieciowe.
Jednak niektóre końcówki można również z powodzeniem zastosować do maszyn ogólnego przeznaczenia, takie jak komputery z pojedynczych komputerów na komputery z pojedynczą tabelą i komputery jednorazowe (komputery jednorazowe (Raspberry Pi).
Wymagania
- Minimalna instalacja CentOS 8
- Minimalna instalacja centu 7
1. Ochrona fizyczna
Zablokuj swoje pokoje serwerowe, użyj blokowania stojaków i nadzoru wideo. Weź pod uwagę, że każdy fizyczny dostęp do pokoi serwerowych może wystawić komputer na poważne problemy z bezpieczeństwem.
BIOS Hasła można zmienić, resetując skoczki na płycie głównej lub odłączając baterię CMOS. Ponadto intruz może ukraść dyski twardy.
2. Zmniejsz wpływ szpiegowania
W przypadku bardzo poufnych danych prawdopodobnie powinieneś użyć zaawansowanej ochrony fizycznej, takiej jak umieszczanie i blokowanie serwera w klatce Faraday lub użyć wojskowego rozwiązania Tempest w celu zminimalizowania wpływu szpiegowania systemu za pośrednictwem radiood.
3. Bezpieczny bios/uefi
Rozpocznij proces utwardzania urządzenia poprzez zabezpieczenie BIOS/UEFI Ustawienia, zwłaszcza ustaw BIOS/UEFI hasło i wyłącz urządzenia rozruchowe (CD, DVD, wyłącz obsługę USB), aby zapobiec nieautoryzowanym użytkownikom modyfikowania ustawień systemu systemu BIOS lub zmianie priorytetu urządzenia rozruchowego i uruchamiania urządzenia z alternatywnego średniego.
Aby zastosować ten rodzaj zmiany na komputerze.
4. Bezpieczny ładowarka rozruchowa
Ustaw ŻARCIE Hasło, aby zapobiec złośliwym użytkownikom manipulacji sekwencją rozruchu jądra lub poziomów uruchomienia, edytować parametry jądra lub uruchomić system w trybie jednorazowego, aby zaszkodzić systemowi i zresetować hasło root, aby uzyskać uprzywilejowane sterowanie.
5. Użyj osobnych partycji dysku
Podczas instalowania Centos W systemach przeznaczonych, ponieważ serwery produkcyjne wykorzystują dedykowane partycje lub dedykowane dyski twarde dla następujących części systemu:
/(root) /boot /home /tmp /var
6. Użyj LVM i RAID do redundancji i wzrostu systemu plików
/var Partycja to miejsce, w którym wiadomości dziennika są zapisywane na dysku. Ta część systemu może wykładniczo rosnąć na serwerach silnie ruchu, które ujawniają usługi sieciowe, takie jak serwery internetowe lub serwery plików.
W ten sposób użyj dużej partycji dla /var Lub rozważ skonfigurowanie tej partycji za pomocą woluminów logicznych (LVM) lub połącz kilka dysków fizycznych w jednym większym wirtualnym urządzeniu RAID 0, aby utrzymać duże ilości danych. W przypadku danych redundancja rozważ się użycie układu LVM na górze RAID 1 poziom.
Aby skonfigurować LVM lub RAID na dyskach, postępuj zgodnie z naszymi przydatnymi przewodnikami:
- Skonfiguruj pamięć dysku z LVM w Linux
- Utwórz dyski LVM za pomocą VGCreate, LVCreate i Lvextend
- Połącz kilka dysków w jedno duże wirtualne przechowywanie
- Utwórz RAID 1 za pomocą dwóch dysków w Linux
7. Zmodyfikuj opcje FSTAB, aby zabezpieczyć partycje danych
Oddzielne partycje przeznaczone do przechowywania danych i zapobiegania realizacji programów, plików urządzeń lub setuid bit na tego typu partycje, dodając następujące opcje do fstab Plik, jak ilustrowano na poniższym fragmencie:
/dev /sda5 /NAS Ext4 domyślnie,Nosuid, Nodev, Noexec 1 2
Aby zapobiec eskalacji przywilejów i dowolnym wykonywaniu skryptu Utwórz osobną partycję dla /TMP i zamontuj to jako Nosuid, Nodev, I Noexec.
/dev /sda6 /tmp ext4 domyślnie,Nosuid, Nodev, Noexec 0 0
8. Zaszyfruj dyski twardych na poziomie bloków za pomocą luków
W celu ochrony wrażliwych danych w przypadku fizycznego dostępu do dysków twardych maszynowych. Sugeruję, aby dowiedzieć się, jak szyfrować dysku, czytając nasz artykuł Szyfrowanie danych Linux Hard Disk z LUKS.
9. Użyj kryptografii PGP i klucza publicznego
Aby szyfrować dyski, użyj kryptografii PGP i klucza publicznego lub polecenia OpenSSL do szyfrowania i odszyfrowania plików wrażliwych za pomocą hasła, jak pokazano w tym artykule.
10. Zainstaluj tylko minimalną ilość wymaganych pakietów
Unikaj instalacji nieistotnych lub niepotrzebnych programów, aplikacji lub usług, aby uniknąć luk w opakowaniu. Może to zmniejszyć ryzyko, że kompromis oprogramowania może prowadzić do naruszenia innych aplikacji, części systemu, a nawet systemów plików, w końcu powodując uszkodzenie danych lub utratę danych.
11. Często aktualizuj system
Regularnie aktualizuj system. Zsywij się zsynchronizuj jądro Linux z najnowszymi łatami bezpieczeństwa i wszystkimi zainstalowanym oprogramowaniem na najnowsze wersje z najnowszymi wersjami, wydając poniższe polecenie:
# Aktualizacja Yum
12. Wyłącz Ctrl+Alt+Del
Aby uniemożliwić użytkownikom ponowne uruchomienie serwera po uzyskaniu fizycznego dostępu do klawiatury lub za pośrednictwem aplikacji konsoli zdalnej lub konsoli wirtualizowanej (Kvm, Wirtualizujący interfejs oprogramowania) powinieneś wyłączyć Ctrl+alt+del
Kluczowa sekwencja poprzez wykonanie poniższego polecenia.
# SystemCtl Mask Ctrl-Alt-del.cel
13. Usuń niepotrzebne pakiety oprogramowania
Zainstaluj minimalne oprogramowanie wymagane dla swojego komputera. Nigdy nie instaluj dodatkowych programów ani usług. Zainstaluj pakiety tylko z zaufanych lub oficjalnych repozytoriów. Użyj minimalnej instalacji systemu na wypadek, gdyby komputer był przeznaczony do uruchomienia całego życia jako serwer.
Sprawdź zainstalowane pakiety za pomocą jednego z następujących poleceń:
# rpm -qa
Zrób lokalną listę wszystkich zainstalowanych pakietów.
# zainstalowana lista Yum >> Zainstalowana.tekst
Zapoznaj się z listą bezużytecznego oprogramowania i usuń pakiet, wydając poniższe polecenie:
# Yum Usuń nazwę Pakiet_namePowiązany artykuł: Wyłącz i usuń niechciane pakiety przy minimalnej instalacji centu
14. Uruchom ponownie usługi systemowe po aktualizacji demona
Użyj poniższego przykładu polecenia, aby ponownie uruchomić usługę SystemD, aby zastosować nowe aktualizacje.
# Systemctl restart httpd.praca
15. Usuń niepotrzebne usługi
Zidentyfikuj usługi słuchające na określonych portach za pomocą następujące polecenie SS.
# ss -tulpn
Aby wymienić wszystkie zainstalowane usługi z wydaniem statusu wyjściowego Poniższe polecenie:
# Systemctl List -Units -t Service
Na przykład, Centos Domyślna minimalna instalacja jest wyposażona w demon postfix zainstalowany domyślnie, który działa według nazwy master pod portem 25. Usuń usługę sieciową postfix na wypadek, gdyby komputer nie będzie używany jako serwer pocztowy.
# mniam usuń postfixPowiązany artykuł: Zatrzymaj się i wyłącz niechciane usługi w Centos
16. Szyfrowanie przesyłanych danych
Nie używaj niezabezpieczonych protokołów do zdalnego dostępu lub przesyłania plików, takich jak Telnet, Ftp, lub inne proste protokoły wysokiego tekstu, takie jak SMTP, HTTP, NFS lub SMB, które domyślnie nie szyfrują sesji uwierzytelniania ani nie wysyłał danych.
Użyj tylko SFTP, SCP do transferów plików i SSH lub VNC przez tunele SSH do zdalnych połączeń konsolowych lub dostępu do GUI.
W celu tunelowej konsoli VNC za pośrednictwem SSH użyj poniższego przykładu, który przekazuje port VNC 5901 z zdalnego maszyny do lokalnego komputera:
# SSH -L 5902: LocalHost: 5901 Remote_machine
Na komputerze lokalnym Uruchom poniższe polecenie, aby wirtualne połączenie z zdalnym punktem końcowym.
# vncViewer LocalHost: 5902
17. Skanowanie portów sieciowych
Przeprowadź kontrolę portów zewnętrznych za pomocą narzędzia NMAP ze zdalnego systemu przez LAN. Tego rodzaju skanowanie można wykorzystać do weryfikacji luk w sieci lub przetestowaniu reguł zapory.
# nmap -st -o 192.168.1.10Powiązany artykuł: Dowiedz się, jak korzystać z NMAP z tymi 29 przykładami
18. Firewall z filtrem pakietów
Używać Firewalld Użyteczność do ochrony portów systemowych, otwartych lub zamykania określonych portów usług, zwłaszcza dobrze znanych portów (<1024).
Zainstaluj, uruchom, włącz i wymień reguły zapory, wydając poniższe polecenia:
# Yum Instal Firewalld # Systemctl Start Firewalld.Service # Systemctl Włącz zaporę ogniową.Service # Firewall-CMD-List-All
19. Sprawdź pakiety protokołu za pomocą TCPDump
Użyj narzędzia TCPDUMP, aby wąchać pakiety sieciowe lokalnie i sprawdzić ich treść pod kątem podejrzanego ruchu (porty odznaczania źródła, protokoły TCP/IP, warstwę dwa, nietypowe żądania ARP).
Aby uzyskać lepszą analizę TCPDUMP Zrejestrowany plik użyj bardziej zaawansowanego programu, takiego jak Wireshark.
# tcpdump -i eno16777736 -w tcpdump.PCAP
20. Zapobiegaj atakom DNS
Zazwyczaj sprawdź zawartość swojego rozdzielczości /etc/resolv.conf Plik, który definiuje adres IP serwerów DNS, którego powinien użyć do zapytania o nazwy domeny, aby uniknąć ataków man-in-a middle, niepotrzebnego ruchu dla serwerów root DNS, fałszerstwo lub tworzenie ataku DOS.
To tylko pierwsza część. W następnej części omówimy inne wskazówki dotyczące bezpieczeństwa Centos 8/7.
Nie przegap: Mega Guide to Hartening and Scheting Centos 8/7 - Część 2- « Jak stworzyć zespoły sieciowe lub wiązanie w Centos 8 / Rhel 8
- Jak uruchomić dowolny dystrybucję Linuksa bezpośrednio z dysku twardego w Ubuntu za pomocą menu Grub »