1

Topic: [sécurité] Mot de passe par défaut sous-répertoire `admin'

Un problème de sécurité a été détecté lors des mises à jour des contextes Dynacase : le mot de passe du sous-répertoire `admin' est actuellement remis à sa valeur par défaut lors de la mise à jour de dynacase-platform sur un contexte Dynacase.

Nous vous invitons donc à vérifier et changer le mot de passe de ce sous-répertoire sur vos contextes installés.

La prochaine realease 3.0 et 3.1 intègre un mécanisme qui gérera conjointement le mot de passe admin Dynacase et celui utilisé pour accéder à ce répertoire.

Problème rencontré

Le mot de passe du compte admin du sous-répertoire `admin' des contextes est remis au mot de passe par défaut lors d'une mise à jour de dynacase-platform.

Correction

Vous devez inspecter vos contextes et vous assurer que le mot de passe du sous-répertoire `admin' n'est pas celui par défaut.

Pour cela, vous pouvez soit :
- modifier manuellement le mot de passe;
- utiliser le script `reset_admin_htpasswd.php' fournit en attachement pour vous guider dans la correction de ces mots de passe.

* Correction manuelle

Si vous n'avez pas modifié le mot de passe suite à votre dernière mise à jour, il faut alors le changer.
Pour cela, utilisez la commande `htpasswd' pour changer le mot de passe du compte `admin' dans le fichier `<context root path>/admin/.htpasswd' de vos contextes Dynacase.

* Correction interactive avec le script `reset_admin_pass.php'

Le script permet de vous guider pour changer les mots de passe des contextes qui auraient un mot de passe par défaut.

Pour cela, il vous faut exécuter le script (en étant connecté root), sur la machine qui héberge Dynacase Control et vos contextes Dynacase, et lui donner en argument le chemin d'accès du répertoire d'installation de Dynacase Control, par exemple  :

# php reset_admin_pass.php /var/www/dynacase-control

Il va alors parcourir tous les contextes gérés par ce Control, vérifier si le mot de passe doit être changé, et si nécessaire vous demander de saisir un mot de passe (avec confirmation) et inscrire le nouveau de passe. Exemple d'utilisation :

# php reset_admin_pass.php /var/www/dynacase-control

Found '2' contexts.

Checking context '/var/www/dynacase' (1/2)
Fix insecure admin in '/var/www/dynacase/admin/.htpasswd' file? [Y/n] 
Enter new password for admin in '/var/www/dynacase/admin/.htpasswd': xxxxxx
Confirm new password for admin in '/var/www/dynacase/admin/.htpasswd':xxxxxx
Updating password for user admin
Changed admin password in '/var/www/dynacase/admin/.htpasswd'.

Checking context '/var/www/preprod/dynacase' (2/2)
Fix insecure admin in '/var/www/preprod/dynacase/admin/.htpasswd' file? [Y/n]
Enter new password for admin in '/var/www/preprod/dynacase/admin/.htpasswd':xxxxxx
Confirm new password for admin in '/var/www/preprod/dynacase/admin/.htpasswd': xxxxxx
Updating password for user admin
Changed admin password in '/var/www/preprod/dynacase/admin/.htpasswd'.

Done.

Si on le relance et que tout est OK, cela affiche :

# php reset_admin_pass.php /var/www/dynacase-control

Found '2' contexts.

Checking context '/var/www/dynacase' (1/2)
Notice: skipping context '/var/www/dynacase' because it seems to have a valid custom .htpasswd file.

Checking context '/var/www/preprod/dynacase' (2/2)
Notice: skipping context '/var/www/preprod/dynacase' because it seems to have a valid custom .htpasswd file.

Done.

Le script logge les messages dans syslog avec la facility LOG_AUTH, et les priorités { LOG_NOTICE, LOG_WARNING, LOG_ERROR }