Les premières configurations d’un serveur Debian

Présentation

Après l’installation de base d’un serveur Debian, les bonnes pratiques d’administration recommandent d’effectuer les configurations suivantes :

Définir un mot de passe solide pour le compte root ;

Créer un compte utilisateur qui n’est pas root mais qui peut obtenir une élévation de privilèges afin de bénéficier des droits root pour les tâches d’administration. Il est alors préférable de prendre l’habitude d’ouvrir une session avec ce compte de gestion et ne pas utiliser le compte root. De cette manière et si par inadvertance vous activer un code malveillant, ce code ne disposera pas des droits root. Par ailleurs vous ne risquerez pas de faire une manœuvre qui serait dommageable pour votre environnement.

Mettre à jour son système d’exploitation Debian ;

Installer le service SSH pour pouvoir accéder à distance de manière sécurisé à votre serveur ,

Définir une configuration IP statique.

Définir un mot de passe solide pour le compte root

Ouvrez une invite de commande avec le compte root ;

utilisez la commande suivante :

root@SRV-WEB:~# passwd

Créer un compte de gestion

Créer un nouveau compte

Créer un compte de gestion que vous pouvez par exemple appeler gestion en indiquant un mot de passe solide :

root@SRV-WEB:~# adduser gestion

Donner les droits d'administration

Le compte créé ne dispose pas de droits d'administration. Pour avoir ponctuellement et en cas de besoin des droits root, il doit pouvoir obtenir une élévation de privilèges avec la commande sudo. Pour cela il faut installer le logiciel sudo et inclure l'utilisateur dans le groupe sudo.

root@SRV-WEB:~# apt install sudo root@SRV-WEB:~# usermod -aG sudo gestion

Mettre à jour Debian

Fermez votre session root avec la commande suivante :

root@SRV-WEB:~# exit

Ouvrez une session avec le compte de gestion

L’invite de commandes a changé et affiche le nom du compte gestion avec à la place du caractère # le caractère $. Cela indique que le compte gestion n’est pas root.

Tapez la commande suivante pour récupérer la liste et les versions des paquetages disponibles dans les dépôts logiciels :

gestion@SRV-WEB~:$ sudo apt update

La commande sudo est nécessaire pour les commandes qui nécessitent les droits root comme les mises à jour de Debian et l’installation de paquetages.

Un message d’avertissement s’affiche avant de vous permettre de saisir le mot de passe du compte gestion :

Tapez ensuite la commande suivante pour mettre à jour votre environnement Debian

gestion@SRV-WEB~:$ sudo apt -y upgrade

Le paramètre -y permet de valider la confirmation d’installation du paquetage.

Installer le service SSH

Tapez la commande suivante pour installer le service SSH :

gestion@SRV-WEB~:$ sudo apt -y install openssh-server

Vous pouvez maintenant accéder à distance d’une manière sécurisé à votre serveur Debian.

Pour pouvoir accéder en SSH à votre VM depuis votre ordinateur, il est nécessaire que le mode d’accès réseau de la VM soit Accès par pont. Si nécessaire, modifiez le mode d’accès réseau de la VM.

Pour cela il fait connaître son adresse IP.

Tapez la commande suivante pour connaitre son adresse IP :

gestion@SRV-WEB~:$ ip addr

L’interface réseau porte le nom de enp0s3 et l’adresse IP doit être obtenue par le service DHCP du réseau.

Dans les versions récentes de Windows, un client SSH est maintenant installé et accessible en invite de commandes.

Lancez une invite de commandes et tapez la commande suivante pour accéder en SSH à votre VM :

C:\Users\Charles Técher>ssh gestion@192.168.1.192 The authenticity of host '192.168.1.192 (192.168.1.192)' can't be established. ECDSA key fingerprint is SHA256:6x//SfPRaLkoc0AuIWQOf8O/iOknI4dhGfQkiYZRCRE. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.192' (ECDSA) to the list of known hosts. gestion@192.168.1.192's password: Linux SRV-WEB 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64Linux SRV-WEB 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Mar 13 21:48:14 2021 gestion@SRV-WEB:~$

Il vous sera demandé :

D’accepter le certificat autosigné de votre VM , certificat généré lors de l’installation du service SSH ;

De fournir le mort de passe du compte gestion

Dans cet exemple, le serveur a comme adresse IP 192.168.1.161 mais cela est certainement différent pour votre propre serveur Debian.

Vous obtenez alors l’invite de commandes de votre VM Debian.

Si vous ne dispose pas du client SSH, utilisez l’utilitaire Putty.

Le service SSH utilise par défaut le port TCP 22 pour permettre la connexion des clients.

Pour visualiser que ce port 22 est bien en écoute sur votre serveur tapez la commande suivante :

gestion@SRV-WEB:~$ ss -nat State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* ESTAB 0 36 192.168.1.192:22 192.168.1.60:25575 LISTEN 0 128 [::]:22 [::]:*

Vous visualisez :

que le port 22 est en écoute (LISTEN) ;

qu’une connexion est établie (ESTAB) sur le port 22 à l’adresse de votre serveur 192.168.1.192 avec le client 192.168.1.60 avec comme port TCP client 25575. Ce numéro de port est généré aléatoirement.

La commande ss (sockets statistics) permet de visualiser les connexions (sockets) et leurs statistiques sur un ordinateur Debian. Pour en savoir plus : https://www.it-connect.fr/les-connexions-sockets-avec-la-commande-ss/

Définir une adresse IP statique

Votre serveur Debian est configuré par défaut pour obtenir automatiquement une configuration par le service DHCP du réseau (VirtualBox en mode d’accès réseau NAT ou par le serveur DHCP du réseau en mode d’accès par pont).

Les serveurs doivent être configurés pour avoir une adresse IP statique afin qu’elle ne change pas. Pour configurer une adresse IP statique, modifiez le fichier /etc/network/interfaces avec la commande suivante :

gestion@SRV-WEB:~$ sudo nano /etc/network/interfaces

Exemple de définition d'un adressage statique avec les informations suivantes pour l’interface enp0s3 :

nom interface réseau : enp0s3

adresse IP : 192.168.1.10

sous-réseau : 192.168.1.0/24 (masque de sous-réseau 255.255.255.0)

passerelle (gateway) : 192.168.1.254

serveur DNS : 192.168.1.254

Nom de domaine : mondomaine.local

CONTENU DU FICHIER /ETC/NETWORK/INTERFACES

# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 allow-hotplug enp0s3 iface enp0s3 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.254

CONTENU DU FICHIER /ETC/RESOLV.CONF

domain mondomaine.local search mondomaine.local nameserver 192.168.1.254

Pour prendre en compte cette nouvelle configuration IP, tapez les commandes suivantes depuis VirtualBox:

gestion@SRV-WEB:~$ sudo ifdown enp0s3

puis la commande

gestion@SRV-WEB:~$ sudo ifup enp0s3

Vous pouvez également relancer le service réseau avec la commande suivante :

gestion@SRV-WEB:~$ sudo systemctl restart networking

Si nécessaire redémarrez votre VM :

gestion@SRV-WEB:~$ sudo shutdown -r now

Pour arrêter votre VM :

gestion@SRV-WEB:~$ sudo shutdown -h now