Deaktiver og fjern uønskede tjenester på RHEL/CentOS 7 minimal installasjon


RHEL/CentOS 7 minimal installasjon for servere leveres med noen forhåndsinstallerte standardtjenester, for eksempel Postfix Mail Transfer Agent daemon, Avahi mdns daemon (multicast Domain Name System) og Chrony-tjenesten, som er ansvarlig for å vedlikeholde systemklokken.

Nå kommer til spørsmålet.. Hvorfor vi trenger å deaktivere alle disse tjenestene. hvis de er forhåndsinstallert? En av hovedårsakene vil være å øke systemsikkerhetsnivået, den andre grunnen er systemets endelige destinasjon og den tredje er systemressurser.

Krav

  1. CentOS 7 minimal installasjon
  2. RHEL 7 minimal installasjon

Hvis du planlegger å bruke den nylig installerte RHEL/CentOS 7 til å være vert for, la oss si, et lite nettsted som kjører på Apache eller Nginx, eller for å tilby nettverkstjenester som DNS , DHCP, PXE-oppstart, FTP-server, etc eller andre tjenester som ikke krever å kjøre Postifx MTA-demon, Chrony eller Avahi-demon, så hvorfor bør vi holde alle disse unødvendige demonene installert eller til og med kjøre på serveren din.

De viktigste eksterne tjenestene som serveren din virkelig krever for å kjøre etter at du har utført en minimal installasjon vil bare være en SSH-demon, for å tillate ekstern pålogging på systemet, og, i noen tilfeller, NTP-tjeneste, for å synkroniser serverens interne klokke nøyaktig med eksterne NTP-servere.

Deaktiver/fjern Postfix MTA, Avahi og Chrony Services

1. Etter at installasjonen er fullført, logger du på serveren din med root-konto eller en bruker med root-privilegier og utfører en systemoppdatering for å sikre at systemet ditt er oppdatert -dato med alle pakker og sikkerhetsoppdateringer.

yum upgrade

2. Det neste trinnet vil være å installere noen nyttige systemverktøy ved å bruke YUM Package Manager, for eksempel net-tools (denne pakken gir den eldre
men god ifconfig kommando), nano tekstredigerer, wget og curl for URL-overføringer, lsof (for å vise de åpne filene dine) og bash-completion, som automatisk fullfører innskrevne kommandoer.

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

3. Nå kan du begynne å deaktivere og fjerne forhåndsinstallerte uønskede tjenester. Først av alt, få en liste over alle dine aktiverte og kjørende tjenester ved å kjøre netstat-kommandoen mot TCP, UDP og Listen state-nettverkskontakter.

netstat -tulpn  	## To output numerical service sockets

netstat -tulp      	## To output literal service sockets

4. Som du kan se er Postfix startet og lytter på localhost på port 25, Avahi daemon binder på alle nettverksgrensesnitt og Chronyd -tjenesten binder seg til localhost og alle nettverksgrensesnitt på forskjellige porter. Fortsett med fjerning av Postfix MTA-tjenesten ved å utstede følgende kommandoer.

systemctl stop postfix
yum remove postfix

5. Fjern deretter Chronyd-tjenesten, som vil bli erstattet av NTP-serveren, ved å utstede følgende kommandoer.

systemctl stop chronyd
yum remove chrony

6. Nå er det på tide å fjerne Avahi-demonen. Ser ut som om Avahi-demonen i RHEL/CentOS 7 er veldig stram og avhenger av Network Manager-tjenesten. Hvis du utfører fjerning av Avahi-demoner, kan systemet ditt være uten nettverkstilkoblinger.

Så vær ekstra oppmerksom på dette trinnet. Hvis du virkelig trenger automatisk nettverkskonfigurasjon levert av Network Manager eller du trenger å redigere grensesnittene dine
gjennom nmtui nettverks- og grensesnittverktøy, bør du bare stoppe og deaktivere Avahi-demonen og ikke utføre noen fjerning i det hele tatt.

Hvis du fortsatt vil fjerne denne tjenesten fullstendig, må du manuelt redigere nettverkskonfigurasjonsfilene i /etc/sysconfig/network-scripts/ifcfg-interface_name, og deretter starte og aktivere nettverkstjenesten.

Utfør følgende kommandoer for å fjerne Avahi mdns daemon. Forsiktig: Ikke prøv å fjerne Avahi-demonen hvis du koblet til via 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. Dette trinnet er bare nødvendig hvis du fjernet Avahi-demonen og nettverkstilkoblingene dine krasjet og du må konfigurere nettverksgrensesnittkortet manuelt igjen.

For å redigere NIC for å bruke IPv6 og statisk IP-adresse, gå til /etc/sysconfig/network-scripts/ bane, åpne NIC-grensesnittfilen (vanligvis heter det første kortet ifcfg-eno1677776 og er allerede konfigurert av Network Manager) og bruk følgende utdrag som en veiledning i tilfelle
nettverksgrensesnittet har ingen konfigurasjon.

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

De viktigste innstillingene her du bør ta i betraktning er:

  1. BOOTPROTO – Sett til ingen eller statisk – for statisk IP-adresse.
  2. ONBOOT – Sett til yes – for å få opp grensesnittet ditt etter omstart.
  3. DEFROUTE – Uttalelse kommentert med # eller fullstendig fjernet – ikke bruk standardrute (Hvis du bruker den her bør du legge til “DEFROUTE: no” til alle nettverksgrensesnitt, ikke brukt som standardrute).

8. Hvis infrastrukturen din har en DHCP-server som automatisk tildeler IP-adresser, bruk følgende utdrag for Konfigurasjon av nettverksgrensesnitt.

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

Samme som konfigurasjonen med statisk IP-adresse, sørg for at BOOTPROTO er satt til dhcp, DEFROUTE-setningen kommenteres eller fjernes og enheten er konfigurert til å starter automatisk ved oppstart. Hvis du ikke bruker IPv6, er det bare å fjerne eller kommentere alle linjene som inneholder IPV6.

9. For å bruke de nye konfigurasjonene for nettverksgrensesnittene må du starte nettverkstjenesten på nytt. Etter at du har startet nettverksdemonen på nytt, bruk ifconfig
eller kommandoen ip addr show for å få grensesnittinnstillingene og prøve å pinge et domenenavn for å se om nettverket fungerer.

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

10. Som en siste innstilling, sørg for at du setter opp et navn for systemets vertsnavn ved å bruke hostnamectl-verktøyet og gå gjennom konfigurasjonen med vertsnavn kommando.

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

11. Det er alt! Som en siste testkjør kommandoen netstat igjen for å se hvilke tjenester som kjører på systemet ditt.

netstat -tulpn
netstat -tulp

12. Foruten SSH-serveren, hvis nettverket ditt bruker DHCP til å trekke dynamiske IP-konfigurasjoner, bør en DHCP-klient kjøre og være aktiv på UDP-porter.

netstat -tulpn

13. Som et alternativ til netstat-verktøyet kan du sende ut de aktive nettverkskontaktene dine ved hjelp av kommandoen Sockets Statistics.

ss -tulpn 

14. Start serveren på nytt og kjør kommandoen systemd-analize for å bestemme ytelsen til systemets oppstartstid, og bruk også gratis og Disk
Gratis
-kommando for å vise RAM- og HDD-statistikk og topp-kommando for å se toppen av de mest brukte systemressursene.

free -h
df -h
top 

Gratulerer! Nå har du et rent minimalt RHEL/CentOS 7-systemmiljø med færre tjenester installert og kjører og flere ressurser tilgjengelig for fremtidige konfigurasjoner.

Les også: Stopp og deaktiver uønskede tjenester fra Linux