Outils pour utilisateurs

Outils du site


article:linux:debian_12_-_perfect_server

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
PackageDéscription
dbusUtilisé pour la communication entre application
htopGestionnaire de tâche, plus user friendly que top
nanoÉditeur de texte, plus user friendly que vi
systemd-timesyncdService NTP pour la synchronisation de l'horloge
sshServeur et client SSH pour l'accès à distance
bash-completionPermet de compléter facilement les commandes avec la touche *TAB*
libpam-systemdFournit le module PAM qui enregistre les sessions utilisateur dans la hiérarchie de groupe de contrôle de systemd pour logind
ca-certificatesMagasin de certificat SSL
wgetOutil 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”

Comment générer une clé 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”)

/etc/ssh/sshd_config
  1. ## Réseau
  2.  
  3. # Changement du port d'écoute recommandé
  4. Port 22
  5. # Désactivation du TCP Forwarding (permettant de créer un tunnel sur le serveur)
  6. # ⚠️ Un tunnel est toujours possible au départ d'un shell
  7. AllowTcpForwarding no
  8. # Ne pas autoriser X11 (Interface graphique au départ de SSH)
  9. X11Forwarding no
  10.  
  11. ## Authentication
  12.  
  13. # Refuser le login root
  14. PermitRootLogin no
  15. # Autoriser uniquement les logins nécessaire
  16. AllowUsers gary
  17. # Désactivation du login par mot de passe, par challenge/réponse, par mot de passe vide, par le module PAM
  18. # ⚠️ Nécessite une clé pour s'identifier !
  19. # <!--
  20. PasswordAuthentication no
  21. ChallengeResponseAuthentication no
  22. KbdInteractiveAuthentication no
  23. PermitEmptyPasswords no
  24. UsePAM no
  25. # Activation du login par clé publique uniquement (N'autorisera plus par mot de passe)
  26. PubkeyAuthentication yes
  27. AuthenticationMethods publickey
  28. # -->
  29.  
  30. ## Sécurité
  31.  
  32. # Logging
  33. LogLevel VERBOSE
  34. # Logging SFTP
  35. Subsystem sftp /usr/lib/openssh/sftp-server -f AUTHPRIV -l INFO
  36.  
  37. ## Options
  38.  
  39. # Ne pas afficher le /etc/motd
  40. PrintMotd no
  41.  
  42. ## Default config
  43. 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
  1. # Exemple d'autorisation du SSH
  2. ufw allow 22/tcp
  3. # Si on veut limiter sur une IP(/plage)
  4. ufw allow proto tcp from 192.168.0.0/24 to any port 22
  5. # Activation du firewall
  6. 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
article/linux/debian_12_-_perfect_server.txt · Dernière modification : de Gary

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

GH3.BE WIKI 2025