> Tech > Protégez vos mots de passe par programmation

Protégez vos mots de passe par programmation

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Dick Lewis - Mis en ligne le 10/05/06 - Publié en Décembre 2004

Il y a plusieurs années, mon téléphone a sonné au milieu de la nuit. La mise à niveau matérielle d’un serveur dans ma société avait capoté. La carte réseau de l’un de nos serveurs de fichiers principaux avait rendu l’âme et perdu toute connectivité réseau. Nous avions certes des cartes de remplacement, mais ne pouvions les installer parce que le serveur ne semblait pas avoir de références de domaines cachés et la combinaison nom de compte utilisateur et mot de passe Administrator local ne fonctionnait pas. Nous étions donc évincés de notre propre boîte et nous ne disposions alors d’aucun outil d’intrusion commode pour nous tirer d’affaire. Nous sommes finalement parvenus à nous frayer un chemin dans notre propre serveur mais, à mes yeux, cette expérience ne faisait que souligner l’importance qu’il y a à maintenir, à gérer et à vérifier les noms de comptes et les mots de passe Administrator du serveur...Les administrateurs système soulignent souvent l’importance de changer les mots de passe Administrator pour des raisons de sécurité. Cette insistance est bel et bien justifiée parce que le compte Administrator local détient la clé du sanctuaire de l’information sur ce serveur. Cependant, parallèlement à cet aspect de la sécurité, il faut prendre en compte les situations insolites dans lesquelles on doit être sûr à 100 % que, quand on s’assied à la console, l’information de logon fonctionnera. En effet, rien n’est plus désagréable que de voir un avertissement signalant un nom d’utilisateur/mot de passe inapproprié, quand on tente une connexion locale.

Vérifier et modifier manuellement les mots de passe sur de nombreux serveurs prend beaucoup de temps. Ce temps peut conduire un administrateur à vérifier et à modifier les mots de passe moins souvent, au grand dam de la sécurité du réseau. Et des erreurs pourraient fort bien se glisser, conduisant au genre de situation que je viens de décrire.

Heureusement, les scripts peuvent effectuer des opérations répétitives comme la vérification et le changement des mots de passe avec plus de vitesse et d’exactitude que ne le permettent les outils intégrés généralement utilisés en la circonstance. Les scripts offrent aussi plusieurs avantages par rapport aux outils GUI tierce partie. (Pour connaître ces avantages, voir l’encadré « Utilitaires GUI vs solutions scriptées ».) Même si vous n’avez jamais pratiqué aucun scripting ou développement de code, vous pouvez facilement commencer avec le script shell Windows en examinant et en utilisant PWcheck-change, un script entièrement fonctionnel qui vérifie et change les mots de passe. Quand je vous aurai présenté rapidement ce script, vous pourrez regarder sous le capot, Ensuite, je vous montrerai comment personnaliser et utiliser PWcheck-change.

PWcheck-change est un script simple et pratique qui permet de vérifier et de changer avec exactitude des mots de passe sur de nombreux serveurs en quelques secondes. Pour bien maintenir, gérer et vérifier les mots de passe avec PWcheck-change, il faut exécuter les scripts dans trois situations. Premièrement, il faut exécuter périodiquement le script pour effectuer les changements de mots de passe usuels. PWcheck-change rétablira les mots de passe quand vous le lancerez avec l’argument -Change : PWcheck-change.bat -Change Deuxièmement, il faut exécuter périodiquement le script pour déterminer si certains mots de passe qui n’auraient pas dû être changés, l’ont été. PWcheck-change vérifiera les mots de passe de vos serveurs et signalera les mots de passe incorrects quand vous le lancerez sans argument: PWcheck-change.bat

Enfin, en cas d’urgence, il faut exécuter le script le plus tôt possible. Ainsi, si le responsable sécurité détermine que les mots de passe sur un ou plusieurs serveurs ont été compromis, vous devez lancer une exécution d’urgence du script le plus rapidement possible.

Quand j’ai écrit PWcheck-change, j’ai dû faire plusieurs suppositions à propos des utilisateurs qui exécuteraient le script. Ces suppositions sont au nombre de cinq :

  • Le script suppose que vous suivez la meilleure pratique standard : utiliser des noms de comptes Administrator uniques et des mots de passe uniques pour vos serveurs. Cependant, si tous vos noms de comptes Administrator sont identiques ou si vous utilisez un mot de passe pour tous les serveurs, vous pouvez spécifier ce nom de compte ou mot de passe commun pour chaque serveur, de la même manière que vous spécifieriez le nom ou le mot de passe unique.
  • Le script suppose que vos serveurs sont online. Comme l’information de compte Administrator se trouve dans la base de données des comptes serveurs locaux et pas dans l’AD (Active Directory), vos serveurs doivent être online pour que les changements soient effectifs. PWcheck-change déterminera si le serveur est online, avant d’essayer de vérifier ou de changer un mot de passe.
  • Le script suppose que vos mots de passe respectent les critères de longueur et de complexité que vous avez vous-mêmes instaurés pour votre système. Ainsi, si vous avez défini une longueur minimale de huit caractères pour les mots de passe Administrator, il ne faut pas utiliser le script pour définir un mot de passe de six caractères. Même chose si vous utilisez des mots de passe puissants : n’utilisez pas le script pour définir un mot de passe qui ne contient pas le mélange et la combinaison de caractères requis. D’ailleurs si vous violez vos propres règles de mot de passe, les éventuelles erreurs commises dans le changement seront enregistrées dans le fichier log.
  • Le script suppose que vos mots de passe n’incluent aucun caractère réservé de script shell Windows. En effet, certains caractères tout à fait utilisables dans des mots de passe sont aussi des caractères réservés dans le script shell. Evitez les caractères réservés suivants comme caractères de mot de passe :
    , ^ & < > ( ) _ = " ;
    Si vous essayez de les utiliser, le changement de mot de passe échouera probablement.
    Les caractères suivants sont tout à fait licites :
    $ % @ # ! _ ‘ ~ . + _ – *: \ /
    Toutefois, la différence entre une apostrophe (_) et un guillemet simple (‘) peut être difficile à distinguer, tout comme d’ailleurs certains chiffres et lettres courants. Ainsi, la lettre l minuscule, une lettre I majuscule et le chiffre 1 peuvent tous se ressembler, comme d’ailleurs le O majuscule et le chiffre 0. Vous pouvez utiliser des caractères, des lettres et des chiffres difficiles à distinguer, mais faites très attention en les tapant.
  • Le script suppose qu’il n’y a pas de connexions persistantes ouvertes vers vos serveurs. En mode check, PWcheck-change se connecte par l’intermédiaire du share IPC$ pour tester la combinaison nom d’utilisateur et mot de passe. Si un serveur a une connexion persistante ouverte, le script pourrait être incapable de « tuer » la connexion et vous pourriez obtenir un retour incorrect à propos des mots de passe.

Téléchargez cette ressource

Les mégatendances cybersécurité et cyber protection 2024

Les mégatendances cybersécurité et cyber protection 2024

L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.

Tech - Par iTPro.fr - Publié le 24 juin 2010