BlueIcefield Le savoir n'a de valeur que s'il est partagé

19août/102

Réinitialiser le mot de passe d’un compte Windows depuis Linux

Il nous arrive à tous d'oublier des choses, parfois même, d'oublier le mot de passe de son compte utilisateur. Si vous êtes sous Linux et que vous avez gardé GRUB dans sa configuration d'origine il est possible de surmonter ce problème sans CD/DVD de Linux et sans formater toutes vos données.

Par contre, s'il s'agit d'un compte Windows, la méthode conventionnelle nécessite l'emploi d'un CD/DVD de Windows, ce que vous n'avez pas forcément sous la main (notamment si vous avez un Windows OEM d'installé).

Sachez toutefois qu'il vous est possible de supprimer ou de modifier le mot de passe de votre compte Windows depuis Linux, que cela soit via un Linux présent sur votre machine autant que second système d'exploitation ou bien via un LiveCD Linux (du moment qu'il vous est possible d'installer des paquets supplémentaires).

L'outil qui permet de faire cela se nomme chntpw. Regardons ensemble comment l'utiliser :

# Installation de chntpw sous Debian/Ubuntu (droits root requis)
aptitude install chntpw
 
# Installation de chntpw sous Archlinux
yaourt -S chntpw
 
# Installation de chntpw sous Fedora (droits root requis)
yum install chntpw
 
# On doit se rendre dans le répertoire où se trouve le fichier SAM de Windows
# Ce fichier est dans le répertoire WINDOWS/system32/config/ de la partition contenant votre Windows
# Le début du chemin varie donc selon le montage de votre partition Windows
cd /media/disk1/WINDOWS/system32/config/
 
# On liste les comptes Windows
chntpw -l SAM

# On va par exemple travailler sur le compte 'Nassim' (voir capture d'écran ci-dessus)
chntpw SAM -u Nassim

Description des options du menu :
1 - Suppression du mot de passe du compte.
2 - Modification du mot de passe du compte (à utiliser avec prudence sous XP et Vista, probablement à cause de certains dispositifs de renforcement du cryptage).
3 - Ajout des droits administrateur au compte.
4 - Débloquer/activer le compte.
q - Quitter.

Une fois votre choix fait (et éventuellement le nouveau mot de passe saisi), l'application vous demandera si vous désirez réellement sauvegarder les changements dans le fichier SAM, il faudra donc répondre oui (Y).

Voilà, j'espère que ce petit billet vous aura donné un petit coup de pouce !!!

18août/101

[Sécurité] Partage de secret

En cryptologie, le partage de secret est une méthode consistant à fragmenter un secret en plusieurs éléments, de façon à ce que le secret ne soit reconstituable qu'avec la réunion d'un certain nombre de ces différents éléments.

Le logiciel ssss disponible sous Linux implémente la méthode Shamir de partage de secret. Voyons un peu comment cela fonctionne :

# Installation du logiciel ssss (valable pour Debian et Ubuntu uniquement)
sudo aptitude install ssss
 
# Fragmentation de notre mot de passe en 5 éléments de façon à ce qu'il soit reconstituable à partir de 3 de ces éléments.
ssss-split -t 3 -n 5
 
Generating shares using a (3,5) scheme with dynamic security level.
Enter the secret, at most 128 ASCII characters: my secret root password
Using a 184 bit security level.
1-1c41ef496eccfbeba439714085df8437236298da8dd824
2-fbc74a03a50e14ab406c225afb5f45c40ae11976d2b665
3-fa1c3a9c6df8af0779c36de6c33f6e36e989d0e0b91309
4-468de7d6eb36674c9cf008c8e8fc8c566537ad6301eb9e
5-4756974923c0dce0a55f4774d09ca7a4865f64f56a4ee0
 
# Pour reconstituer le mot de passe
ssss-combine -t 3
 
Enter 3 shares separated by newlines:
Share [1/3]: 3-fa1c3a9c6df8af0779c36de6c33f6e36e989d0e0b91309
Share [2/3]: 5-4756974923c0dce0a55f4774d09ca7a4865f64f56a4ee0
Share [3/3]: 2-fbc74a03a50e14ab406c225afb5f45c40ae11976d2b665
Resulting secret: my secret root password

Je vous recommande de lire le man de la commande ssss-split pour voir les différentes options possibles mais en général cet outil reste simple d'utilisation.

On peut imaginer exploiter ce logiciel au sein d'un système d'authentification ou par exemple partager le mot de passe d'une archive compressée.

Site officiel : http://point-at-infinity.org/ssss/

15août/102

Réinitialiser le mot de passe root d’une base de données MySQL

Öhhh catastrophe ! öhhh désespoir !  Vous êtes affolé devant votre écran, les mains qui tremblent, à essayer de retrouver le précieux sésame donnant l'accès total et sans restrictions à votre base de données MySQL. Est-ce peine perdue ? Rassurez-vous, la réponse est non !

En effet, il est toujours possible de réinitialiser le mot de passe root de votre base de données. Voici la démarche à suivre :

# Note :Toutes ses opérations nécessites d'avoir les droits root sur le système 
 
# On stoppe le serveur MySQL
/etc/init.d/mysql stop
 
# On lance le serveur en mode 'safe'
/usr/bin/mysqld_safe --skip-grant-tables &
 
# On se connecte autant que root à la BD MySQL (Ohhh miracle ! Aucun mot de passe n'est demandé ;-) )
mysql --user=root mysql

Une fois connecté autant que root à votre serveur MySQL, il suffit de paramétrer un nouveau mot de passe :

mysql> update user set Password=PASSWORD('votre-nouveau-mot-de-passe') WHERE User='root';

Finissons en relançant notre serveur MySQL en mode normal :

# On stoppe le processus mysqld_safe... attention méthode brutale ^^
killall -9 mysqld_safe
 
# On démarre MySQL en mode normal
/etc/init.d/mysql start

Et voilà, la fin est toujours heureuse dans le joli monde Unix !

15août/100

Géolocalisation d’adresses IP sous Apache2

L'une des forces du serveur web Apache est la panoplie de modules qu'on peut lui greffer, enrichissant ainsi ses fonctionnalités. Aujourd'hui, je vais vous présenter un module permettant d'effectuer de la géolocalisation d'adresses IP.

Tout d'abord commençons par installer ce fameux module :

# Valable pour Debian et Ubuntu uniquement
sudo aptitude install libapache2-mod-geoip
 
# On redémarre le serveur Apache
sudo /etc/init.d/apache2 restart

Voilà, dès à présent, il vous est possible d'obtenir le pays ainsi que le code du pays des personnes qui visitent votre site. Pour ce faire,  il suffit d'intérroger les variables de serveur, en PHP cela donne :

// Code du pays
echo $_SERVER[GEOIP_COUNTRY_CODE];
 
// Nom du pays
echo $_SERVER[GEOIP_COUNTRY_NAME];

Ce module peut être utile par exemple pour concevoir un algorithme qui modifie la langue de votre site selon la provenance des visiteurs.

Notes :
- Ce module est également disponible pour le serveur web Cherokee.
- La base de données inclut dans les paquets Debian/Ubuntu n'est pas très à jour, il est possible de la remplacer par celle de MaxMind :

cd /usr/share/GeoIP/
 
# On sauvegarde la base de données actuelle
mv GeoIP.dat GeoIP.dat.backup
 
# On télécharge la nouvelle base de données
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
 
# On la décompresse
zcat GeoIP.dat.gz > GeoIP.dat
11août/100

Tuning de serveur MySQL

Le tuning d'un serveur de base de données n'est pas chose facile. Dans le cas de MySQL il existe un petit script fort utile permettant de tester et d'optimiser son serveur MySQL. Cet outil nommé tuning-primer est téléchargeable depuis le site day32.com.

Après avoir été lancé sur un serveur MySQL qui a été en production au moins 24H, le script affiche un résultat d'analyse ponctué de commentaires et de suggestions pour l'optimisation des paramètres suivants :

  • Slow Query Log
  • Max Connections
  • Worker Threads
  • Key Buffer
  • Query Cache
  • Sort Buffer
  • Joins
  • Temp Tables
  • Table (Open & Definition) Cache
  • Table Locking
  • Table Scans (read_buffer)
  • Innodb Status

Pour finir, je tiens à rappeler que le travail d'optimisation du serveur MySQL à lui seul ne suffit pas, il est très important d'optimiser les schémas des tables ainsi que les requêtes SQL.

Page 2 sur 171234510Dernière page »