GNU/Linux >> Tutoriels Linux >  >> Linux

CentOS / RHEL :Comment restreindre la connexion SSH par heure de la journée

Question :

Comment appliquer une politique qui autorise les nouvelles connexions ssh à un moment précis de la journée uniquement. En dehors de ces fenêtres d'accès, aucune nouvelle connexion ssh ne doit être autorisée.

Solution :

Description de la ressource PAM

Les heures de connexion peuvent être contrôlées à l'aide de la méthode d'authentification du plug-in Linux (PAM) pam_time.so module. Le module pam_time.so applique les restrictions de connexion spécifiées dans le fichier /etc/security/time.conf . Les fenêtres de connexion souhaitées doivent donc être définies dans ce fichier.

Exemple de règle
Utiliser un exemple est le meilleur moyen d'expliquer le fonctionnement du module pam_time.so. Nous aimerions limiter la connexion à distance de l'utilisateur John au système entre 13h00 et 14h00 tous les jours. Pour cela, ajoutez la ligne ci-dessous au fichier /etc/security/time.conf :

# vi /etc/security/time.conf
sshd;*;john;Al1300-1400

Les champs sont séparés par un point-virgule (;). Les champs sont :

  1. Le nom du service à contrôler, ici sshd est utilisé.
  2. Le terminal tty qui est contrôlé. Ce champ nous permet de limiter la restriction à un certain terminal, par exemple. Le caractère générique "*" signifie appliquer la restriction quel que soit le terminal utilisé pour la tentative de connexion.
  3. Une liste des utilisateurs auxquels s'applique cette limitation. Notre exemple de restriction s'applique uniquement à l'utilisateur john.
  4. Une liste des heures auxquelles la restriction s'applique. Chaque plage horaire est un point d'exclamation facultatif (!) pour annuler la plage horaire, suivi d'un ou plusieurs noms de jour à deux lettres, suivis d'une plage horaire utilisant une horloge de 24 heures. Le nom Wk signifie n'importe quel jour de la semaine; le nom Wd signifie un jour de week-end; et Al signifie n'importe quel jour. Notre exemple accorde une autorisation entre 13h00 et 14h00, n'importe quel jour de la semaine.

Activer la politique
Ajoutez une ligne au fichier de service /etc/pam.d/sshd qui indique :

# vi /etc/pam.d/sshd
account required pam_time.so

La ligne doit être regroupée avec d'autres lignes de compte. L'ordre des lignes dans les fichiers d'authentification PAM est important :les éléments sont appliqués dans l'ordre dans lequel les lignes apparaissent dans le fichier. Ajoutez la nouvelle ligne comme dernière ligne de compte. Cela garantit que les informations sur une application temporelle ne sont pas divulguées à des tiers. Dans notre exemple :

# vim /etc/pam.d/sshd
#%PAM-1.0
...
# Additionally, check for any account-based restrictions using pam_time.so
account required pam_nologin.so
account include password-auth
account required pam_time.so
...
Soyez extrêmement prudent lorsque vous apportez des modifications aux fichiers de configuration PAM. Une mauvaise modification, ou une faute de frappe, peut ouvrir complètement le système à n'importe quel utilisateur, ou peut bloquer tous les utilisateurs (y compris root) hors du système.


Linux
  1. CentOS / RHEL 7 :Comment changer de fuseau horaire

  2. Comment restreindre les utilisateurs et les groupes Active Directory à se connecter au client CentOS/RHEL 7

  3. Connexion SSH bloquée à :"debug1 :attend SSH2_MSG_KEX_DH_GEX_GROUP" CentOS/RHEL 7

  4. CentOS / RHEL :Comment désactiver / activer la connexion ssh directe des utilisateurs root et non root

  5. CentOS / RHEL :Comment désactiver la connexion root ou l'accès root sur un système

Comment configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8

Comment changer le fuseau horaire dans CentOS 8 / RHEL 8

Comment activer les notifications de connexion SSH par e-mail dans CentOS 8

Comment configurer SSH sur CentOS et RHEL

Comment changer le port SSH sur Centos 7.x ?

Comment désactiver la liste des utilisateurs sur l'écran de connexion GNOME dans CentOS/RHEL 8