Ricerca nel sito web

Disabilita e rimuovi i servizi indesiderati sull'installazione minima di RHEL/CentOS 7


L'installazione minima di RHEL/CentOS 7 per i server viene fornita con alcuni servizi preinstallati predefiniti, come il demone Postfix Mail Transfer Agent, Avahi demone mdns (multicast Domain Name System) e servizio Chrony, responsabile del mantenimento dell'orologio di sistema.

Ora arriva la domanda... Perché dovremmo disabilitare tutti questi servizi. se sono preinstallati? Uno dei motivi principali sarebbe aumentare il livello di sicurezza del sistema, il secondo motivo è la destinazione finale del sistema e il terzo sono le risorse del sistema.

Requisiti

  1. Installazione minima di CentOS 7
  2. RHEL 7 Installazione minima

Se hai intenzione di utilizzare RHEL/CentOS 7 appena installato per ospitare, diciamo, un piccolo sito web che gira su Apache o Nginx o per fornire servizi di rete come DNS , DHCP, avvio PXE, server FTP, ecc. o altri servizi che non richiedono l'esecuzione del demone Postifx MTA, Chrony o Avahi, allora perché dovremmo mantenere tutti questi demoni non necessari installati o addirittura in esecuzione sul tuo server.

I principali servizi esterni che il tuo server richiede veramente per essere eseguiti dopo aver eseguito un'installazione minima sarebbero solo un demone SSH, per consentire accessi remoti al sistema e, in alcuni casi, il servizio NTP, per sincronizza accuratamente l'orologio interno del tuo server con server NTP esterni.

Disabilita/Rimuovi Postfix MTA, Avahi e Chrony Services

1. Al termine dell'installazione, accedi al tuo server con l'account root o un utente con privilegi root ed esegui un aggiornamento del sistema, per assicurarti che il tuo sistema sia aggiornato -aggiornato con tutti i pacchetti e le patch di sicurezza.

yum upgrade

2. Il passo successivo sarebbe installare alcune utili utilità di sistema utilizzando il Gestore pacchetti YUM, come net-tools (questo pacchetto fornisce il vecchio
ma buon comando ifconfig), editor di testo nano, wget e curl per i trasferimenti di URL, lsof (per elencare i file aperti) e bash-completion, che completa automaticamente i comandi digitati.

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

3. Ora puoi iniziare a disattivare e rimuovere i servizi indesiderati preinstallati. Prima di tutto ottieni un elenco di tutti i servizi abilitati e in esecuzione eseguendo il comando netstat sui socket di rete dello stato TCP, UDP e Listen.

netstat -tulpn  	## To output numerical service sockets

netstat -tulp      	## To output literal service sockets

4. Come puoi vedere, Postfix è avviato e ascolta su localhost sulla porta 25, il demone Avahi si collega a tutte le interfacce di rete e Chronyd il servizio si collega all'host locale e a tutte le interfacce di rete su porte diverse. Procedi con la rimozione del servizio Postfix MTA immettendo i seguenti comandi.

systemctl stop postfix
yum remove postfix

5. Successivamente rimuovi il servizio Chronyd, che verrà sostituito dal server NTP, emettendo i seguenti comandi.

systemctl stop chronyd
yum remove chrony

6. Ora è il momento di rimuovere il demone Avahi. Sembra che in RHEL/CentOS 7 il demone Avahi sia fortemente serrato e dipenda dal servizio Network Manager. L'esecuzione della rimozione del demone Avahi può lasciare il sistema senza alcuna connessione di rete.

Quindi, presta particolare attenzione a questo passaggio. Se hai davvero bisogno della configurazione di rete automatica fornita da Network Manager o hai bisogno di modificare le tue interfacce
tramite l'utilità di rete e interfaccia nmtui, dovresti solo arrestare e disabilitare il demone Avahi e non eseguire alcuna rimozione.

Se desideri comunque rimuovere completamente questo servizio, devi modificare manualmente i file di configurazione di rete che si trovano in /etc/sysconfig/network-scripts/ifcfg-interface_name, quindi avviare e abilitare il servizio di rete.

Emetti i seguenti comandi per rimuovere il daemon Avahi mdns. Attenzione: non tentare di rimuovere il demone Avahi se ti sei connesso tramite 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. Questo passaggio è necessario solo se hai rimosso il demone Avahi e le tue connessioni di rete si sono bloccate ed è necessario configurare nuovamente manualmente la scheda di interfaccia di rete.

Per modificare la scheda NIC in modo che utilizzi IPv6 e l'indirizzo IP statico, vai al percorso /etc/sysconfig/network-scripts/ e apri il file dell'interfaccia NIC (solitamente la prima scheda si chiama ifcfg-eno1677776 ed è già configurata da Network Manager) e utilizza il seguente estratto come guida nel caso in cui
l'interfaccia di rete non ha configurazione.

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

Le impostazioni più importanti da prendere in considerazione sono:

  1. BOOTPROTO – Impostato su nessuno o statico – per l'indirizzo IP statico.
  2. ONBOOT – Imposta su sì – per visualizzare l'interfaccia dopo il riavvio.
  3. DEFROUTE – Dichiarazione commentata con un # o completamente rimossa – non utilizzare il percorso predefinito (Se lo usi qui dovresti aggiungere “DEFROUTE: no” a tutte le interfacce di rete, non utilizzato come percorso predefinito).

8. Se la tua infrastruttura dispone di un server DHCP che assegna automaticamente gli indirizzi IP, utilizza il seguente estratto per la configurazione delle interfacce di rete.

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

Come per la configurazione con indirizzo IP statico, assicurarsi che BOOTPROTO sia impostato su dhcp, l'istruzione DEFROUTE sia commentata o rimossa e il dispositivo sia configurato su si avvia automaticamente all'avvio. Se non usi IPv6 rimuovi o commenta semplicemente tutte le righe contenenti IPV6.

9. Per applicare le nuove configurazioni per le tue interfacce di rete devi riavviare il servizio di rete. Dopo aver riavviato il demone di rete, utilizza ifconfig
o il comando ip addr show per ottenere le impostazioni dell'interfaccia e provare a eseguire il ping di un nome di dominio per vedere se la rete funziona.

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

10. Come impostazione finale assicurati di impostare un nome per il nome host del sistema utilizzando l'utilità hostnamectl e rivedi la configurazione con nome host comando.

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

11. Questo è tutto! Come test finale, esegui nuovamente il comando netstat per dare un'occhiata a quali servizi sono in esecuzione sul tuo sistema.

netstat -tulpn
netstat -tulp

12. Oltre al server SSH, se la tua rete utilizza DHCP per ottenere configurazioni IP dinamiche, un client DHCP dovrebbe essere eseguito ed essere attivo sulle porte UDP.

netstat -tulpn

13. In alternativa all'utilità netstat puoi visualizzare i socket di rete in esecuzione con l'aiuto del comando Sockets Statistics.

ss -tulpn 

14. Riavvia il server ed esegui il comando systemd-analize per determinare le prestazioni in termini di tempo di avvio del sistema e, inoltre, utilizza free e Disco
Comando
gratuito per visualizzare le statistiche di RAM e HDD e comando top per vedere una parte superiore delle risorse di sistema più utilizzate.

free -h
df -h
top 

Congratulazioni! Ora disponi di un ambiente di sistema RHEL/CentOS 7 minimale e pulito con meno servizi installati e in esecuzione e più risorse disponibili per configurazioni future.

Leggi anche: Arresta e disabilita i servizi indesiderati da Linux