====== 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