Recherche de site Web

Désactiver et supprimer les services indésirables sur l'installation minimale de RHEL/CentOS 7


L'installation minimale de RHEL/CentOS 7 pour les serveurs est fournie avec certains services préinstallés par défaut, tels que le démon Postfix Mail Transfer Agent, Avahi. Démon mdns (système de noms de domaine multicast) et service Chrony, qui est chargé de maintenir l'horloge système.

Vient maintenant la question… Pourquoi devrions-nous désactiver tous ces services. s'ils sont préinstallés ? L'une des principales raisons serait d'augmenter le niveau de sécurité du système, la deuxième raison est la destination finale du système et la troisième est les ressources du système.

Exigences

  1. Installation minimale de CentOS 7
  2. Installation minimale de RHEL 7

Si vous envisagez d'utiliser votre RHEL/CentOS 7 nouvellement installé pour héberger, disons, un petit site Web qui fonctionne sur Apache ou Nginx, ou pour fournir des services réseau tels que DNS , DHCP, démarrage PXE, serveur FTP, etc. ou d'autres services qui ne nécessitent pas d'exécuter le démon Postifx MTA, Chrony ou Avahi, alors pourquoi devrions-nous garder tous ces démons inutiles installés ou même en cours d'exécution sur votre serveur.

Les principaux services externes dont votre serveur a réellement besoin pour s'exécuter après avoir effectué une installation minimale seraient simplement un démon SSH, afin de permettre les connexions à distance sur le système et, dans certains cas, le service NTP, pour synchronisez avec précision l'horloge interne de votre serveur avec les serveurs NTP externes.

Désactiver/supprimer les services Postfix MTA, Avahi et Chrony

1. Une fois l'installation terminée, connectez-vous à votre serveur avec un compte root ou un utilisateur disposant des privilèges root et effectuez une mise à jour du système, pour vous assurer que votre système est à jour. -date avec tous les packages et correctifs de sécurité.

yum upgrade

2. L'étape suivante consisterait à installer certains utilitaires système utiles à l'aide du gestionnaire de packages YUM, tels que net-tools (ce package fournit l'ancien
mais bonne commande ifconfig), éditeur de texte nano, wget et curl pour les transferts d'URL, lsof (pour lister vos fichiers ouverts) et bash-completion, qui complète automatiquement les commandes saisies.

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

3. Vous pouvez maintenant commencer à désactiver et supprimer les services indésirables préinstallés. Tout d'abord, obtenez une liste de tous vos services activés et en cours d'exécution en exécutant la commande netstat sur les sockets réseau TCP, UDP et Listen State.

netstat -tulpn  	## To output numerical service sockets

netstat -tulp      	## To output literal service sockets

4. Comme vous pouvez le voir, Postfix est démarré et écoute sur localhost sur le port 25, le démon Avahi se lie sur toutes les interfaces réseau et Chronyd se lie à localhost et à toutes les interfaces réseau sur différents ports. Procédez à la suppression du service Postfix MTA en exécutant les commandes suivantes.

systemctl stop postfix
yum remove postfix

5. Supprimez ensuite le service Chronyd, qui sera remplacé par le serveur NTP, en exécutant les commandes suivantes.

systemctl stop chronyd
yum remove chrony

6. Il est maintenant temps de supprimer le démon Avahi. On dirait que dans RHEL/CentOS 7, le démon Avahi est fortement serré et dépend du service Network Manager. La suppression du démon Avahi peut laisser votre système sans aucune connexion réseau.

Alors, prêtez une attention particulière à cette étape. Si vous avez vraiment besoin d'une configuration réseau automatique fournie par Network Manager ou si vous devez modifier vos interfaces
via l'utilitaire de réseau et d'interface nmtui, vous devez alors uniquement arrêter et désactiver le démon Avahi et n'effectuer aucune suppression.

Si vous souhaitez toujours supprimer complètement ce service, vous devez modifier manuellement les fichiers de configuration réseau situés dans /etc/sysconfig/network-scripts/ifcfg-interface_name, puis démarrer et activer le service réseau.

Exécutez les commandes suivantes pour supprimer le démon Avahi mdns. Attention : N'essayez pas de supprimer le démon Avahi si vous vous êtes connecté 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. Cette étape n'est requise que si vous avez supprimé le démon Avahi et que vos connexions réseau sont tombées en panne et que vous devez à nouveau configurer manuellement la carte d'interface réseau.

Pour modifier votre carte réseau afin d'utiliser IPv6 et adresse IP statique, accédez au chemin /etc/sysconfig/network-scripts/, ouvrez le fichier d'interface NIC. (généralement, la première carte est nommée ifcfg-eno1677776 et est déjà configurée par Network Manager) et utilisez l'extrait suivant comme guide au cas où votre
l'interface réseau n'a aucune configuration.

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

Les paramètres les plus importants à prendre en compte ici sont :

  1. BOOTPROTO – Défini sur aucun ou statique – pour une adresse IP statique.
  2. ONBOOT – Définissez sur yes – pour afficher votre interface après le redémarrage.
  3. DEFROUTE – Instruction commentée avec un # ou complètement supprimée – ne pas utiliser la route par défaut (si vous l'utilisez ici, vous devez ajouter « DEFROUTE : non » à toutes les interfaces réseau, non utilisée comme route par défaut).

8. Si votre infrastructure dispose d'un serveur DHCP qui attribue automatiquement des adresses IP, utilisez l'extrait suivant pour la configuration des interfaces réseau.

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

Identique à la configuration avec une adresse IP statique, assurez-vous que BOOTPROTO est défini sur dhcp, que l'instruction DEFROUTE est commentée ou supprimée et que le périphérique est configuré pour démarre automatiquement au démarrage. Si vous n'utilisez pas IPv6, supprimez ou commentez simplement toutes les lignes contenant IPV6.

9. Afin d'appliquer les nouvelles configurations pour vos interfaces réseau, vous devez redémarrer le service réseau. Après avoir redémarré le démon réseau, utilisez ifconfig
ou la commande ip addr show pour obtenir les paramètres de votre interface et essayer d'envoyer une requête ping à un nom de domaine pour voir si le réseau est fonctionnel.

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

10. Comme paramètre final, assurez-vous de définir un nom pour le système nom d'hôte à l'aide de l'utilitaire hostnamectl et vérifiez votre configuration avec nom d'hôte<. commande.

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

11. C'est tout ! Comme test final, exécutez à nouveau la commande netstat pour avoir un aperçu des services exécutés sur votre système.

netstat -tulpn
netstat -tulp

12. Outre le serveur SSH, si votre réseau utilise DHCP pour extraire des configurations IP dynamiques, un client DHCP doit s'exécuter et être actif sur les ports UDP.

netstat -tulpn

13. Comme alternative à l'utilitaire netstat, vous pouvez afficher vos sockets réseau en cours d'exécution à l'aide de la commande Sockets Statistics.

ss -tulpn 

14. Redémarrez votre serveur et exécutez la commande systemd-analize pour déterminer les performances du temps de démarrage de votre système et, également, utilisez free et Disque
Commande gratuite
pour afficher les statistiques de la RAM et du disque dur et commande top pour voir un top des ressources système les plus utilisées.

free -h
df -h
top 

Toutes nos félicitations! Vous disposez désormais d'un environnement système RHEL/CentOS 7 minimal et propre avec moins de services installés et en cours d'exécution et plus de ressources disponibles pour les configurations futures.

Lire aussi : Arrêtez et désactivez les services indésirables de Linux