Outils pour utilisateurs

Outils du site


article:linux:debian_13_-_perfect_server

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 de base

apt install htop systemd-timesyncd ssh bash-completion ca-certificates wget
PackageDéscription
htopGestionnaire de tâche, plus user friendly que top
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*
ca-certificatesMagasin de certificat SSL
wgetOutil pour télécharger des fichiers

Configuration de systemd-timesyncd

La configuration se passe dans etc/systemd/timesyncd.conf

[Time]
NTP=pool.ntp.org

Note: Le pool de ntp.org propose automatiquement une IP proche de chez vous. Si vous avez un serveur NTP local, utilisez celui-là

On active le service et on le démarre en même temps :

systemctl enable --now systemd-timesyncd

Configuration de base

Package pour machine virtuelle (guest)

# Dans le cas d'une VM
apt install open-vm-tools
# Dans le cas d'un QEMU/KVM
apt install qemu-guest-agent

Un redémarrage est nécessaire

Note: Il est possible que ce package soit nativement installé

Package pour machine physique (host)

Dans le cas d'une machine physique, il est nécessaire d'installer le microcode correspondant au processeur (amd64 ou intel)

apt install intel-microcode
apt install amd64-microcode

Changer le hostname (Facultatif)

hostnamectl hostname <NewName>

Fichier a éditer :

/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 “ens33”

DHCP

allow-hotplug ens33
iface ens33 inet dhcp

Static

allow-hotplug enp0s3
iface ens33 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 : systemctl restart networking

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

Après avoir édité le fichier, vous pouvez bloquer son édition par sécurité avec chattr +i /etc/resolv.conf

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

Le fichier de configuration de base se trouve dans /etc/ssh/sshd_config mais commence par sourcer les fichiers se trouvant dans le dossier /etc/ssh/sshd_config.d/*.conf (Vide par défaut). Nous allons profiter de ce dossier pour écraser les valeurs par défaut

/etc/ssh/sshd_config.d/10_base.conf
  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.  
  18. ## Sécurité
  19.  
  20. # Logging
  21. LogLevel VERBOSE
  22. # Logging SFTP
  23. Subsystem sftp /usr/lib/openssh/sftp-server -f AUTHPRIV -l INFO

Si vous souhaitez activer l'authentification par clé uniquement :

/etc/ssh/sshd_config.d/20_auth.conf
  1. # Désactivation du login par mot de passe, par challenge/réponse, par mot de passe vide, par le module PAM
  2. # ⚠️ Nécessite une clé pour s'identifier !
  3. # <!--
  4. PasswordAuthentication no
  5. ChallengeResponseAuthentication no
  6. KbdInteractiveAuthentication no
  7. UsePAM no
  8. # Activation du login par clé publique uniquement (N'autorisera plus par mot de passe)
  9. PubkeyAuthentication yes
  10. AuthenticationMethods publickey
  11. # -->

N'oubliez pas de redémarrer le service ssh : systemctl restart sshd

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 12 - Perfect Server):

  • Moins de package de base à installer. Ils le sont déjà (dbus, nano, …)
  • Configuration du serveur NTP
  • Usage de hostnamectl pour changer le hostname de la machine
  • Configuration SSH sur base de fichier source sans écraser la configuration d'origine (+ modulaire)
  • Ajout de l'installation du microcode pour une machine physique
article/linux/debian_13_-_perfect_server.txt · Dernière modification : de Gary

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

GH3.BE WIKI 2025