Recherche de site Web

Installation et configurations initiales du serveur sur CentOS 7


Ce didacticiel expliquera les premières étapes de base que vous devez suivre après l'installation d'un système CentOS 7 minimal sans environnement graphique afin d'obtenir des informations sur le système installé, le matériel sur lequel le système est exécuté. et configurez d'autres tâches système spécifiques, telles que la mise en réseau, les privilèges root, les logiciels, les services et autres.

Exigences

  1. Installation minimale de CentOS 7

Important : les utilisateurs de RHEL 7 peuvent suivre cet article pour effectuer une configuration initiale du serveur sur RHEL 7.

Mettre à jour le système CentOS 7

La première étape que vous devez effectuer sur un système CentOS fraîchement installé est de vous assurer que le système est à jour avec les derniers correctifs de sécurité du noyau et du système, les référentiels de logiciels et les packages.

Pour mettre à jour complètement un système CentOS 7, exécutez les commandes suivantes avec les privilèges root.


yum check-update
yum upgrade

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


yum clean all

Installer les utilitaires système sur CentOS 7

Les packages d'utilitaires suivants peuvent s'avérer utiles pour l'administration système quotidienne : nano (éditeur de texte pour remplacer l'éditeur vi), wget, curl (utilitaires utilisés pour télécharger packages sur le réseau principalement) net-tools, lsof (utilitaires de gestion des réseaux locaux) et bash-completion (complétion automatique en ligne de commande).

Installez-les tous en une seule fois en exécutant la commande ci-dessous.


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

Configurer la mise en réseau dans CentOS 7

CentOS 7 dispose d'une large gamme d'outils qui peuvent être 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 ip, ifconfig, nmtui, nmcli ou route.

L'utilitaire le plus simple qu'un débutant puisse utiliser pour gérer et modifier les configurations réseau est la ligne de commande graphique nmtui.

Afin de modifier le nom d'hôte du système via l'utilitaire nmtui, exécutez la commande nmtui-hostname, définissez le nom d'hôte de votre machine et appuyez sur OK pour terminer, comme illustré. dans la capture d'écran ci-dessous.


nmtui-hostname

Pour manipuler une interface réseau, exécutez la commande nmtui-edit, choisissez l'interface que vous souhaitez modifier et sélectionnez modifier dans le menu de droite, comme indiqué dans la capture d'écran ci-dessous.


nmtui-edit

Une fois que vous êtes dans l'interface graphique fournie par l'utilitaire nmtui, vous pouvez 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 à l'aide de la touche [tab] pour enregistrer la configuration et quitter.

Afin d'appliquer la nouvelle configuration de l'interface réseau, exécutez la commande nmtui-connect, sélectionnez l'interface que vous souhaitez gérer et cliquez sur l'option Désactiver/Activer pour la mettre hors service et la réactiver. l'interface avec les paramètres IP, comme présenté dans les captures d'écran ci-dessous.


nmtui-connect

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


ifconfig enp0s3
ip a
ping -c2 google.com

D'autres utilitaires utiles qui peuvent être utilisés pour gérer la vitesse, l'état des liens ou obtenir des informations sur les interfaces réseau des machines sont ethtool et mii-tool.


ethtool enp0s3
mii-tool enp0s3

Un aspect important de la mise en réseau de votre machine est de répertorier toutes les sockets réseau ouvertes afin de voir quels programmes écoutent sur quels ports et quel est l'état des connexions réseau établies.

Pour lister tous les serveurs qui ont ouvert des sockets TCP ou UDP en état d'écoute, exécutez les commandes suivantes. Cependant, le serveur UDP ne répertorie aucun état de socket car UDP est un protocole sans connexion qui envoie uniquement des paquets sur le réseau et n'établit pas de connexions.


netstat -tulpn
ss -tulpn
lsof -i4 -6

Gérer les services dans CentOS 7

CentOS 7 gère les démons ou les services via l'utilitaire systemctl. Afin de répertorier tous les états des services, exécutez la commande suivante.


systemctl list-units

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


systemctl list-unit-files -t service

Pour répertorier les anciens services SysV présents dans votre système et les désactiver, exécutez les commandes chkconfig suivantes.


chkconfig --list
chkconfig service_name off

5. Désactivez les services indésirables dans CentOS 7

Il est recommandé, après l'installation de CentOS 7, de répertorier les services exécutés sur le système en exécutant les commandes ci-dessus, puis de les désactiver et de les supprimer afin de réduire les vecteurs d'attaque contre votre système.

Par exemple, le démon Postfix est installé et activé par défaut dans CentOS 7. Si votre système ne nécessite pas l'exécution d'un serveur de messagerie, il est préférable d'arrêter, de désactiver et de supprimer le service Postfix en exécutant les commandes ci-dessous. .


systemctl stop postfix
systemctl disable postfix
yum remove postfix

En plus des commandes netstat, ss, lsof ou systemctl, vous pouvez également exécuter les commandes ps, top ou pstree afin de découvrir et d'identifier les services indésirables qui s'exécutent sur votre système. et désactivez-les ou supprimez-les.

Par défaut, l'utilitaire pstree n'est pas installé dans CentOS 7. Pour l'installer, exécutez la commande suivante.


yum install psmisc
pstree -p

Activer le pare-feu dans CentOs 7

Firewalld est le principal utilitaire de pare-feu avec lequel il interagit pour gérer les règles iptables.
Pour activer, démarrer et vérifier le pare-feu dans CentOS 7, exécutez les commandes suivantes.


systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Afin d'ouvrir un service spécifique aux connexions entrantes, vérifiez d'abord si l'application est déjà présente dans les règles du firewalld puis ajoutez la règle du service, comme le montre l'exemple ci-dessous qui permet SSH. Utilisez le commutateur --permanent pour ajouter la règle de manière permanente.


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

Si le service est désormais déjà défini dans les règles pare-feu, vous pouvez ajouter manuellement le port de service, comme indiqué dans l'exemple ci-dessous.


firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload     #Apply the rule on-fly

Activer les autorisations Sudo sur les comptes d'utilisateurs

Afin d'accorder les autorisations root à un utilisateur normal, créez d'abord l'utilisateur en exécutant la commande adduser, définissez le mot de passe de l'utilisateur et accordez les autorisations root à l'utilisateur en exécutant la commande ci-dessous qui ajoute le nouvel utilisateur au groupe de roues administratif.


adduser tecmint
passwd tecmint
usermod -aG wheel tecmint

Pour tester si 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 yum avec les autorisations sudo, comme indiqué dans l'extrait ci-dessous.


su - tecmint
sudo yum update

Configurer l'authentification par clé publique SSH sur CentOS 7

Afin de sécuriser SSH votre serveur et de configurer l'authentification par clé publique pour augmenter la sécurité de votre serveur avec une clé SSH privée pour vous connecter, générez d'abord une paire de clés SSH avec une commande suivante.

Ne saisissez pas de phrase secrète si vous souhaitez automatiser la gestion du serveur via SSH.


ssh-keygen -t RSA

Une fois les paires de clés SSH générées, copiez la clé sur le serveur auquel vous souhaitez vous connecter en exécutant la commande ci-dessous. Dans un premier temps, saisissez le mot de passe de votre utilisateur SSH distant afin de copier la clé publique.


ssh-copy-id remote_user@SSH_SERVER_IP

Une fois la clé publique SSH copiée sur le serveur distant, connectez-vous au serveur SSH distant avec la commande suivante.


ssh remote_user@SSH_SERVER_IP

Enfin, afin de sécuriser le serveur SSH, assurez-vous d'interdire l'accès SSH distant au compte root en ouvrant le fichier de configuration SSH /etc/ssh/sshd_config avec votre éditeur de texte en tant que root et en le modifiant de Oui à Non.


PermitRootLogin no

Pour appliquer le paramètre, vous devez redémarrer le service SSH afin qu'il utilise la nouvelle configuration.


systemctl restart sshd

C'est tout! Ce ne sont là que quelques paramètres et commandes de base que tout administrateur système doit connaître et appliquer sur un système CentOS récemment installé ou pour effectuer des tâches quotidiennes sur le système.

Pour sécuriser et renforcer le serveur CentOS 7, consultez ces articles suivants.

  1. Le méga guide pour renforcer et sécuriser CentOS 7 – Partie 1
  2. Le méga guide pour renforcer et sécuriser CentOS 7 – Partie 2

Si vous envisagez de déployer des sites Web sur ce système CentOS 7, découvrez comment installer et configurer la pile LAMP ou la pile LEMP.