Wyszukiwanie w witrynie

Wyłącz i usuń niechciane usługi w minimalnej instalacji RHEL/CentOS 7


Minimalna instalacja RHEL/CentOS 7 dla serwerów obejmuje niektóre domyślne, preinstalowane usługi, takie jak demon Postfix Mail Transfer Agent, Avahi demon mdns (multicastowy system nazw domen) i usługa Chrony, która jest odpowiedzialna za utrzymanie zegara systemowego.

Teraz przychodzi pytanie.. Dlaczego musimy wyłączyć wszystkie te usługi. jeśli są preinstalowane? Jednym z głównych powodów byłoby zwiększenie poziomu bezpieczeństwa systemu, drugim powodem jest ostateczne miejsce docelowe systemu, a trzecim zasoby systemowe.

Wymagania

  1. Minimalna instalacja CentOS 7
  2. Minimalna instalacja RHEL 7

Jeśli planujesz używać nowo zainstalowanego systemu RHEL/CentOS 7 do hostowania, powiedzmy, małej witryny internetowej działającej na Apache lub Nginx albo do świadczenia usług sieciowych, takich jak DNS , DHCP, rozruch PXE, serwer FTP itp. lub inne usługi, które nie wymagają uruchamiania demona Postifx MTA, demona Chrony lub Avahi, więc dlaczego powinniśmy instalować lub nawet uruchamiać te wszystkie niepotrzebne demony na twoim serwerze.

Głównymi usługami zewnętrznymi, których naprawdę wymaga serwer do działania po przeprowadzeniu minimalnej instalacji, będzie po prostu demon SSH umożliwiający zdalne logowanie do systemu oraz, w niektórych przypadkach, usługa NTP w celu dokładnie zsynchronizuj wewnętrzny zegar serwera z zewnętrznymi serwerami NTP.

Wyłącz/usuń usługi Postfix MTA, Avahi i Chrony

1. Po zakończeniu instalacji zaloguj się na swoim serwerze przy użyciu konta root lub użytkownika z uprawnieniami root i przeprowadź aktualizację systemu, aby upewnić się, że Twój system jest aktualny -date ze wszystkimi pakietami i poprawkami bezpieczeństwa.

yum upgrade

2. Następnym krokiem będzie instalacja kilku przydatnych narzędzi systemowych przy użyciu Menedżera pakietów YUM, takich jak net-tools (ten pakiet zawiera starszą
ale dobre polecenie ifconfig), edytor tekstu nano, wget i curl do przesyłania adresów URL, lsof (aby wyświetlić listę otwartych plików) i bash-completion, który automatycznie uzupełnia wpisywane polecenia.

yum install nano bash-completion net-tools wget curl lsof

3. Teraz możesz rozpocząć wyłączanie i usuwanie wstępnie zainstalowanych niechcianych usług. Przede wszystkim uzyskaj listę wszystkich włączonych i uruchomionych usług, uruchamiając polecenie netstat dla gniazd sieciowych stanu TCP, UDP i Listen.

netstat -tulpn  	## To output numerical service sockets

netstat -tulp      	## To output literal service sockets

4. Jak widać Postfix jest uruchomiony i nasłuchuje na localhost na porcie 25, demon Avahi łączy się ze wszystkimi interfejsami sieciowymi i Chronyd usługa łączy się z hostem lokalnym i wszystkimi interfejsami sieciowymi na różnych portach. Kontynuuj usuwanie usługi Postfix MTA, wydając następujące polecenia.

systemctl stop postfix
yum remove postfix

5. Następnie usuń usługę Chronyd, która zostanie zastąpiona przez serwer NTP, wydając poniższe polecenia.

systemctl stop chronyd
yum remove chrony

6. Teraz czas usunąć demona Avahi. Wygląda na to, że w RHEL/CentOS 7 demon Avahi jest mocno napięty i zależy od usługi Network Managera. Usunięcie demona Avahi może spowodować pozostawienie systemu bez żadnych połączeń sieciowych.

Dlatego zwróć szczególną uwagę na ten krok. Jeśli naprawdę potrzebujesz automatycznej konfiguracji sieci zapewnianej przez Network Managera lub chcesz edytować swoje interfejsy
za pomocą narzędzia sieciowego i interfejsu nmtui, powinieneś jedynie zatrzymać i wyłączyć demona Avahi i nie przeprowadzać żadnego usuwania.

Jeśli nadal chcesz całkowicie usunąć tę usługę, musisz ręcznie edytować pliki konfiguracji sieci znajdujące się w /etc/sysconfig/network-scripts/ifcfg-interface_name, a następnie uruchomić i włączyć usługę sieciową.

Wydaj następujące polecenia, aby usunąć demona Avahi mdns. Uwaga: nie próbuj usuwać demona Avahi, jeśli łączysz się przez SSH.

systemctl stop avahi-daemon.socket avahi-daemon.service
systemctl disable avahi-daemon.socket avahi-daemon.service
--------- Stop here if you don't want removal --------- 

yum remove avahi-autoipd avahi-libs avahi

7. Ten krok jest wymagany tylko wtedy, gdy usunąłeś demona Avahi, a połączenia sieciowe uległy awarii i musisz ponownie ręcznie skonfigurować kartę interfejsu sieciowego.

Aby edytować kartę sieciową tak, aby korzystała z IPv6 i statycznego adresu IP, przejdź do ścieżki /etc/sysconfig/network-scripts/ i otwórz plik interfejsu karty sieciowej (zwykle pierwsza karta nosi nazwę ifcfg-eno1677776 i jest już skonfigurowana przez Network Managera) i użyj poniższego fragmentu jako wskazówki na wypadek, gdyby Twój
interfejs sieciowy nie ma konfiguracji.

IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=none
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
#DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9
                IPADDR=192.168.1.25
                NETMASK=255.255.255.0
                GATEWAY=192.168.1.1
                DNS1=192.168.1.1
                DNS2=8.8.8.8

Najważniejsze ustawienia, które należy wziąć pod uwagę, to:

  1. BOOTPROTO – Ustaw na brak lub statyczny – dla statycznego adresu IP.
  2. ONBOOT – ustaw na tak – aby wyświetlić interfejs po ponownym uruchomieniu.
  3. DEFROUTE – Instrukcja opatrzona komentarzem # lub całkowicie usunięta – nie używaj trasy domyślnej (Jeśli używasz jej tutaj, powinieneś dodać „DEFROUTE: no” do wszystkich interfejsów sieciowych, nieużywanych jako trasa domyślna).

8. Jeśli Twoja infrastruktura posiada serwer DHCP, który automatycznie przypisuje adresy IP, skorzystaj z poniższego fragmentu dotyczącego konfiguracji interfejsów sieciowych.

IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=dhcp
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
##DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9

Podobnie jak w przypadku konfiguracji ze statycznym adresem IP, upewnij się, że BOOTPROTO jest ustawione na dhcp, instrukcja DEFROUTE jest skomentowana lub usunięta, a urządzenie jest skonfigurowane do uruchamia się automatycznie przy starcie. Jeśli nie używasz IPv6, po prostu usuń lub skomentuj wszystkie linie zawierające IPv6.

9. Aby zastosować nowe konfiguracje interfejsów sieciowych, musisz ponownie uruchomić usługę sieciową. Po ponownym uruchomieniu demona sieciowego użyj ifconfig
lub polecenie ip addr show, aby uzyskać ustawienia interfejsu i spróbować wysłać polecenie ping do nazwy domeny, aby sprawdzić, czy sieć działa.

service network restart	## Use this command before systemctl
chkconfig network on
systemctl restart network
ifconfig
ping domain.tld

10. Jako ostateczne ustawienie upewnij się, że ustawiłeś nazwę systemu nazwa hosta za pomocą narzędzia hostnamectl i sprawdź swoją konfigurację za pomocą nazwa hosta polecenie.

hostnamectl set-hostname FQDN_system_name
hostnamectl status
hostname
hostname -s   	## Short name
hostname -f   	## FQDN name

11. To wszystko! W ramach ostatniego testu uruchom ponownie polecenie netstat, aby sprawdzić, jakie usługi działają w systemie.

netstat -tulpn
netstat -tulp

12. Oprócz serwera SSH, jeśli Twoja sieć korzysta z DHCP do pobierania dynamicznych konfiguracji IP, powinien działać klient DHCP i być aktywny na portach UDP.

netstat -tulpn

13. Alternatywnie do narzędzia netstat możesz wyświetlić dane o działających gniazdach sieciowych za pomocą polecenia Sockets Statistics.

ss -tulpn 

14. Zrestartuj serwer i uruchom polecenie systemd-analize, aby określić czas uruchamiania systemu, a także użyj free i Dysk
Bezpłatne
polecenie do wyświetlenia statystyk pamięci RAM i dysku twardego oraz polecenie górne, aby wyświetlić listę najczęściej używanych zasobów systemowych.

free -h
df -h
top 

Gratulacje! Teraz masz czyste, minimalne środowisko systemowe RHEL/CentOS 7 z mniejszą liczbą zainstalowanych i uruchomionych usług oraz większą ilością zasobów dostępnych na przyszłe konfiguracje.

Przeczytaj także: Zatrzymaj i wyłącz niechciane usługi w systemie Linux