22
0
Fork 0

Décrit ce qui se passe quand AllowUsers et AllowGroups sont tous les deux définis dans sshd_config

This commit is contained in:
mtrossevin 2020-09-09 15:41:13 +02:00
parent 35c85a76f1
commit 8b420160ce
1 changed files with 18 additions and 0 deletions

View File

@ -900,3 +900,21 @@ Voici plusieurs méthodes pour protéger son serveur SSH (qui peuvent se cumuler
- utiliser du Port Knocking pour camoufler son port SSH
- ne pas autoriser les connexions SSH avec un mot de passe (`PasswordAuthentication no` dans *sshd_config*)
- configurer [Fail2Ban](HowtoFail2Ban) pour bannir les adresses IP qui se trompent de mot de passe
### Que ce passe t'il quand sshd_config contient à la fois AllowUsers et AllowGroups ?
C'est authorisé par sshd donc `sshd -t` ne sortira pas d'erreur! Au niveau de la connexion, la page man de sshd_config(5) dit:
> The allow/deny directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
Cela signifie en réalité que lors d'une tentative de connexion SSH, la logique suivante est suivi:
> Dans le cas où l'une de ces options n'est pas défini, on saute la ligne correspondante.
- si l'utilisateur tentant de ce connecté **est listé** dans `DenyUsers` alors il ne peut pas se connecter, sinon continuer,
- si l'utilisateur tentant de ce connecté **n'est pas listé** dans `AllowUsers` alors il ne peut pas se connecter, sinon continuer,
- si l'utilisateur **appartient à un groupe listé** dans `DenyGroups` alors il ne peut pas se connecter, sinon continuer,
- si l'utilisateur **n'appartient pas à un groupe listé** dans `AllowGroups` alors il ne peut pas se connecter, sinon continuer,
- l'utilisateur peut se connecté.
Donc pour résumé: Si `AllowUsers` et `AllowGroups` sont définis dans sshd_config alors il faut que l'utilisateur soit **à la fois** dans `AllowUsers` **et** `AllowGroups` pour pouvoir se connecter par SSH.