Recherche de site Web

Configuration initiale du serveur avec CentOS/RHEL 8


Dans cet article, nous allons vous guider à travers les premières étapes de base que vous devez appliquer après l'installation d'un serveur CentOS/RHEL 8 minimal sans environnement graphique afin de récupérer les informations sur le système installé, le matériel sur lequel le serveur s'exécute et configurez d'autres tâches système spécifiques, telles que la mise à jour du système, la mise en réseau, les privilèges root, la configuration de SSH, la gestion des services, etc.

Exigences

  1. Guide d'installation de CentOS 8
  2. Installation minimale de RHEL 8
  3. Activer l'abonnement RHEL dans RHEL 8

Important : Vous devez avoir un service d'abonnement Red Hat activé sur votre serveur RHEL 8 pour effectuer la mise à jour du système et Installation du logiciel.

Étape 1 : Mettre à jour le logiciel système

Tout d'abord, connectez-vous à votre serveur en tant qu'utilisateur root et exécutez les commandes suivantes pour mettre à jour complètement le système avec le dernier noyau, les correctifs de sécurité système, les référentiels de logiciels et les packages.

dnf check-update
dnf update

Une fois le processus de mise à niveau du logiciel terminé, afin de libérer de l'espace disque, vous pouvez supprimer tous les packages logiciels téléchargés avec toutes les informations des référentiels mis en cache en exécutant la commande suivante.

dnf clean all

Étape 2 : Installer les utilitaires système

Les utilitaires système suivants peuvent être très utiles pour les tâches d'administration système quotidiennes : nano, vim editor, wget & curl (utilitaires utilisés pour télécharger des packages sur le réseau principalement) net-tools (utilitaires pour gérer le réseau local) lsof (utile pour recherche de la liste des fichiers ouverts par processus) et bash-completion (complétion automatique en ligne de commande).

dnf install nano vim wget curl net-tools lsof bash-completion

Étape 3 : Configuration du nom d'hôte et du réseau

Dans CentOS/RHEL 8, il existe une large gamme d'outils inclus dans les référentiels utilisés pour configurer et gérer le réseau, depuis la modification manuelle du fichier de configuration réseau jusqu'à l'utilisation de commandes telles que ifconfig, ip, nmcli et nmtui.

L'utilitaire le plus simple qu'un débutant puisse utiliser pour configurer et gérer les configurations réseau telles que la définition du nom d'hôte du réseau et la configuration de l'adresse IP statique consiste à utiliser l'utilitaire de ligne de commande graphique nmtui.

Définir le nom d'hôte dans CentOS 8

Afin de définir ou de modifier le nom d'hôte du système, exécutez la commande nmtui-hostname suivante, qui vous invitera à saisir le nom d'hôte de votre machine et à appuyer sur OK pour terminer, comme illustré dans la capture d'écran ci-dessous.

nmtui-hostname

Définir l'adresse IP statique dans CentOS 8

Pour configurer une interface réseau, exécutez la commande nmtui-edit suivante, qui vous invitera à sélectionner l'interface que vous souhaitez configurer dans le menu, comme indiqué dans la capture d'écran ci-dessous.

nmtui-edit

Une fois que vous avez cliqué sur le bouton Modifier, il vous sera demandé de configurer les paramètres IP de l'interface réseau comme illustré dans la capture d'écran ci-dessous. Lorsque vous avez terminé, accédez à OK en utilisant [tab] une touche pour enregistrer la configuration et quitter.

Une fois que vous avez terminé la configuration du réseau, vous devez exécuter la commande suivante pour appliquer les nouveaux paramètres réseau en sélectionnant l'interface que vous souhaitez gérer et en cliquant sur l'option Désactiver/Activer pour mettre hors service et afficher l'interface. avec les paramètres IP, comme présenté dans la capture d'écran ci-dessous.

nmtui-connect

Afin de vérifier les paramètres de configuration réseau, vous pouvez vérifier le contenu du fichier d'interface ou émettre les commandes ci-dessous.

ifconfig enp0s3
ip a
ping -c2 google.com

Vous pouvez également utiliser d'autres utilitaires réseau utiles tels que ethtool et mii-tool pour vérifier la vitesse de l'interface réseau, l'état de la liaison réseau et obtenir des informations sur les interfaces réseau des machines.

ethtool enp0s3
mii-tool enp0s3

Aspect important de la mise en réseau de votre machine, il est important de lister toutes les sockets réseau ouvertes afin de vérifier quels services écoutent sur quels ports et quel est l'état des connexions réseau établies et de lister tous les fichiers ouverts par les processus.

netstat -tulpn
ss -tulpn
lsof -i4 -6

Étape 4 : Créer un nouveau compte utilisateur

Il est toujours conseillé d'avoir un utilisateur normal avec les autorisations root pour effectuer des tâches administratives en cas de besoin. Afin d'attribuer des privilèges root à un utilisateur normal, créez d'abord un utilisateur avec la commande useradd, définissez le mot de passe et ajoutez un utilisateur au groupe de roue d'administration.

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

Pour vérifier que le nouvel utilisateur dispose des privilèges root, connectez-vous au système avec les informations d'identification de l'utilisateur et exécutez la commande dnf avec les autorisations Sudo, comme indiqué.

su - ravisaive
sudo dnf update

Étape 5 : Configurer la connexion sans mot de passe SSH sur CentOS 8

Afin d'augmenter la sécurité de votre serveur, configurez une authentification SSH sans mot de passe pour votre nouvel utilisateur en générant une paire de clés SSH – qui contiennent une clé publique et une clé privée, mais vous devez en créer un. Cela augmentera la sécurité de votre serveur en exigeant une clé SSH privée pour vous connecter au système.

su - ravisaive
ssh-keygen -t RSA

Une fois la clé générée, il vous demandera de saisir la phrase secrète afin de sécuriser la clé privée. Vous pouvez saisir une phrase secrète forte ou choisir de laisser la phrase secrète vide si vous souhaitez automatiser les tâches administratives via le serveur SSH.

Une fois la clé SSH générée, vous devez copier la paire de clés publiques générées sur un serveur distant en exécutant la commande ssh-copy-id avec le nom d'utilisateur et l'adresse IP du serveur distant, comme indiqué.

ssh-copy-id [email 

Une fois la clé SSH copiée, vous pouvez maintenant essayer de vous connecter à votre serveur Linux distant en utilisant la clé privée comme méthode d'authentification. Vous devriez pouvoir vous connecter automatiquement sans que le serveur SSH ne vous demande de mot de passe.

[email 

Étape 6 : Sécuriser les connexions à distance SSH

Ici, nous allons sécuriser un peu plus notre serveur en désactivant l'accès SSH à distance au compte root dans le fichier de configuration SSH.

vi /etc/ssh/sshd_config

Recherchez la ligne qui dit #PermitRootLogin yes, décommentez la ligne en supprimant le # du début de la ligne et modifiez la ligne en.

PermitRootLogin no

Ensuite, redémarrez le serveur SSH pour appliquer les nouvelles modifications récentes.

systemctl restart sshd

Vérifiez maintenant la configuration en essayant de vous connecter en tant que compte root, vous obtiendrez l'erreur d'accès SSH Permission Denied comme indiqué.

ssh [email 

Il existe des scénarios dans lesquels vous souhaiterez peut-être déconnecter automatiquement toutes les connexions SSH distantes à votre serveur après une certaine période d'inactivité.

Étape 7 : configurer le pare-feu sur CentOS 8

Dans CentOS/RHEL 8, le pare-feu par défaut est Firewalld, qui est utilisé pour gérer les règles iptables sur le serveur. Pour activer et démarrer le service firewalld sur le serveur, exécutez les commandes suivantes.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Pour ouvrir une connexion entrante vers un service spécifique (SSH), vous devez d'abord vérifier que le service est présent dans les règles du firewalld puis ajouter la règle pour le service en ajoutant le commutateur --permanent aux commandes comme indiqué.

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

Si vous souhaitez ouvrir des connexions entrantes vers d'autres services réseau tels que HTTP ou SMTP, ajoutez simplement les règles comme indiqué en spécifiant le nom du service.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

Pour afficher toutes les règles de pare-feu sur le serveur, exécutez la commande suivante.

firewall-cmd --permanent --list-all

Étape 8 : Supprimer les services indésirables dans CentOS 8

Il est fortement recommandé, après avoir installé un nouveau serveur CentOS/RHEL 8, de supprimer et de désactiver les services indésirables exécutés par défaut sur le serveur afin de réduire les attaques sur le serveur.

Pour répertorier tous les services réseau en cours d'exécution, y compris TCP et UDP sur le serveur, exécutez la commande ss ou la commande netstat comme illustré dans l'exemple ci-dessous.

ss -tulpn
OR
netstat -tulpn

Les commandes ci-dessus répertorieront certains services intéressants qui s'exécutent par défaut sur le serveur, tels que le serveur de messagerie Postfix. Si vous ne prévoyez pas d'héberger le système de messagerie sur le serveur, vous devez l'arrêter et le supprimer du système comme indiqué.

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

En plus des commandes ss et netstat, vous pouvez également exécuter les commandes ps, top ou pstree pour découvrir et identifier tous les services indésirables et les supprimer du système.

dnf install psmisc
pstree -p

Étape 9 : Gérer les services dans CentOS 8

Dans CentOS/RHEL 8, tous les services et démons sont gérés via une commande systemctl, et vous pouvez utiliser cette commande pour répertorier tous les services actifs, en cours d'exécution, quittés ou en échec.

systemctl list-units

Pour vérifier si un démon ou un service est automatiquement activé lors du démarrage du système, exécutez la commande suivante.

systemctl list-unit-files -t service

Pour en savoir plus sur la commande systemctl, lisez notre article qui explique : Comment gérer les services à l'aide de « Systemctl » sous Linux.

C'est tout! Dans cet article, nous avons expliqué quelques paramètres et commandes de base que tout administrateur système Linux doit connaître et appliquer sur un système CentOS/RHEL 8 fraîchement installé ou pour effectuer des tâches quotidiennes sur le système. .