Serveur Debian : Configuration de base


Sommaire
1. Vérification de la date et du nom de la machine
2. Configurer le réseau
3. Mettre à jour le système
4. Installer les outils réseau de bases et le pare-feu
5. Configurer l'accès SSH
6. Installer et configurer Fail2Ban
7. Installer les outils supplémentaires


Ce chapitre couvre la configuration de base d'un serveur Debian, y compris la configuration réseau, la sécurité avec le pare-feu UFW, la configuration de SSH, l'installation de Fail2Ban pour se protéger contre les attaques par force brute, et des outils supplémentaires pour la gestion du serveur.



1. Vérification de la date et du nom de la machine

Avant de commencer toute configuration, il est important de vérifier que la date et l'heure sont correctes, ainsi que le nom de la machine (hostname).

Vérifier la date et l'heure du système :

date


Vérifier le nom de la machine :

hostname -f


Pour modifier le nom de la machine, utilisez la commande suivante :

sudo hostnamectl set-hostname nouveau-nom



2. Configurer le réseau (fichier /etc/network/interfaces)

Sur Debian, le fichier de configuration réseau principal est /etc/network/interfaces.

Éditez le fichier interfaces pour configurer les interfaces réseau :

sudo nano /etc/network/interfaces


Exemple de configuration pour une interface Ethernet en DHCP :

auto eth0
  iface eth0 inet dhcp


Pour configurer une adresse IP statique, remplacez dhcp par une configuration comme ceci :

auto eth0
  iface eth0 inet static
  address 192.168.1.100
  netmask 255.255.255.0
  gateway 192.168.1.1

  dns-search exemple.com
  dns-nameservers 1.1.1.1 8.8.8.8


Redémarrer le service réseau pour appliquer les changements :

sudo systemctl restart networking



3. Mettre à jour le système et vérifier les sources

Avant d'installer des paquets, il est conseillé de mettre à jour le système pour s'assurer que tout est à jour. Si des erreurs apparaissent concernant les sources, il faudra les corriger dans le fichier /etc/apt/sources.list

Mettre à jour les paquets :

sudo apt update && sudo apt upgrade -y


En cas d'erreurs, ouvrez et éditez le fichier /etc/apt/sources.list :

sudo nano /etc/apt/sources.list


Exemple de contenu pour une source Debian stable :

deb http://deb.debian.org/debian/ stable main contrib non-free
deb-src http://deb.debian.org/debian/ stable main contrib non-free


Après avoir modifié les sources, relancez la mise à jour :

sudo apt update



4. Installer net-tools et UFW (pare-feu)

Installer net-tools pour les outils réseau de base :

sudo apt install net-tools


Installer UFW (Uncomplicated Firewall) :

UFW est un pare-feu simple à configurer.

sudo apt install ufw


Configurer les règles de pare-feu UFW :

Par défaut, UFW bloque toutes les connexions entrantes. Nous allons donc autoriser uniquement les connexions SSH (port 22 par défaut, à adapter en fonction du port SSH utilisé) et activer les règles de base.

sudo ufw allow 22/tcp
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw default deny forward
sudo ufw enable


Vérifier l'état du pare-feu UFW :

sudo ufw status verbose



5. Configurer le fichier SSH (/etc/ssh/sshd_config)

Pour renforcer la sécurité du serveur, il est important de configurer correctement le service SSH.


Le fichier principal de configuration de SSH est /etc/ssh/sshd_config.

Pour une configuration avancée, voir ici.


Édition du fichier SSH :

sudo nano /etc/ssh/sshd_config


Voici quelques suggestions de sécurité pour le fichier SSH :

Interdire l'accès root par SSH :

PermitRootLogin no


Changez le port SSH (optionnel mais recommandé) :

Pour réduire les attaques automatisées, il est possible de changer le port par défaut (22) :

Port 2222


Activez l'authentification par mot de passe et désactivez les mots de passe vide :

PasswordAuthentication yes
PermitEmptyPasswords no


Après avoir modifié le fichier, redémarre le service SSH pour appliquer les changements :

sudo systemctl restart sshd



6. Installer et configurer Fail2Ban

Fail2Ban est un service qui surveille les fichiers de log et bloque les IP après un certain nombre de tentatives de connexion échouées. Il permet de protéger le serveur contre les attaques par force brute.

Installer Fail2Ban :

sudo apt install fail2ban


Configurer Fail2Ban :

La configuration par défaut est souvent suffisante, mais il est possible de la personnaliser. Le fichier principal de configuration est /etc/fail2ban/jail.local .

Éditez ce fichier pour personnaliser les options, comme la durée de bannissement, le nombre de tentatives avant le bannissement, etc. :

sudo nano /etc/fail2ban/jail.local


Exemple de configuration de base pour SSH :

[sshd]
enabled = true
port = 22 # Adapter en fonction du port utilisé
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600


Redémarrez Fail2Ban pour appliquer les changements :

sudo systemctl restart fail2ban


Vérifier l'état de Fail2Ban :

sudo fail2ban-client status



7. Installer les outils supplémentaires

Installer des outils de monitoring :

Un outil comme bpytop peut être utile pour surveiller l'utilisation des ressources du serveur.

sudo apt install bpytop


Installer logwatch pour surveiller les logs :

Logwatch est un outil qui analyse les logs du système et envoie des rapports périodiques.

sudo apt install logwatch


Configurer les mises à jour automatiques :

sudo apt install unattended-upgrades