HSC
Network Security Consulting Agency Since 1989 - Specialized in Unix, Windows, TCP/IP and Internet
Text mode: access to the page content
Hervé Schauer Consultants
You are here: Home > Resources > Tips > Politique de mots de passe sous Solaris 10
Go to: HSC Trainings
Télécharger le catalogue des formations
Search:  
Version française
   Services   
o Skills & Expertise
o Consulting
o ISO 27001 services
o Audit & Assessment
o Penetration tests
o Vunerability assessment (TSAR)
o Forensics
o ARJEL
o Training courses
o E-learning
   Conferences   
o Agenda
o Past events
o Tutorials
   Resources   
o Thematic index
o Tips
o Lectures
o Courses
o Articles
o Tools (download)
o Vulnerability watch
   Company   
o Hervé Schauer
o Team
o Job opportunities
o Credentials
o History
o Partnerships
o Associations
   Press and
 communication
 
 
o HSC Newsletter
o Bulletin juridique HSC
o Press review
o Press releases
o Publications
   Contacts   
o How to reach us
o Specific inquiries
o Directions to our office
o Hotels near our office
|>|Politique de mots de passe sous Solaris 10   

by Louis Nyffenegger (11/07/07)



---[ Politique de mots de passe sous Solaris 10 ]-----------------------------

Cet article traite de la gestion des mots de passe locaux sur le système 
d'exploitation Solaris 10. La plupart des options présentées fonctionnent 
également sur les version 8 et 9 de Solaris.

--[ 1. Introduction ]---------------------------------------------------------

La dernière mouture de Solaris 10 intègre plus d'options dans la gestion des 
mots de passe. Nous allons voir comment il est possible de contraindre les
utilisateurs locaux à suivre une politique de mots de passe stricte et de 
gérer le blocage des comptes manuellement ou après un certain nombre de 
tentatives.


--[ 2. Modification de l'algorithme de chiffrement ]--------------------------

Une des premières étapes dans le durcissement d'une politique de mot de passe
est le changement de l'algorithme de chiffrement, en effet, la valeur utilisée 
par défaut est du DES qui se limite à 8 caractères sans graine ce qui est loin
d'assurer un niveau de sécurité satisfaisant.

Pour cela, il suffit de modifier le fichier /etc/security/policy.conf et de 
choisir de ne plus utiliser l'algorithme standard __unix__ mais l'algorithme
Linux/BSD MD5 :

		CRYPT_DEFAULT=__unix__
	
	à modifier par : 

		CRYPT_DEFAULT=1

Il faut ensuite modifier le mot de passe pour que celui-ci utilise le nouvel
algorithme de chiffrement.


--[ 3. Durée de validité du mot de passe ]------------------------------------

Un facteur important est la durée de vie d'un mot de passe, il est possible
de définir la durée de vie minimale et maximale d'un mot de passe.
Cette manipulation est à réaliser dans le fichier /etc/default/passwd en 
modifiant les variables MAXWEEKS et MINWEEKS.
MAXWEEKS est la durée maximale de vie d'un mot de passe, MINWEEKS la durée
minimale, c'est à dire que le mot de passe ne pourra pas être changé avant
que cette durée soit passée. La variable WARNWEEKS permet de décider d'une 
période à partir de laquelle l'utilisateur sera invité à changer son mot de 
passe.

--[ 4. Complexité du mot de passe ]-------------------------------------------

La complexité des mots de passe est un élément crucial pour la sécurité d'un
système. Solaris permet de contraindre l'utilisateur à avoir un mot de passe
complexe.

Pour cela, plusieurs options existent (à modifier dans le fichier 
/etc/default/passwd). PASSLENGTH permet de choisir la taille minimale d'un mot
de passe (NB : l'algorithme de chiffrement choisi doit être diffèrent de 
__unix__ pour une valeur supérieure à 8). De plus, cette manipulation ne permet
pas de contraindre une taille minimale de mot de passe pour l'utilisateur root.


L'option HISTORY permet de garder un nombre de mots de passe saisis afin de 
s'assurer que le mot de passe choisi n'ai pas déjà été utilisé par 
l'utilisateur, il est possible de limiter l'historique jusqu'à 26 anciens mots
de passe.
Les hashs des anciens mots de passe sont stockés dans le fichier 
/etc/security/passhistory sous la forme : login:hash1:hash2:....

L'option NAMECHECK est active par défaut, elle permet de s'assurer que le mot 
de passe n'est pas identique au login ou une rotation de celui-ci, par exemple,
on ne pourra pas avoir le couple admin/dmina.

L'option MINDIFF permet de s'assurer un minimum de différence entre le mot de 
passe courant et le mot de passe suivant, la valeur par défaut est 3. Par 
exemple, il n'est pas possible de changer son mot de passe "hschsc123" en 
"hschsc12" par défaut.

Les options MINALPHA (par défaut 2) et MINNONALPHA (par défaut 1) permettent
respectivement de choisir un minimum de caractères alphanumériques et de 
caractères non-alphanumériques. Il en va de même avec MINUPPER (par défaut 0)
et MINLOWER (par défaut 0) pour les caractères minuscules et majuscules.

MAXREPEATS n'est pas activé par défaut, cette option permet de s'assurer qu'un
même caractère ne sera pas répété plusieurs fois à la suite.

D'autres options sont disponibles telles que MINSPECIAL, MINDIGIT ou même
WHITESPACE, je vous invite à lire la page de man de passwd pour plus 
d'informations sur toutes ces options.

La limite de cette solution est qu'elle permet d'empêcher l'utilisateur de 
choisir un mot de passe simple pour son compte mais root peut tout de même 
utiliser un couple login/mot de passe identiques pour n'importe quel compte.

Il est aussi possible d'utiliser un dictionnaire de mots de passe grâce aux 
variables DICTIONLIST et DICTIONDBDIR, après avoir renseigné la variable 
DICTIONLIST et rempli le fichier correspondant, il suffit de lancer la commande
mkpwdict.

--[ 5. Blocage des comptes  ]-------------------------------------------------

Il y a 2 types de comptes "bloqués" sous Solaris 10, les comptes non-login (NL)
qui ne peuvent pas se connecter mais qui peuvent lancer des tâches (cron) et 
les comptes bloqués (LK).
La commande passwd -s permet de connaître l'état d'un compte : 

	# passwd -s admin
	admin     PS 

Il est possible de bloquer un compte à l'aide de la commande passwd : 
	
	# passwd -l malveillant
	passwd: password information changed for malveillant
	# passwd -s malveillant
	malveillant     LK 
	# grep malveillant /etc/shadow 
	malveillant:*LK*$1$2HHlrFiW$d8LrEGgyebvrjv/za1kV1/:13705::::::
	
On peut voir l'ajout de *LK* au début du hash.

De la même façon, on peut mettre l'option non login sur un compte avec la 
commande : 
	
	# passwd -N malveillant

Enfin, il est souvent utile de pouvoir réactiver le compte, cela se fait 
très simplement à l'aide de la commande passwd -u : 
	
	# passwd -u admin
	# passwd: password information changed for admin

Il est aussi possible de bloquer l'accès à un compte à partir d'un certain
nombre de tentatives (avec les risques de dénis de services que cela comporte).

Ce blocage peut être réalisé soit par utilisateur dans le fichier 
/etc/user_attr soit pour tous les utilisateurs locaux (sauf valeur différente 
dans /etc/user_attr) grâce à la variable LOCK_AFTER_RETRIES dans le fichier 
/etc/security/policy.conf.
Le nombre de tentatives infructueuses est de 5 par défaut, il est possible de 
modifier cette valeur grâce à la variable RETRIES présente dans le fichier 
/etc/default/login, la valeur maximale est 20 et la minimale 0.


--[ 6. Conclusion ]-----------------------------------------------------------

Cette brève vous a présenté la gestion d'une politique de mots de passe locaux
sur le système Solaris 10 et ainsi de s'assurer d'un minimum de complexité des
mots de passe sur ce type de système.

                    -- Louis Nyffenegger < Louis.Nyffenegger@hsc.fr > --


--[ 7. Références ]-----------------------------------------------------------

- La page Solaris de SUN :
http://www.sun.com/software/solaris/

- Le projet OpenSolaris
http://www.opensolaris.org/os/

- Solaris 10 Password History
http://www.securitydocs.com/library/2646

- Solaris 10 Account Lockout
http://www.securitydocs.com/library/2637

- Managing Non-Login and Locked Solaris 10 Accounts
http://www.securitydocs.com/library/2636




Last modified on 26 July 2007 at 14:19:32 CET - webmaster@hsc.fr
Mentions légales - Information on this server - © 1989-2013 Hervé Schauer Consultants