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 :
- Le nom du service à contrôler, ici sshd est utilisé.
- 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.
- Une liste des utilisateurs auxquels s'applique cette limitation. Notre exemple de restriction s'applique uniquement à l'utilisateur john.
- 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.