Ceci est une ancienne révision du document !
Table des matières
Debian 12 - Perfect Server
Installation
L'installation de Debian se fait sur base du stricte minimum, sans aucun package sélectionné lors de l'installation. On installera manuellement uniquement ce qui est nécessaire.
Outils de base
Cette liste d'outil est utile de base pour le serveur et son administration basique
apt install dbus htop nano systemd-timesyncd ssh bash-completion libpam-systemd ca-certificates wget
| Package | Déscription |
|---|---|
| dbus | Utilisé pour la communication entre application |
| htop | Gestionnaire de tâche, plus user friendly que top |
| nano | Éditeur de texte, plus user friendly que vi |
| systemd-timesyncd | Service NTP pour la synchronisation de l'horloge |
| ssh | Serveur et client SSH pour l'accès à distance |
| bash-completion | Permet de compléter facilement les commandes avec la touche *TAB* |
| libpam-systemd | Fournit le module PAM qui enregistre les sessions utilisateur dans la hiérarchie de groupe de contrôle de systemd pour logind |
| ca-certificates | Magasin de certificat SSL |
| wget | Outil pour télécharger des fichiers |
Configuration de base
Package pour machine virtuelle
apt install open-vm-tools
Un redémarrage est nécessaire
*Note*: Il est possible que ce package soit nativement installé
Changer le hostname (Facultatif)
Fichier a éditer :
/etc/hostname /etc/hosts
Un redémarrage est nécessaire
Configuration réseau
1. Adressage de la carte réseau
La configuration réseau se trouve dans
/etc/network/interfaces
. Le nom de l'interface peut changer, dans mon cas elle se nomme “enp0s3”
DHCP
allow-hotplug enp0s3 iface enp0s3 inet dhcp
Static
allow-hotplug enp0s3 iface enp0s3 inet static address 192.168.88.200/24 gateway 192.168.88.1
Note: L'instruction netmask est déprécié, le champ est renseigné dans l'instruction address sous forme ip/netmask
Après le changement : ifdown enp0s3 puis ifup enp0s3
2. Serveur DNS
La configuration DNS se trouve dans /etc/resolv.conf
Note: Si la carte réseau a été en DHCP avant, le fichier contient le dernier serveur DNS qu'il a obtenu via DHCP.
nameserver <dns1> nameserver <dns2> domain <domain.local> search <domain1 domain2 domain3 ...>
Configuration du serveur SSH
Avant d'activer les paramètres d'authentification par clé publique, il est important d'avoir ajouté sa propre clé dans “authorized_keys”
Ce fichier remplace celui d'origine, sous-entendu: Ce qui n'est pas entre commentaire dans le fichier d'origine et qui ne se trouve pas dans la configuration ci-dessous n'est pas activé (typiquement la clause “Include”)
- /etc/ssh/sshd_config
- ## Réseau
- # Changement du port d'écoute recommandé
- Port 22
- # Désactivation du TCP Forwarding (permettant de créer un tunnel sur le serveur)
- # ⚠️ Un tunnel est toujours possible au départ d'un shell
- AllowTcpForwarding no
- # Ne pas autoriser X11 (Interface graphique au départ de SSH)
- X11Forwarding no
- ## Authentication
- # Refuser le login root
- PermitRootLogin no
- # Autoriser uniquement les logins nécessaire
- AllowUsers gary
- # Désactivation du login par mot de passe, par challenge/réponse, par mot de passe vide, par le module PAM
- # ⚠️ Nécessite une clé pour s'identifier !
- # <!--
- PasswordAuthentication no
- ChallengeResponseAuthentication no
- KbdInteractiveAuthentication no
- PermitEmptyPasswords no
- UsePAM no
- # Activation du login par clé publique uniquement (N'autorisera plus par mot de passe)
- PubkeyAuthentication yes
- AuthenticationMethods publickey
- # -->
- ## Sécurité
- # Logging
- LogLevel VERBOSE
- # Logging SFTP
- Subsystem sftp /usr/lib/openssh/sftp-server -f AUTHPRIV -l INFO
- ## Options
- # Ne pas afficher le /etc/motd
- PrintMotd no
- ## Default config
- AcceptEnv LANG LC_*
Configuration supplémentaire
Mise à jour automatique
Afin de garder la distribution à jour de manière automatique
apt install unattended-upgrades apt-listchanges
Pour activer les mises à jour automatique:
dpkg-reconfigure unattended-upgrades
Cette commande créer le fichier /etc/apt/apt.conf.d/20auto-upgrades
La configuration se fait dans /etc/apt/apt.conf.d/50unattended-upgrades, vous pourrez par exemple ajouter votre mail afin d'avoir un rapport :
//Unattended-Upgrade::Mail "";
Firewall
Afin que le serveur ne soit pas inutilement exposé, un firewall basique va permettre de diminuer la surface d'attaque
apt install ufw
# Exemple d'autorisation du SSH ufw allow 22/tcp # Si on veut limiter sur une IP(/plage) ufw allow proto tcp from 192.168.0.0/24 to any port 22 # Activation du firewall ufw enable
Pour contrôller le status du firewall:
ufw status verbose
Changelog
Changement par rapport à l'article précédent (Debian 11 - Perfect Server):
- Amélioration des outils de base sur base de la commande
tasksel - Suppression de la configuration de bash-completion, elle se fait maintenant automatiquement
- Suppression de la partie MOTD
- Ajout d'un firewall
