KubuntuBlog

Les deux principales choses qui ont été inventées à BERKELEY sont le LSD et UNIX. Il est impossible que ceci soit une coïncidence. Jeremy S. Anderson

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 29 octobre 2006

John the Ripper: Vérifier la sureté de ses mots de passe

Introduction

John The Ripper (que nous appellerons JtR) est un programme qui va tenter de cracker les mots de passe de vos utilisateurs. C'est un outil très utile pour tout administrateur système. Comme l'algorithme de chiffrement des mots de passe sous Unix est à sens unique, le seul moyen de découvrir un mot de passe est la force brute. Cela vous demandera beaucoup de ressources machine.

Pour plus d'informations, je vous renvois sur Wikipedia ou sur le site officiel.

Pour l'installer :

sudo apt-get install john

Tester

Pour tester le fonctionnement de JtR, je vous propose de creer un utilisateur avec un password faible. Mon utilisateur sera : jambon avec comme mot de passe 654321

ATT ATTENTION: Une fois vos tests terminés, SUPPRIMEZ immédiatement cet utilisateur !! Le fait de le laisser ou de l'oublier ouvrira une faille dans votre système !!

Une fois celui-ci créé, essayons de cracker son mot de passe :

## copions le fichier shadow par précaution :
## Il faudra aussi penser a L'EFFACER !
$ sudo cp /etc/shadow .
$ sudo chown jjl:jjl shadow
## pendant l'execution appuyez sur Entrée pour avoir l'état d'avancement
$ john shadow
Loaded 3 passwords with 3 different salts (FreeBSD MD5 32/32)
guesses: 0  time: 0:00:00:09 72% (1)  c/s: 577  trying: {j99999}
654321           (jambon)
^C
## Pour voir les password crackés après une execution :
$ john -show shadow
jambon:654321:13450:0:99999:7:::
1 password cracked, 2 left
## Pour relancer une execution interrompue :
$ john -restore

Configurer un peu plus John

Les fichiers de configuration se trouvent dans /etc/john/

  • john.conf : configuration générale
  • john-mail.conf : configuration de l'envoi de mail
  • john-mail.msg : message a envoyer en cas de crack réussit

Comment utiliser un dictionnaire francais :

JtR est livré avec une liste de password à essayer /usr/share/john/password.lst. Liste qui est surtout valable pour les utilisateurs anglophones. Nous allons utiliser un dictionnaire français à la place.

## Installer le dictionnaire :
$ sudo apt-get install wfrench
## Le convertir en UTF-8
$ iconv -f ISO-8859-15 -t utf-8 < /usr/share/dict/french > /tmp/french.utf8.lst
## Pour tester JtR avec ce nouveau dictionnaire :
## note: mon utilisateur jambon a changé de mot de passe
$ john -wordfile:/tmp/french.utf8.lst -users:jambon shadow
Loaded 1 password (FreeBSD MD5 32/32)
guesses: 0  time: 0:00:00:07 2%  c/s: 555  trying: agréions
apprivoisèrent  (jambon)
## Le test étant concluant, configurons JtR pour qu'il utilise ce dictionnaire :
$ sudo cp /tmp/french.utf8.lst /usr/share/john/french.lst
$ sudo vi /etc/john/john.conf
## Remplacer le dictionnaire actuel par cette ligne :
Wordfile = /usr/share/john/french.lst

Comment lancer JtR automatiquement

Il peut être interressant de vérifier régulièrement les mots de passe et d'être prévenu automatiquement en cas de mot de passe faible. Pour cela nous allons lancer JtR toutes les nuits et lui demander de nous prévenir par mail en cas de succès.

Note: si votre machine n'est pas configurée pour envoyer les mails locaux, vous pouvez aller voir la 1ère partie de mon billet sur la surveillance des logs par email

Commençons par activer le cron :

$ sudo vi /etc/cron.d/john 
## Décommentez les deux lignes contenant /usr/share/john/cronjob (start et stop)
## Changez les heures si necessaire, par défaut, il travaille de 1h à 7h

Un mail sera envoyé à l'utilisateur fautif pour le prévenir. Nous voulons aussi que root soit prévenu afin de tancer ce même utilisateur :

## Editons le texte du mail qui sera envoyé
$ sudo vi /etc/john/john-mail.msg
## Ajoutez la ligne suivante après le Subject
## il faut une ligne blanche entre celle-ci et le corps du message
Cc: root
## Puis la manière d'envoyer le mail
$ sudo vi /etc/john/john-mail.conf
## Ajoutez les lignes suivantes :
# Lis les destinataires dans le fichier de mail
mailargs=-t

Si certains de vos mots de passe sont crackés, vous pourrez voir lesquels avec une commande de ce genre :

$ sudo john -show /var/run/john/cronpasswd.nyqqTJ

Documentation

Voila, pour plus d'informations, vous pouvez lire les liens proposés dans l'introduction. D'autres sources sont disponibles en local, grâce àla page de man et la documention stockée dans le répertoire /usr/share/doc/john/. Par exemple je vous conseille de lire les exemples :

zcat /usr/share/doc/john/EXAMPLES.gz |less

ET SURTOUT, pensez à supprimer l'utilisateur créé pour vos tests et toutes les copies du fichier shadow que vous auriez pu faire !

lundi 23 octobre 2006

logwatch : surveiller ses log par email

Surveiller ses fichiers de log est une activité nécessaire[1] mais bien souvent rébarbative.
De nombreux programmes existent pour nous faciliter la tâche. On peux par exemple citer KSytemLog installé par défaut sur votre Kubuntu. Mais le propre de ces programmes est d'être exhaustifs. De plus ils demandent une action de votre part, à savoir : penser à aller les regarder ;)

Je vais vous présenter un moyen d'obtenir tous les jours par mail une synthèse des fichiers de log. Cela vous permettra de voir facilement les problèmes et de décider à bon escient d'aller voir plus de détails.

Pre-requis : recevoir les mails locaux

Si vous possédez déjà une configuration vous permettant de recevoir les mails en local[2] vous pouvez sauter cette partie. Sinon, nous allons voir comment les recevoir simplement. Pour cela, nous ne configurerons pas un serveur de mails complet, mais nous allons utiliser les serveurs de votre FAI. Vous pourrez alors transférer vos mails locaux vers n'importe quelle adresse email.

Nous allons nous placer dans ce cas : Architecture

Commençons par installer ce qui est nécessaire :

sudo apt-get install mailx

Cela devrait aussi vous installer postfix. Lors de la configuration du paquet répondez ainsi :

Internet par un FAI
LeNomDeVotreMachine
smtp.fai.fr

Certains FAI demandent que l'adresse expéditeur d'un mail soit valide[3]. Nous allons pour cela utiliser un nom de domaine dynamique, tel que fourni par exemple par dyndns. Editez le fichier /etc/postfix/main.cf en tant que root et modifiez les lignes ainsi :

relayhost = smtp.fai.fr # normalement deja fait
myorigin = /etc/mailname
mydestination = LeNomDeVotreMachine.mon.domaine.dyndns.com, localhost.mon.domaine.dyndns.com, localhost

Le fichier /etc/mailname doit contenir LeNomDeVotreMachine.mon.domaine.dyndns.com
Enfin nous allons indiquer vers quelle adresse relayer les mails de votre utilisateur local :

sudo vi /etc/aliases

# Added by installer for initial user
root: MonUtilisateur
# ajoutez la ligne :
MonUtilisateur: nom.prenom@fai2.fr

Puis pour prendre en compte les modifications :

sudo newaliases
sudo invoke-rc.d postfix reload

Vous pouvez maintenant tester votre configuration : icone

mail MonUtilisateur
...
^D
# voir les mails en cours d'envoi :
mailq
# voir les logs d'envoi :
tail /var/log/mail.info

Lisez le avec votre client de mail habituel pour nom.prenom@fai2.fr

logwatch pour synthétiser les logs

Logwatch est une petite application permettant d'analyser les logs de nombreux service et de produire un rapport synthétique. Le nombre de services connus est impressionnant[4] et il est assez facile d'en ajouter de nouveaux.

Pour l'installer, faîtes simplement :

sudo apt-get install logwatch

Vous pouvez voir qu'il se lancera touts les jours grâce au fichier /etc/cron.daily/00logwatch.

Et voila ! Vous avez maintenant un système de suivit de logs fonctionnel.

Un exemple, un exemple !

Vous recevrez tous les jours par mail, un petit rapport qui devrait ressembler à cela :

Les fichiers ont été rendus anonymes

Configuration "avancée" de logwatch

Plusieurs répertoires sont utilisés pour la configuration :

  1. /usr/share/logwatch/default.conf/ : pour la configuration générique
  2. /usr/share/logwatch/dist.conf/ : pour la configuration spécifique à Ubuntu
  3. /etc/logwatch/ : pour la machine en elle-même, c'est la que vous ferez votre propre configuration

Sans entrez dans les détails, vous trouverez plusieurs niveaux de configuration :

  • configuration de l'application : logwatch.conf
  • emplacement des fichiers de log : logfiles/*.conf
  • paramètres spécifiques à un service à surveiller : services/*.conf

Je vous invite à aller lire la documentation très complète, soit en ligne soit en utilisant la commande suivante :

zcat /usr/share/doc/logwatch/HOWTO-Customize-LogWatch.gz |less

Comme exemple, voyons comment augmenter les détails de l'analyse puis comment ajouter les logs de Cherokee à la place de ceux d'Apache :

sudo vi /etc/logwatch/conf/logwatch.conf
# ajouter la ligne :
Detail = High

Cette ligne remplace Detail = Med de /usr/share/logwatch/dist.conf/logwatch.conf qui remplace elle-même la ligne Detail = Low de /usr/share/logwatch/default.conf/logwatch.conf :)

icone Puis pour remplacer les fichiers de logs d'Apache par ceux de Cherokee créez le fichier suivant :

sudo vi /etc/logwatch/conf/override.conf
 # logfile for http if we use cherokee
logfiles/http: LogFile =
logfiles/http: LogFile = cherokee.error
logfiles/http: LogFile = cherokee.access
logfiles/http: LogFile = cherokee/*.error
logfiles/http: LogFile = cherokee/*.access
logfiles/http: Archive =
logfiles/http: Archive = cherokee.access.*.gz
logfiles/http: Archive = cherokee.error.*.gz
logfiles/http: Archive = cherokee/*.access.*.gz
logfiles/http: Archive = cherokee/*.error.*.gz

Pour tester la configuration de logwatch, vous pouvez utiliser une commande de ce genre :

logwatch --print --detail high --service http --range today

Je vous renvoi vers la page de man pour de plus amples détails.

Il vous reste maintenant le plus compliqué : lire vos mails tous les jours ;)

Notes

[1] en particulier si l'on fait tourner un serveur accessible sur internet

[2] càd envoyés aux utilisateurs locaux de votre machine

[3] au sens des RFC

[4] pour s'en convaicre, allez voir le répertoire /usr/share/logwatch/default.conf/services/

dimanche 15 octobre 2006

Sondage Ubuntu

Me voila un peu en retard !

Dépéchez vous de participer au Sondage Ubuntu proposé par le Team Marketing. Cela prend peu de temps et il ne reste qu'une journée !
Plus d'infos sur le Wiki de Ubuntu

via Ploum sur LinuxFr

samedi 14 octobre 2006

Bon anniversaire ... KDE

10 ans, jours pour jours que Matthias Ettrich demandait des bonnes volontés pour la création d'un environement de bureau pour Linux qui soit unifié et au service des utilisateurs.

The Kool Desktop Environement

Quelques dates clefs :

  • 14 Octobre 1996 : création du projet. Vous pouvez lire son acte de naissance (long)
  • 12 Juillet 1998 : Version 1.0 ( Annonce)

Capture

  • 23 Octobre 2000 : Version 2.0 (Annonce)

Capture

  • 3 Avril 2002 : Version 3.0 (Annonce)

Capture

  • 2 Aout 2006 : version 3.5.5 (Annonce)
  • Un jour futur : version 4.0 (Roadmap)

Retrouvez toutes les dates sur Wikipedia

Aujourd'hui KDE se porte au mieux, le pseudo-troll sur sa non-liberté est mort, son utilisation est répendue et son avenir assuré et 'très' prometteur. Bref, 10 ans l'age de raison ou de domination ? ;)

PS: il y a aussi une fête de prévue.

jeudi 12 octobre 2006

KDE 3.5.5

iconeVoici venue une nouvelle version de maintenance de KDE. Celle-ci corrige un certain nombre de bugs et ajoute quelques fonctionnalités. Je recopie une partie de l'annonce officielle :

  • Version 0.12.3 de Kopete, remplace la version 0.11.3 dans KDE 3.5.4. Elle comprend la prise en charge des thèmes Adium avec une amélioration de la performance et une meilleure gestion pour les protocoles Yahoo! et Jabber.
  • Prise en charge de sudo dans kdesu.
  • Gestion des "input shape" de XShape1.1 dans KWin (gestionnaire des fenêtres de KDE).
  • Plusieurs améliorations de rapidité et correctifs dans le moteur de rendu HTML de Konqueror : KHTML.
  • Prise en charge de CUPS 1.2 dans KDEPrint.
  • Améliorations dans l'interface pour les traductions : Chinois traditionnel, Farsi, Khmer, Bas Saxon et Slovaque.

Pour plus de détails, allez voir le changelog

Les paquets sont disponibles pour votre distribution préférées. Les détails sont sur le site Kubuntu En résumé :

  • Ajouter la clef de j. Riddell
wget http://people.ubuntu.com/~jriddell/kubuntu-packages-jriddell-key.gpg
sudo apt-key add kubuntu-packages-jriddell-key.gpg
  • Ajouter le dépot à votre source.list
deb http://kubuntu.org/packages/kde-355 dapper main # ou alors
deb http://kubuntu.org/packages/kde-latest/ dapper main # pour être toujours à jour
  • Mettre à jour
sudo apt-get update
sudo apt-get upgrade

Edit: Et voila, ca ne valait pas le coup de mettre le bazard dans ses dépendances, Kopete est maintenant disponible dans les dépôts pour dapper. Un simple oubli bien vite réparé.

lundi 9 octobre 2006

Un point sur le multi-ecran

Introduction

Nous allons voir dans ce billet comment utiliser deux écrans, mais d'une manière un peu particulière puisque ma carte graphique n'a qu'une seule sortie[1] ! L'astuce est simple, il s'agit d'ajouter une 2ème carte graphique et de configurer Xorg de manière à utiliser les deux pour le même bureau.

Avant de se lancer dans les manipulations que nous allons voir, il est fortement conseillé de :

  • ne pas avoir peur de la ligne de commande (vous allez la visiter)
  • de savoir configurer un serveur Xorg (dpkg-reconfigure, xorg.conf)
  • de connaitre un éditeur en mode texte (vi, nano...)
  • et d'avoir du temps et de la patience devant soit :)

Enfin, avant de vous lancer, lisez tout pour bien comprendre la procédure, allez lire les liens (surtout celui-la) et mémorisez les moyens de s'en sortir. Disposer d'un autre pc avec accès internet n'est pas une mauvaise chose.

DualDesktop, Xinerama ... késako ?

Commençons par définir rapidement les termes que vous allez rencontrer dans ce billet :

DualDesktop, multi-bureau

Vous avez deux bureaux différents, un sur chaque écran. La souris peut se déplacer de l'un à l'autre, mais pas les applications (impossible d'étaler Gimp sur les deux écrans[2]). Vous disposez de deux barres de tâches, deux menus ...

DualScreen, multi-écran, bureau étendu

Vous disposez d'un seul bureau qui occupe les deux écrans. Les applications peuvent déborder de l'un à l'autre et vous ne disposez que d'une barre de tâches. Xinerama est un mode qui permet cela.

Le mode Clone

Ce mode permet de dupliquer votre bureau sur deux écrans. Il est utile pour les portables ou pour faire de la videoprojection par exemple.

Carte Video avec deux sorties

Evoquons tout de même cette possibilité. Certaines cartes disposent d'une double sortie graphique (par exemple VGA/DVI).
Si votre carte est une nvidia, je vous renvois vers le TwinView Wiki Ubuntu-fr ou vers le récent article de Racoon publié sur ce même planet.

Si votre carte est une ATI, deux possibilités s'offrent à vous :

  • avec les drivers propriétaires[3] (fglrx) voyez du coté de Big-Desktop et aticonfig
  • avec les drivers libres (ati/radeon), renseignez-vous sur MergeFB

Dans tous les cas, allez lire ce très bon tutorial sur ubuntuforum

Notons enfin que seul ce genre de cartes permettent d'avoir une accéleration 3D en même temps que deux écrans.

Deux cartes graphiques

La carte que vous allez ajouter à votre PC n'a pas besoin d'être une foudre de guerre. Elle ne servira qu'en 2D sur un écran généralement plus petit. Une vieille carte PCI avec 4 ou 8Mo sera largement suffisante. J'ai acheté une S3 Virge sur eBay pour 6€ port compris.
Attention si vous envisagez une Matrox, voyez ci-dessous
Dans ce billet nous utiliserons :

  • ATi Radeon 9000/PRO en AGP avec le driver libre radeon
  • S3 Virge/DX 4Mo en PCI avec le driver libre s3virge

La nouvelle carte

Pour tester votre nouvelle carte, le plus simple est de l'utiliser d'abord en tant que carte unique. Cela nous permettra aussi de faire la configuration Xorg pour celle-ci.

Attention : Commencez par sauvegarder votre fichier de configuration actuel ! Nous allons tout casser !

cd /etc/X11
sudo cp xorg.conf xorg.conf.MonoScreen_Radeon

Copiez le ailleur pour prévenir toute erreur de manipulation. Voyez aussi ci-dessous la section En cas de problème.

Configurez votre BIOS pour qu'il prenne une carte PCI comme adaptateur graphique principal (plutôt que AGP). Chez moi c'est dans :

  • PNP Configuration
  • Primary Graphic Controler
  • PCI ou AGP

Démarrez alors normalement. Si tout se passe bien, Ubuntu va détecter le nouveau materiel et configurer Xorg pour qu'il utilise cette nouvelle carte[4]. Si non, rebootez en recovery mode et reconfigurez votre serveur X :

dpkg-reconfigure xserver-xorg
reboot

Vous devez alors avoir l'interface graphique sur votre deuxième écran uniquement.
Copiez la nouvelle configuration :

cd /etc/X11
sudo cp xorg.conf xorg.conf.MonoScreen_S3

Mixons donc tout cela

Vous avez donc deux fichiers mono-écran que nous allons regrouper en un fichier multi-écrans. Créez en un nouveau à partir d'un :

sudo cp xorg.conf.MonoScreen_Radeon xorg.conf.DualScreen_Radeon_S3

Il y a 4 sections qui sont utiles dans notre cas :

  • Device : La carte graphique
  • Monitor : L'écran
  • Screen : Le câble entre les deux :)
  • ServerLayout : L'organisation de notre serveur

Recopiez intelligement ces sections d'un fichier à l'autre. Vous devez obtenir quelque chose qui ressemble à cela mais sur une seule colonne (Attention, j'ai enlevé la majorité des lignes pour ne garder que l'esprit du fichier !) :

# Les cartes graphiques
Section "Device"                    Section "Device"
   Identifier "Radeon 9000"           identifier "S3 Inc. ViRGE/DX"
   Driver     "radeon"                driver     "s3virge"
   BusID      "PCI:1:0:0"             busid     "PCI:0:9:0"
EndSection                          EndSection

# Les ecrans ( Attention aux fréquences ! )
Section "Monitor"                    Section "Monitor"
  identifier  "DPlus 230SB"            identifier  "Flatsys"
EndSection                           EndSection

# Les liens entre tout cela : Carte/Ecran
Section "Screen"                    Section "Screen"
  Identifier "Ecran de gauche"        Identifier "Ecran de droite"
  Device     "Radeon 9000"            Device     "S3 Inc. ViRGE/DX"
  Monitor    "DPlus 230SB"            Monitor    "Flatsys"
EndSection                          EndSection

# L'aspect général de notre serveur Xorg
Section "ServerLayout"
  Identifier "Default Layout"
  Screen 0 "Ecran de gauche" 0 0
  Screen 1 "Ecran de droite" rightof "Ecran de gauche"
  # rightof peux être remplacé, voir : man xorg.conf
EndSection

Note: les identifiants Screen X dans la section Device, souvent préconisés ne sont nécessaire qu'en cas de carte avec deux sorties

Je met à disposition tous les fichiers que j'ai fait au fur et à mesure de mes tests. Ils devraient tous fonctionner, mais je ne garantis rien. Lisez le readme.

Redemarrez Xorg, vous devez alors avoir deux bureaux ! Votre ancien sur l'écran de gauche et un nouveau à droite. Pour avoir un bureau étendu, ajouter ces lignes :

Section "ServerFlags"
  option     "Xinerama" "true"
EndSection

Et mon ancienne Matrox ?

Je dispose d'une Millenium I[5] de bien meilleure qualité qu'une S3. Malheureusement elle n'est pas au mieux pour le dual screen :

  • il FAUT que la carte principale soit PCI, donc le PC boot sur le 2ème écran
  • l'extension Xvideo n'est pas supportée par cette génération, donc pas de video sur le 2ème écran

Bref c'esr rédibitoire :(

Les Scrinechoutes

Et pour ceux qui ont eu le courage d'aller jusque la, voici quelques images :
D'abord une photo des deux écrans en mode bureau étendu. Remarquez la vidéo à cheval sur les deux : Capture Et la capture d'écran correspondante[6]. On remarque une zone noire innaccessible situé en dessous de l'écran de droite. En effet, celui-ci à une résolution moindre que l'autre. Capture Enfin, les même en mode DualDesktop : Capture

En cas de problème

De multiples problèmes peuvent apparaître au cours de ces manipulations. Il serait étonnant que vous ayez Xorg qui fonctionne tout au long de vos tests. Voici donc quelques pistes :

  • Pour restaurer votre configuration originale :
cd /etc/X11
sudo cp xorg.conf.MonoScreen_Radeon xorg.conf
  • si possible ayez un autre PC connecté au réseau. Il est très agréable de garder un éditeur (Kate) ouvert avec le xorg.conf et le fichier de log. De même google et les forums de ubuntu-fr sont vos amis
  • Les logs de Xorg sont dans /var/log/Xorg.0.log et /var/log/Xorg.0.log.old. Pour en extraire les lignes d'erreurs utilisez :
grep -E "WW|EE" /var/log/Xorg.0.log
  • Pour tester votre (non) acceleration graphique :
glxinfo |grep rendering
glxgears -printfps
  • Pour reconfigurer votre serveur Xorg, rebootez en recovery mode à partir du menu de Grub et entrez
dpkg-reconfigure xserver-xorg
  • Vous n'avez pas besoin de redémarrer votre PC à chaque fois, Ctrl+Alt+Backspace tue votre serveur X. sudo pkill kdm[7] vous renvoi vers la ligne de commande tapez alors startx pour repartir
  • Pour lister les cartes graphiques et leurs identfiant PCI (pour BusId) :
lspci |grep VGA  # ou
Xorg -scanpci
  • Conservez vos fichiers MonoScreen, la prochaine fois que vous voudrez de la 3D, vous y reviendrez ;)

Liens connexes

Pour aller plus loin :

Notes

[1] si l'on omet la sortie TV

[2] en fait je crois que c'est un mauvais exemple, il semble que justement Gimp le permet

[3] C'est mal ;)

[4] votre ancien fichier est alors automatiquement sauvegardé

[5] ma 1ère belle carte graphique :)

[6] réalisée avec Ksnapshot

[7] ou gdm

lundi 2 octobre 2006

Jeux pour les nostalgiques

Pour rester dans la petite thématique jeux qui a cours sur le planet ces derniers temps, je voulais vous faire ressortir vos vieilles disquettes du temps de dos.

De nombreuses solutions existent pour faire fonctionner des programmes dos sous Linux. Il y a bien sur le très connu Wine (surtout pour windows) ou le nom moins célèbre FreeDOS qui lui est un système d'exploitation à part entière[1]. Il faut bien entendu aussi évoquer Cedega une couche d'émulation payante.

Une autre solution est dosbox. Elle à la particularité d'être très facile à mettre en place.
Je ne vais pas détailler l'installation et la configuration, mais vous renvoyer vers le Wiki qui dispose d'un article très bien fait.
Vous souvenez-vous de cet excellent jeux ?

Capture ecran

Enfin, si comme moi vous étiez fan de point-and-click et en particulier des jeux Lucas Arts il vous faut essayer scummvm un environnement libre permettant d'éxecuter ceux ci sans passer par une émulation DOS.
Aaaah Sam & Max Hit the road ...

Capture ecran

Et si vos disquettes d'origines ne sont plus lisibles, jetez un oeil du coté de l'AbandonWare

Notes

[1] nécessite un redémarrage, à moins de le faire tourner dans Bochs ou Qemu ;)