Onemogućite i uklonite neželjene usluge na RHEL/CentOS 7 minimalnoj instalaciji


RHEL/CentOS 7 minimalna instalacija za servere dolazi s nekim zadanim unaprijed instaliranim uslugama, kao što je Postfix Mail Transfer Agent daemon, Avahi mdns daemon (multicast Domain Name System) i Chrony servis, koji je odgovoran za održavanje sistemskog sata.

Sada dolazimo do pitanja.. Zašto bismo trebali onemogućiti sve ove usluge. ako su unapred instalirani? Jedan od glavnih razloga bi bio povećanje stepena sigurnosti sistema, drugi razlog je konačno odredište sistema, a treći su sistemski resursi.

Zahtjevi

  1. Minimalna instalacija CentOS 7
  2. RHEL 7 Minimalna instalacija

Ako planirate koristiti svoj novoinstalirani RHEL/CentOS 7 za hostovanje, recimo, male web stranice koja radi na Apache ili Nginx, ili za pružanje mrežnih usluga kao što je DNS , DHCP, PXE boot, FTP server, itd. ili druge usluge koje ne zahtijevaju pokretanje Postifx MTA demona, Chrony ili Avahi demona, zašto bismo onda trebali držati sve ove nepotrebne demone instalirane ili čak pokrenute na vašem serveru.

Glavne eksterne usluge koje vaš server zaista zahtijeva za pokretanje nakon što izvršite minimalnu instalaciju bile bi samo SSH demon, kako bi se omogućilo udaljeno prijavljivanje na sistem, i, u nekim slučajevima, NTP servis da precizno sinhronizujte interni sat vašeg servera sa eksternim NTP serverima.

Onemogućite/uklonite Postfix MTA, Avahi i Chrony usluge

1. Nakon završetka instalacije, prijavite se na vaš server sa root nalogom ili korisnikom sa root privilegijama i izvršite ažuriranje sistema, kako biste bili sigurni da je vaš sistem ažuriran -datum sa svim paketima i sigurnosnim zakrpama.

yum upgrade

2. Sljedeći korak bi bio da instalirate neke korisne sistemske uslužne programe koristeći YUM Package Manager, kao što je net-tools (ovaj paket pruža starije
ali dobra naredba ifconfig), nano uređivač teksta, wget i curl za URL prijenose, lsof (za popis otvorenih datoteka) i bash-completion, koji automatski dovršava upisane komande.

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

3. Sada možete početi s onemogućavanjem i uklanjanjem unaprijed instaliranih neželjenih usluga. Prije svega nabavite listu svih vaših omogućenih i pokrenutih usluga tako što ćete pokrenuti naredbu netstat na TCP, UDP i mrežnim utičnicama Listen state.

netstat -tulpn  	## To output numerical service sockets

netstat -tulp      	## To output literal service sockets

4. Kao što možete vidjeti Postfix je pokrenut i sluša na lokalnom hostu na portu 25, Avahi demon se veže na svim mrežnim interfejsima i Chronyd usluga se veže za localhost i sva mrežna sučelja na različitim portovima. Nastavite sa uklanjanjem Postfix MTA usluge izdavanjem sljedećih naredbi.

systemctl stop postfix
yum remove postfix

5. Zatim uklonite Chronyd servis, koji će biti zamijenjen NTP serverom, izdavanjem sljedećih naredbi.

systemctl stop chronyd
yum remove chrony

6. Sada je vrijeme da uklonite Avahi demon. Izgleda da je u RHEL/CentOS 7 Avahi demon jako čvrst i ovisi o usluzi Network Manager. Izvođenje uklanjanja Avahi demona može ostaviti vaš sistem bez mrežnih veza.

Stoga, obratite posebnu pažnju na ovaj korak. Ako vam je zaista potrebna automatska mrežna konfiguracija koju pruža Network Manager ili trebate urediti svoja sučelja
preko nmtui uslužnog programa mreže i interfejsa, tada biste trebali samo zaustaviti i onemogućiti Avahi demon i ne vršiti nikakvo uklanjanje.

Ako i dalje želite potpuno ukloniti ovu uslugu, onda morate ručno urediti mrežne konfiguracijske datoteke koje se nalaze u /etc/sysconfig/network-scripts/ifcfg-interface_name, zatim pokrenuti i omogućiti mrežni servis.

Izdajte sljedeće naredbe da uklonite Avahi mdns daemon. Oprez: Ne pokušavajte ukloniti Avahi demon ako ste se povezali preko SSH-a.

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. Ovaj korak je potreban samo ako ste uklonili Avahi demon i vaše mrežne veze su se srušile i morate ponovo ručno konfigurirati karticu mrežnog sučelja.

Da uredite svoju NIC da koristi IPv6 i statičku IP adresu, idite na /etc/sysconfig/network-scripts/ putanju, otvorite datoteku NIC interfejsa (obično se prva kartica zove ifcfg-eno1677776 i već ju je konfigurirao Network Manager) i koristite sljedeći izvod kao vodič u slučaju da se
mrežni interfejs nema konfiguraciju.

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

Najvažnije postavke koje ovdje trebate uzeti u obzir su:

  1. BOOTPROTO – Postavite na ništa ili statično – za statičku IP adresu.
  2. ONBOOT – Postavite na da – da biste prikazali svoj interfejs nakon ponovnog pokretanja.
  3. DEFROUTE – Izjava komentirana sa # ili potpuno uklonjena – nemojte koristiti zadanu rutu (ako je koristite ovdje, trebali biste dodati “DEFROUTE: ne” svim mrežnim sučeljima, koji se ne koriste kao zadana ruta).

8. Ako vaša infrastruktura ima DHCP server koji automatski dodjeljuje IP adrese, koristite sljedeći izvod za konfiguraciju mrežnih sučelja.

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

Isto kao i konfiguracija sa statičkom IP adresom, uvjerite se da je BOOTPROTO postavljen na dhcp, izjava DEFROUTE je komentirana ili uklonjena i da je uređaj konfiguriran da automatski startovati pri pokretanju. Ako ne koristite IPv6, samo uklonite ili komentirajte sve redove koji sadrže IPV6.

9. Da biste primijenili nove konfiguracije za vaša mrežna sučelja, morate ponovo pokrenuti mrežnu uslugu. Nakon što ponovo pokrenete mrežni demon koristite ifconfig
ili naredbu ip addr show da dobijete postavke vašeg interfejsa i pokušate pingovati ime domene da vidite da li mreža radi.

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

10. Kao konačnu postavku, pobrinite se da postavite ime za sistem hostname koristeći hostnamectl uslužni program i pregledajte svoju konfiguraciju sa hostname komanda.

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

11. To je sve! Kao konačni test, ponovo pokrenite naredbu netstat da biste vidjeli koje usluge rade na vašem sistemu.

netstat -tulpn
netstat -tulp

12. Osim SSH servera, ako vaša mreža koristi DHCP za povlačenje dinamičkih IP konfiguracija, DHCP klijent bi trebao pokrenuti i biti aktivan na UDP portovima.

netstat -tulpn

13. Kao alternativu netstat uslužnom programu možete ispisati vaše pokrenute mrežne utičnice uz pomoć naredbe Statistika soketa.

ss -tulpn 

14. Ponovo pokrenite server i pokrenite naredbu systemd-analize da odredite performanse vremena pokretanja vašeg sistema i, također, koristite besplatno i Disk
Besplatna
komanda za prikaz statistike RAM-a i HDD-a i top komanda da vidite vrh najčešće korištenih sistemskih resursa.

free -h
df -h
top 

Čestitamo! Sada imate čisto minimalno RHEL/CentOS 7 sistemsko okruženje sa manje instaliranih i pokrenutih usluga i više resursa dostupnih za buduće konfiguracije.

Pročitajte također: Zaustavite i onemogućite neželjene usluge iz Linuxa