====== Debian 12 - Perfect Server ======
Debian 12 n'est plus la dernière version disponible. Cependant l'article est probablement compatible en grande partie avec une version proche de celle de l'article.
Pour consulter la nouvelle version, Voir: [[Debian 13 - 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
nameserver
domain
search
==== 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"
[[article:linux:comment_generer_une_cle_ssh|]]
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")
## 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 !
#
## 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 ([[article:linux: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