Vyhledávání na webu

Zakažte a odstraňte nežádoucí služby na minimální instalaci RHEL/CentOS 7


Minimální instalace RHEL/CentOS 7 pro servery je dodávána s některými výchozími předinstalovanými službami, jako je démon Postfix Mail Transfer Agent, Avahi démon mdns (multicast Domain Name System) a služba Chrony, která je zodpovědná za udržování systémových hodin.

Nyní přichází otázka.. Proč je potřeba všechny tyto služby zakázat. pokud jsou předinstalované? Jedním z hlavních důvodů by bylo zvýšení úrovně zabezpečení systému, druhým důvodem je cíl systému a třetím systémové zdroje.

Požadavky

  1. Minimální instalace CentOS 7
  2. RHEL 7 Minimální instalace

Pokud plánujete používat nově nainstalovaný RHEL/CentOS 7 k hostování, řekněme, malého webu, který běží na Apache nebo Nginx, nebo k poskytování síťových služeb, jako je DNS , DHCP, PXE boot, FTP server atd. nebo jiné služby, které nevyžadují spuštění Postifx MTA démona, Chrony nebo Avahi démona, tak proč bychom měli mít všechny tyto nepotřebné démony nainstalované nebo dokonce spuštěné na vašem serveru.

Hlavní externí služby, které váš server skutečně vyžaduje ke spuštění poté, co provedete minimální instalaci, by byl pouze démon SSH, který umožňuje vzdálené přihlášení do systému a v některých případech službu NTP. přesně synchronizujte interní hodiny serveru s externími servery NTP.

Zakázat/odebrat služby Postfix MTA, Avahi a Chrony

1. Po dokončení instalace se přihlaste na svůj server pomocí účtu root nebo uživatele s oprávněními root a proveďte aktualizaci systému, abyste se ujistili, že je váš systém v pořádku -datum se všemi balíčky a bezpečnostními záplatami.

yum upgrade

2. Dalším krokem by bylo nainstalovat některé užitečné systémové nástroje pomocí Správce balíčků YUM, jako jsou net-tools (tento balíček poskytuje starší
ale dobrý příkaz ifconfig), textový editor nano, wget a curl pro přenos adres URL, lsof (pro seznam otevřených souborů) a bash-completion, který automaticky dokončuje zadané příkazy.

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

3. Nyní můžete začít deaktivovat a odstraňovat předinstalované nežádoucí služby. Nejprve získejte seznam všech svých povolených a spuštěných služeb spuštěním příkazu netstat proti TCP, UDP a síťovým soketům Listen state.

netstat -tulpn  	## To output numerical service sockets

netstat -tulp      	## To output literal service sockets

4. Jak můžete vidět Postfix je spuštěn a naslouchá na localhost na portu 25, démon Avahi se váže na všechna síťová rozhraní a Chronyd služba se váže na localhost a všechna síťová rozhraní na různých portech. Pokračujte v odstranění služby Postfix MTA vydáním následujících příkazů.

systemctl stop postfix
yum remove postfix

5. Poté odeberte službu Chronyd, která bude nahrazena serverem NTP, zadáním následujících příkazů.

systemctl stop chronyd
yum remove chrony

6. Nyní je čas odstranit démona Avahi. Vypadá to, že v RHEL/CentOS 7 je démon Avahi silně těsný a závisí na službě Network Manager. Provedením odstranění démona Avahi může zůstat váš systém bez síťových připojení.

Věnujte tedy tomuto kroku zvýšenou pozornost. Pokud opravdu potřebujete automatickou konfiguraci sítě poskytovanou Network Managerem nebo potřebujete upravit svá rozhraní
přes síť a nástroj rozhraní nmtui, pak byste měli pouze zastavit a deaktivovat démona Avahi a neprovádět vůbec žádné odstranění.

Pokud přesto chcete tuto službu zcela odstranit, musíte ručně upravit konfigurační soubory sítě umístěné v /etc/sysconfig/network-scripts/ifcfg-interface_name a poté spustit a povolit síťovou službu.

Chcete-li odebrat Démon Avahi mdns, zadejte následující příkazy. Upozornění: Nepokoušejte se odstraňovat démona Avahi, pokud jste se připojili přes 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. Tento krok je vyžadován pouze v případě, že jste odebrali démona Avahi a vaše síťová připojení selhala a potřebujete znovu ručně nakonfigurovat kartu síťového rozhraní.

Chcete-li upravit NIC tak, aby používala IPv6 a statickou IP adresu, přejděte na cestu /etc/sysconfig/network-scripts/, otevřete soubor rozhraní NIC (obvykle se první karta jmenuje ifcfg-eno1677776 a je již nakonfigurována Správcem sítě) a použijte následující úryvek jako vodítko pro případ, že
síťové rozhraní nemá žádnou konfiguraci.

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

Nejdůležitější nastavení, která byste zde měli vzít v úvahu, jsou:

  1. BOOTPROTO – Nastavte na žádné nebo statické – pro statickou IP adresu.
  2. ONBOOT – Nastavte na yes – pro zobrazení rozhraní po restartu.
  3. DEFROUTE – Příkaz s komentářem # nebo zcela odstraněn – nepoužít výchozí trasu (Pokud ji zde použijete, měli byste ke všem síťovým rozhraním přidat „DEFROUTE: no“, nikoli jako výchozí trasu).

8. Pokud má vaše infrastruktura server DHCP, který automaticky přiděluje adresy IP, použijte pro konfiguraci síťových rozhraní následující výňatek.

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

Stejně jako u konfigurace se statickou IP adresou se ujistěte, že BOOTPROTO je nastaveno na dhcp, příkaz DEFROUTE je okomentován nebo odstraněn a zařízení je nakonfigurováno na automaticky se spustí při startu. Pokud IPv6 nepoužíváte, odeberte nebo okomentujte všechny řádky obsahující IPV6.

9. Abyste mohli použít nové konfigurace pro vaše síťová rozhraní, musíte restartovat síťovou službu. Po restartu síťového démona použijte ifconfig
nebo příkaz ip addr show pro získání nastavení rozhraní a pokuste se pomocí příkazu ping zadat název domény, abyste zjistili, zda je síť funkční.

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

10. Jako konečné nastavení se ujistěte, že jste nastavili název systému hostname pomocí nástroje hostnamectl a zkontrolujte konfiguraci pomocí hostname příkaz.

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

11. To je vše! Jako poslední test spusťte znovu příkaz netstat, abyste se podívali, jaké služby běží na vašem systému.

netstat -tulpn
netstat -tulp

12. Pokud vaše síť používá k získávání dynamických konfigurací IP kromě serveru SSH DHCP, měl by na portech UDP běžet a být aktivní klient DHCP.

netstat -tulpn

13. Alternativně k nástroji netstat můžete spustit výstup svých spuštěných síťových soketů pomocí příkazu Statistika soketů.

ss -tulpn 

14. Restartujte server a spusťte příkaz systemd-analize k určení výkonu doby spouštění systému a také použijte free a Disk
Příkaz Free
pro zobrazení statistik RAM a HDD a příkaz top pro zobrazení horní části nejpoužívanějších systémových prostředků.

free -h
df -h
top 

Gratulujeme! Nyní máte čisté minimální systémové prostředí RHEL/CentOS 7 s menším počtem nainstalovaných a spuštěných služeb a více prostředků dostupnými pro budoucí konfigurace.

Přečtěte si také: Zastavte a zakažte nežádoucí služby z Linuxu