Série RHCSA : Sécurisation de SSH, définition du nom d’hôte et activation des services réseau - Partie 8
En tant qu’administrateur système, vous devrez souvent vous connecter à des systèmes distants pour effectuer diverses tâches d’administration à l’aide d’un émulateur de terminal. Vous serez rarement assis devant un véritable terminal (physique), vous devez donc mettre en place un moyen de vous connecter à distance aux machines qu’il vous sera demandé de gérer.
En fait, c’est peut-être la dernière chose que vous aurez à faire devant un terminal physique. Pour des raisons de sécurité, l’utilisation de Telnet à cette fin n’est pas une bonne idée, car tout le trafic passe par le fil en texte brut non crypté.
De plus, dans cet article, nous verrons également comment configurer les services réseau pour qu’ils démarrent automatiquement au démarrage et apprendrons à configurer la résolution du réseau et du nom d’hôte de manière statique ou dynamique.
Installation et sécurisation de la communication SSH
Pour que vous puissiez vous connecter à distance à une machine RHEL 7 en utilisant SSH, vous devrez installer les packages openssh, openssh-clients et openssh-servers. La commande suivante installera non seulement le programme de connexion à distance, mais également l’outil de transfert de fichiers sécurisé, ainsi que l’utilitaire de copie de fichiers à distance :
yum update && yum install openssh openssh-clients openssh-servers
Notez que c’est une bonne idée d’installer les équivalents du serveur, car vous voudrez peut-être utiliser la même machine comme client et serveur à un moment ou à un autre.
Après l’installation, il y a quelques éléments de base que vous devez prendre en compte si vous souhaitez sécuriser l’accès à distance à votre serveur SSH. Les paramètres suivants doivent être présents dans le fichier /etc/ssh/sshd_config.
1. Changez le port sur lequel le démon sshd écoutera de 22 (la valeur par défaut) à un port élevé (2000 ou plus), mais assurez-vous d’abord que le port choisi n’est pas utilisé.
Par exemple, supposons que vous choisissiez le port 2500. Utilisez netstat afin de vérifier si le port choisi est utilisé ou non :
netstat -npltu | grep 2500
Si netstat ne renvoie rien, vous pouvez utiliser en toute sécurité le port 2500 pour sshd, et vous devez modifier le paramètre de port dans le fichier de configuration comme suit :
Port 2500
2. N’autorisez que le protocole 2 :
Protocol 2
3. Configurez le délai d’attente de l’authentification à 2 minutes, n’autorisez pas les connexions root et limitez au minimum la liste des utilisateurs autorisés à se connecter via ssh :
LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa
4. Si possible, utilisez l’authentification par clé plutôt que par mot de passe :
PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes
Cela suppose que vous avez déjà créé une paire de clés avec votre nom d’utilisateur sur votre machine cliente et que vous l’avez copiée sur votre serveur, comme expliqué ici.
- Activer la connexion SSH sans mot de passe
Configuration de la mise en réseau et de la résolution de noms
1. Chaque administrateur système doit bien connaître les fichiers de configuration système suivants :
- /etc/hosts est utilisé pour résoudre les noms <---> les adresses IP dans les petits réseaux.
Chaque ligne du fichier /etc/hosts a la structure suivante :
IP address - Hostname - FQDN
Par exemple
192.168.0.10 laptop laptop.gabrielcanepa.com.ar
2. /etc/resolv.conf spécifie les adresses IP des serveurs DNS et le domaine de recherche, qui est utilisé pour compléter un nom de requête donné à un nom de domaine complet lorsqu’aucun suffixe de domaine n’est fourni.
Dans des circonstances normales, vous n’avez pas besoin de modifier ce fichier car il est géré par le système. Cependant, si vous souhaitez changer de serveur DNS, sachez que vous devez vous en tenir à la structure suivante dans chaque ligne :
nameserver - IP address
Par exemple
nameserver 8.8.8.8
3. 3. /etc/host.conf spécifie les méthodes et l’ordre dans lesquels les noms d’hôtes sont résolus au sein d’un réseau. En d’autres termes, indique au résolveur de noms quels services utiliser, et dans quel ordre.
Bien que ce fichier dispose de plusieurs options, la configuration la plus courante et la plus basique comprend une ligne comme suit :
order bind,hosts
Ce qui indique que le résolveur doit d’abord regarder dans les serveurs de noms spécifiés dans resolv.conf, puis dans le fichier /etc/hosts pour la résolution de noms.
4. /etc/sysconfig/network contient des informations de routage et d’hôte global pour toutes les interfaces réseau. Les valeurs suivantes peuvent être utilisées :
NETWORKING=yes|no
HOSTNAME=value
Où la valeur doit être le nom de domaine complet (FQDN).
GATEWAY=XXX.XXX.XXX.XXX
Où XXX.XXX.XXX.XXX est l’adresse IP de la passerelle du réseau.
GATEWAYDEV=value
Dans une machine avec plusieurs cartes réseau, la valeur est le périphérique de passerelle, tel que enp0s3.
5. Fichiers à l’intérieur de /etc/sysconfig/network-scripts (fichiers de configuration des adaptateurs réseau).
À l’intérieur du répertoire mentionné précédemment, vous trouverez plusieurs fichiers en texte brut nommés.
ifcfg-name
Où name est le nom de la carte réseau tel que renvoyé par ip link show :
Par exemple:
À l’exception de l’interface de bouclage, vous pouvez vous attendre à une configuration similaire pour vos cartes réseau. Notez que certaines variables, si elles sont définies, remplaceront celles présentes dans /etc/sysconfig/network pour cette interface particulière. Chaque ligne est commentée pour plus de précision dans cet article, mais dans le fichier réel, vous devez éviter les commentaires :
HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC
TYPE=Ethernet # Type of connection
BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case.
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file.
NAME=enp0s3
UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb
ONBOOT=yes # The operating system should bring up this NIC during boot
Définition des noms d’hôte
Dans Red Hat Enterprise Linux 7, la commande hostnamectl est utilisée pour interroger et définir le nom d’hôte du système.
Pour afficher le nom d’hôte actuel, tapez :
hostnamectl status
Pour modifier le nom d’hôte, utilisez
hostnamectl set-hostname [new hostname]
Par exemple
hostnamectl set-hostname cinderella
Pour que les modifications prennent effet, vous devrez redémarrer le démon hostnamed (de cette façon, vous n’aurez pas à vous déconnecter et à vous reconnecter pour appliquer la modification) :
systemctl restart systemd-hostnamed
De plus, RHEL 7 inclut également l’utilitaire nmcli qui peut être utilisé dans le même but. Pour afficher le nom d’hôte, exécutez :
nmcli general hostname
Et pour le changer :
nmcli general hostname [new hostname]
Par exemple
nmcli general hostname rhel7
Démarrage des services réseau au démarrage
Pour conclure, voyons comment nous pouvons nous assurer que les services réseau sont démarrés automatiquement au démarrage. En termes simples, cela se fait en créant des liens symboliques vers certains fichiers spécifiés dans la section [Installer] des fichiers de configuration du service.
Dans le cas de firewalld (/usr/lib/systemd/system/firewalld.service) :
[Install]
WantedBy=basic.target
Alias=dbus-org.fedoraproject.FirewallD1.service
Pour activer le service :
systemctl enable firewalld
En revanche, la désactivation de firewalld permet de supprimer les liens symboliques :
systemctl disable firewalld
Conclusion
Dans cet article, nous avons résumé comment installer et sécuriser les connexions via SSH à un serveur RHEL, comment changer son nom, et enfin comment s’assurer que les services réseau sont démarrés au démarrage. Si vous remarquez qu’un certain service n’a pas démarré correctement, vous pouvez utiliser systemctl status -l [service] et journalctl -xn pour le dépanner.
N’hésitez pas à nous faire savoir ce que vous pensez de cet article en utilisant le formulaire de commentaire ci-dessous. Les questions sont également les bienvenues. Nous nous réjouissons d’avoir de vos nouvelles !






