GNU/Linux >> Tutoriels Linux >  >> Linux

Forcer les changements de mot de passe du système Linux avec la commande chage

Certains d'entre vous peuvent travailler dans des secteurs hautement réglementés, tels que le secteur médical, le gouvernement, les marchés publics, l'alimentation et les boissons. Vous avez probablement des directives strictes pour le vieillissement du mot de passe, les changements de mot de passe réguliers, la longueur minimale, la complexité et les limites de temps minimales entre les changements de mot de passe. D'autres d'entre vous pourraient utiliser des directives tout aussi strictes simplement parce que c'est une bonne pratique de le faire. Cet article décrit comment auditer les comptes d'utilisateurs et définir certaines directives concernant l'expiration du mot de passe et la fréquence de changement. Pour les exemples, j'utilise le chage commande.

[ Vous aimerez peut-être également lire :Équilibrer la sécurité Linux avec la convivialité ]

Le chage La commande est auto-décrit comme l'utilitaire "modifier les informations d'expiration du mot de passe utilisateur". Selon le chage page de manuel :

La commande chage change le nombre de jours entre les changements de mot de passe et la date du dernier changement de mot de passe. Cette information est utilisée par le système pour déterminer quand un utilisateur doit changer son mot de passe.

Auditer les comptes utilisateur

Les audits périodiques des comptes ne sont pas seulement une bonne idée mais, selon les réglementations de conformité de votre secteur, ils pourraient être une exigence. Il est facile de vérifier les exigences de changement de mot de passe en utilisant le chage commande. Voici un exemple :

# chage -l jdoe
Last password change					: Apr 20, 2021
Password expires					: never
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Comme vous pouvez le voir, auditer le jdoe compte d'utilisateur génère un échec d'audit. Les indicateurs clés sont que le mot de passe de l'utilisateur n'expire jamais et qu'il n'y a pas de nombre minimum ou maximum de jours entre les changements de mot de passe. Certaines réglementations de l'industrie exigent que les mots de passe changent tous les 45 jours, tandis que d'autres imposent un changement de 90 jours. Et il se peut que certaines entreprises et réglementations exigent un intervalle de changement de 30 jours.

Expiration du mot de passe d'un utilisateur

Chaque client que j'ai pris en charge jusqu'à présent a utilisé une expiration de mot de passe de 90 jours et un nombre minimum de jours entre les changements de mot de passe défini sur un. La définition d'un nombre minimal de jours entre les changements de mot de passe permet d'éviter qu'un utilisateur modifie son mot de passe à plusieurs reprises jusqu'à ce qu'il puisse le réinitialiser au précédent, en contournant la sécurité du système. Vous pouvez définir ce nombre sur quelque chose de plus grand que un. Certaines entreprises fixent le nombre minimum de jours à sept.

# chage -m 1 -M 90 jdoe

# chage -l jdoe

Last password change					: Apr 20, 2021
Password expires					: Jul 19, 2021
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 1
Maximum number of days between password change		: 90
Number of days of warning before password expires	: 7

Le chage La commande fait expirer le mot de passe de l'utilisateur 90 jours après le dernier changement de mot de passe. Ainsi, si vous avez modifié votre mot de passe pour la dernière fois le 15 janvier 2019, votre mot de passe expirera le 15 avril 2019. Cela signifie que si votre date d'expiration est passée, vous serez invité à le modifier lors de votre prochaine connexion.

$ ssh [email protected]
[email protected]'s password: 
You are required to change your password immediately (password expired)
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Jun 19 10:46:27 2021
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user jdoe.
Current password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
Connection to 192.168.0.99 closed.

Notez qu'après le changement de mot de passe, le système distant déconnecte l'utilisateur. L'utilisateur doit réinitialiser la connexion au système distant et se connecter avec son nouveau mot de passe.

La mise en garde et le remède

J'ai entendu beaucoup d'arguments d'utilisateurs et d'administrateurs système contre la définition d'un nombre minimum de jours entre les changements de mot de passe indiquant que cela perturbe les scripts automatisés. Ma réponse a toujours été :"N'utilisez pas de mots de passe pour les scripts automatisés". La raison en est que certains utilisateurs et administrateurs système écrivent des mots de passe en texte brut dans ces scripts automatisés, et c'est une mauvaise chose, même s'ils limitent les autorisations d'un script au compte d'utilisateur qui les exécute.

La solution consiste à utiliser des paires de clés SSH pour les tâches automatisées entre les systèmes.

[ Vous pensez à la sécurité ? Consultez ce guide gratuit pour renforcer la sécurité du cloud hybride et protéger votre entreprise. ]

Récapitulez

Cet article vous donne un aperçu rapide de l'utilisation du chage pour auditer et faire expirer les mots de passe sur les systèmes que vous gérez. Si vous ne souhaitez pas auditer chaque compte individuellement, je vous suggère de créer un script pour vérifier périodiquement les comptes de vos utilisateurs et faire expirer ceux qui ne sont pas conformes à vos politiques de sécurité et à vos exigences réglementaires.


Linux
  1. Planification des tâches avec la commande Linux cron

  2. Diagnostiquer les problèmes de connectivité avec la commande Linux ping

  3. Regardez les commandes et les tâches avec la commande Linux watch

  4. Remplacez les guillemets intelligents par la commande Linux sed

  5. Premiers pas avec la commande Linux tac

Commande de disponibilité Linux avec exemples

Comment gérer les mots de passe Linux avec la commande pass

Comment rechercher des fichiers avec la commande fd sous Linux

La commande supérieure de Linux

Comment utiliser la commande fd sur le système Linux

La commande System Activity Reporter (sar) sous Linux