Étape 1 :
Par défaut, les droits d’utiliser les commandes en mode « sudo » (superutilisateur) ne sont pas installés sur Debian.
Vous allez commencer par les installer.
Connectez-vous en « root » et saisissez :
apt install sudo
Étape 2 :
Configurez les droits « sudo » pour votre utilisateur en modifiant le fichier « sudoers » :
nano /etc/sudoers
Pour aller + vite on peut également utiliser la commande visudo
visudo
Il suffit d’ajouter un utilisateur avec les droits que vous souhaitez, cherchez simplement la ligne # User privilege specification
Ne pas oublier de sortir du mode root pour reprendre le travail avec l’utilisateur sudo 😉
Étape 3 :
Mettez à jour votre système :
sudo apt update
Étape 4 :
Installez le serveur SSH :
sudo apt-get install openssh-server
Étape 5 :
Démarrez le service SSH :
sudo systemctl start ssh
Étape 6 :
Démarrez le « daemon SSHD » afin que le service soit activé automatiquement au démarrage du système :
sudo systemctl enable ssh
Étape 7 :
Vérifiez le statut du service SSH :
sudo systemctl status ssh
Étape 8 :
À moins d’avoir attribué une IP fixe à votre Debian, vérifiez l’adresse IP de votre serveur pour vous connecter à distance :
ip a
Le serveur OpenSSH est maintenant installé et activé. Vous allez pouvoir vous connecter à distance.
Configurer SSH
Bonnes pratiques pour sécuriser SSH :
- Désactiver l’accès SSH avec le compte root
- Évitez de laisser un accès total au serveur en cas d’attaque.
- Utiliser uniquement la version 2 de SSH
- Configurez la connexion exclusive des clients avec la version 2 de SSH.
- Modifier le port d’écoute par défaut (port 22)
- Évitez les ports réservés par des protocoles et applications connues.
- Limiter les utilisateurs pouvant se connecter en SSH
- Définissez une politique de refus par défaut et spécifiez les utilisateurs autorisés.
- Utiliser des mots de passe forts
- Désactivez la connexion avec des comptes sans mot de passe.
- Diminuer la durée maximale d’authentification
- Par défaut, elle est fixée à 2 minutes, réduisez-la si nécessaire.
- Vérifier les logs SSH régulièrement
- Analysez les logs SSH pour détecter d’éventuelles anomalies.
Configurations de sécurité de base ou « minimum syndical » !
Voici quelques lignes à ajouter à la fin du fichier /etc/ssh/sshd_config :
Désactiver l’accès SSH pour le compte root
PermitRootLogin no
Utiliser uniquement la version 2 de SSH
Protocol 2
Modifier le port d’écoute par défaut
- Remplacez
22
par un autre numéro de port de votre choix (évitez les ports réservés).
Port <numéro_de_port>
Limiter les utilisateurs pouvant se connecter en SSH
- Remplacez
<utilisateur>
par le nom d’utilisateur autorisé.
AllowUsers <utilisateur>
Utiliser des mots de passe forts
- Assurez-vous que la ligne suivante est commentée ou absente pour désactiver la connexion avec des comptes sans mot de passe.
#PermitEmptyPasswords no
Diminuer la durée maximale d’authentification
- Remplacez
30
par le nombre de secondes souhaité.
LoginGraceTime 30
Configuration de sécurité avancée
Désactiver l’authentification par mot de passe
- Si vous utilisez des clés SSH pour l’authentification, vous pouvez désactiver l’authentification par mot de passe pour renforcer la sécurité.
PasswordAuthentication no
Désactiver l’authentification par clé héritée
PubkeyAuthentication yes
Désactiver l’authentification basée sur l’hôte
HostbasedAuthentication no
Désactiver l’authentification rhosts
IgnoreRhosts yes
Désactiver l’authentification rhosts RSA
RhostsRSAAuthentication no
Désactiver l’authentification basée sur l’hôte
HostbasedAuthentication no
Désactiver l’authentification GSSAPI
GSSAPIAuthentication no
Désactiver l’authentification Kerberos
KerberosAuthentication no
Après avoir effectué ces modifications, n’oubliez pas de redémarrer le service SSH pour que les changements prennent effet :
sudo systemctl restart sshd
Laisser un commentaire