Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

GLPI version 0.80

Remi Collet

GLPI (Gestionnaire Libre de Parc Informatique) version 0.80.4 est sorti. Lire les annonces : 0.80, 0.80.1, 0.80.2, 0.80.3 et 0.80.4. Les RPM sont disponibles dans le dépôt remi.

Il s'agit d'une version majeure très orientée ITIL (implémentation des SLA, notamment)

La documentation est disponible au format PDF : glpidoc-0.80.1.pdf La version 0.78.x n'est plus maintenue et la version 0.80.x est désormais stable, et les principales extensions sont disponibles.Actuellement, dans le dépôt : glpi-0.80.4-1 glpi-appliances-1.7.0-1 glpi-data-injection-2.1.0-1 glpi-fusioninventory-2.4.0-1... Lire GLPI version 0.80

PHP et les extensions PECL pour ZTS

Remi Collet

PHP est disponible pour apache en mode prefork et worker. Fedora ne fournit aucune extension (ce qui le rend inutilisable).

Depuis la version 5.3.1 les extensions pour ZTS (mode worker) sont disponibles dans mon dépôt. Désormais les extensions PECL pour ZTS le sont également.

Attention : les extensions, ou les bibliothèques liées, ne sont pas toutes sécurisées pour ce mode (thread-safe) ce qui peut provoquer des plantages. Depuis la version 5.3.8-5, j'ai modifié le contenu du paquet php-devel afin de fournir les éléments nécessaires à la construction des extensions PECL pour le mode ZTS : /usr/bin/php-zts/php-config... Lire PHP et les extensions PECL pour ZTS

fail2ban : punir les récidivistes

Fabien Nicoleau

Fail2ban permet de bannir des adresses IP tentant de s'attaquer à votre système. Elles sont repérées grâce aux fichiers de log des différents services. Fail2ban les consulte et agit en fonction des expressions régulières qui lui sont données, et d'une tolérance d'erreurs donnée.

Les "bans" ont une durée, mais parfois on se rend compte qu'aussitôt son ban terminé, une adresse tente de nouveau de s'attaquer au système. Une solution simple peut être de mettre une rêgle permanante avec iptables, ce qui règlera définitivement le problème. Cependant cette solution ne me convient pas totalement car je n'aime pas le fait d'ajouter des règles à iptables qui ne seront peut être pas toujours utiles (l'attaquant peut s'arrêter, ou son adresse peut changer). De plus, j'aime assez l'idée qu'un serveur puisse être un minimum autonome. Si je ne consulte pas les logs de mon serveur pendant 1 mois et que je ne me rend pas compte qu'une adresse m'attaque à longueur de journée, mon serveur risque d'être en danger.

Pour régler ce problème, il suffit de créer un jail dans fail2ban qui scrutera son propre log. Ainsi il sera possible de bannir pour une très longue durée une IP qui déjà été bannie plusieurs fois. Cette technique est expliquée dans un article en anglais, je propose ici une explication en  français.

La première chose à faire est de créer un filtre, qu'on placera dans /etc/fail2ban/filter.d/fail2ban-recidivist.conf . En voici le contenu :

[Definition]
failregex = fail2ban.actions: WARNING \[(.*)\] Ban <HOST>
ignoreregex = fail2ban.actions: WARNING \[fail2ban-recidivist\] Ban <HOST>

La ligne du failregex indique la regex qui permettra de repérer les lignes de ban dans le fichier de log de fail2ban. La dernière ligne permet d'ignorer les bans ajoutés par notre nouvelle règle. Cela évitera de les comptabiliser et donc de fausser le nombre de bans à prendre en compte pour une IP. Notez ici que nous ignorons les bans pour le jail fail2ban-recidivist. Si vous changez le nom du jail, pensez aussi à modifier le filtre pour que l'ignoreregex soit correcte.

Il faut ensuite ajouter un jail dans le fichier /etc/fail2ban/jail.conf, dont voici la définition :

[fail2ban-recidivist]
enabled  = true
filter   = fail2ban-recidivist
action   = iptables-allports[name=recidivist]
logpath  = /var/log/messages
maxretry = 5
# 1 semaine
findtime = 604800
# 1 semaine
bantime  = 604800

Comme pour les autres jails, on indique ici le nom du filtre utilisé (et dont nous avons donné la définition précédemment), l'action à effectuer (je choisis ici de bannir sur tous les ports l'attaquant, et de passer le nom "recidivist" à iptables pour la règle. Il serait aussi possible, voir même judicieux, d'envoyer un e-mail pour vous prévenir de ce ban particulier grâce à l'action sendmail-whois), le fichier de log à scruter, qui est pour ce jail celui de fail2ban (qui utilise SYSLOG dans mon cas), le nombre de tentatives infructueuses, la plage de temps sur laquelle on fait le décompte, et enfin le temps de banissement.

Pour ce cas précis, je bannis pendant une semaine une personne qui a déja été bannie 5 fois durant la dernière semaine par d'autres règles. Sachant que chaque règle a elle aussi un nombre de tentatives d'essais (3 par défaut), cela donne tout de même une bonne tolérance.

Il faut noter que si vous utilisez une action qui ne prend pas en compte de nom (ici recidivist), et qui enregistre simplement l'adresse IP, ce système ne fonctionnera pas. En effet, si une personne est bannie parce qu'elle a essayé de s'authentifier sans succès plusieurs fois, pour une durée d'un jour, et qu'ensuite ce jail bannit l'IP pour une semaine, au bout d'une journée, le premier ban sera retiré, l'IP donc retirée, et le ban d'une semaine annulé. Ce problème n'apparait pas avec iptables car il prend en compte le nom de l'action, et ne confond donc pas les bans. En revanche, cela semble pouvoir se produire avec ipfw, hostsdeny et shorewall.

Voilà grâce à cette règle un serveur un peu plus autonome, qui sévira de façon plus dure s'il est attaqué trop souvent par la même personne.


Fabien (eponyme)

fail2ban : punir les récidivistes

Fabien Nicoleau

Fail2ban permet de bannir des adresses IP tentant de s'attaquer à votre système. Elles sont repérées grâce aux fichiers de log des différents services. Fail2ban les consulte et agit en fonction des expressions régulières qui lui sont données, et d'une tolérance d'erreurs donnée.

Les "bans" ont une durée, mais parfois on se rend compte qu'aussitôt son ban terminé, une adresse tente de nouveau de s'attaquer au système. Une solution simple peut être de mettre une rêgle permanante avec iptables, ce qui règlera définitivement le problème. Cependant cette solution ne me convient pas totalement car je n'aime pas le fait d'ajouter des règles à iptables qui ne seront peut être pas toujours utiles (l'attaquant peut s'arrêter, ou son adresse peut changer). De plus, j'aime assez l'idée qu'un serveur puisse être un minimum autonome. Si je ne consulte pas les logs de mon serveur pendant 1 mois et que je ne me rend pas compte qu'une adresse m'attaque à longueur de journée, mon serveur risque d'être en danger.

Pour régler ce problème, il suffit de créer un jail dans fail2ban qui scrutera son propre log. Ainsi il sera possible de bannir pour une très longue durée une IP qui déjà été bannie plusieurs fois. Cette technique est expliquée dans un article en anglais, je propose ici une explication en  français.

La première chose à faire est de créer un filtre, qu'on placera dans /etc/fail2ban/filter.d/fail2ban-recidivist.conf . En voici le contenu :

[Definition]
failregex = fail2ban.actions: WARNING \[(.*)\] Ban <HOST>
ignoreregex = fail2ban.actions: WARNING \[fail2ban-recidivist\] Ban <HOST>

La ligne du failregex indique la regex qui permettra de repérer les lignes de ban dans le fichier de log de fail2ban. La dernière ligne permet d'ignorer les bans ajoutés par notre nouvelle règle. Cela évitera de les comptabiliser et donc de fausser le nombre de bans à prendre en compte pour une IP. Notez ici que nous ignorons les bans pour le jail fail2ban-recidivist. Si vous changez le nom du jail, pensez aussi à modifier le filtre pour que l'ignoreregex soit correcte.

Il faut ensuite ajouter un jail dans le fichier /etc/fail2ban/jail.conf, dont voici la définition :

[fail2ban-recidivist]
enabled  = true
filter   = fail2ban-recidivist
action   = iptables-allports[name=recidivist]
logpath  = /var/log/messages
maxretry = 5
# 1 semaine
findtime = 604800
# 1 semaine
bantime  = 604800

Comme pour les autres jails, on indique ici le nom du filtre utilisé (et dont nous avons donné la définition précédemment), l'action à effectuer (je choisis ici de bannir sur tous les ports l'attaquant, et de passer le nom "recidivist" à iptables pour la règle. Il serait aussi possible, voir même judicieux, d'envoyer un e-mail pour vous prévenir de ce ban particulier grâce à l'action sendmail-whois), le fichier de log à scruter, qui est pour ce jail celui de fail2ban (qui utilise SYSLOG dans mon cas), le nombre de tentatives infructueuses, la plage de temps sur laquelle on fait le décompte, et enfin le temps de banissement.

Pour ce cas précis, je bannis pendant une semaine une personne qui a déja été bannie 5 fois durant la dernière semaine par d'autres règles. Sachant que chaque règle a elle aussi un nombre de tentatives d'essais (3 par défaut), cela donne tout de même une bonne tolérance.

Il faut noter que si vous utilisez une action qui ne prend pas en compte de nom (ici recidivist), et qui enregistre simplement l'adresse IP, ce système ne fonctionnera pas. En effet, si une personne est bannie parce qu'elle a essayé de s'authentifier sans succès plusieurs fois, pour une durée d'un jour, et qu'ensuite ce jail bannit l'IP pour une semaine, au bout d'une journée, le premier ban sera retiré, l'IP donc retirée, et le ban d'une semaine annulé. Ce problème n'apparait pas avec iptables car il prend en compte le nom de l'action, et ne confond donc pas les bans. En revanche, cela semble pouvoir se produire avec ipfw, hostsdeny et shorewall.

Voilà grâce à cette règle un serveur un peu plus autonome, qui sévira de façon plus dure s'il est attaqué trop souvent par la même personne.


Fabien (eponyme)

Dennis Ritchie : mort du père de l’informatique d’aujourd’hui.

Sébastien Natroll On en a fait des tas avec Steve Jobs. Génie, visionnaire, véritable père pour certains, aujourd’hui je voudrais rendre hommage à un homme de l’ombre, un homme dont l’œuvre est immense tant elle a influencé l’informatique telle qu’elle existe aujourd’hui. Cet homme est Dennis Ritchie. Pour les étudiants en informatique, ce nom rappelle vaguement quelque La suite >

Dennis Ritchie : mort du père de l'informatique d'aujourd'hui.

Sébastien Natroll On en a fait des tas avec Steve Jobs. Génie, visionnaire, véritable père pour certains, aujourd’hui je voudrais rendre hommage à un homme de l’ombre, un homme dont l’œuvre est immense tant elle a influencé l’informatique telle qu’elle existe aujourd’hui. Cet homme est Dennis Ritchie. Pour les étudiants en informatique, ce nom rappelle vaguement quelque La suite >

fail2ban : classement des IP les plus bannies

Fabien Nicoleau

J'utilise depuis très longtemps fail2ban, qui permet de bannir des IP générant trop d'erreurs (le plus souvent des échecs d'authentification). Il se base sur les logs des différents services et des expressions régulières pour retrouver les tentatives et les bannir.

Je m'y suis un peu plus intéressé ces derniers temps car j'ai été attaqué par des scripts vraiment insistants (ce sera l'objet d'un prochain billet). Dans un premier temps, j'ai voulu obtenir une liste des adresses bannies, avec le nombre de fois, afin de déceler des "récidivistes". Voici la commande utilisée (fail2ban log avec SYSLOG sur mon serveur) :

cat /var/log/messages|grep Ban|awk '{print $7" "$9}'|sort|uniq -c|sort -r

Voici l'explication de la commande :

  • cat : affichage du fichier de log
  • grep Ban : on ne conserve que les lignes concernant un bannissement
  • awk : on extrait simplement les 7ème et 9ème parties, c'est à dire le "jail" utilisé pour le ban, et l'IP bannie
  • un premier sort pour faire en sorte que les IP identiques soient listées les unes en dessous des autres
  • uniq -q : réunies les lignes communes et affiche devant le nombre de fois qu'elles apparaissent
  • un dernier sort (avec l'option reverse) pour faire un tri inverse

On se retrouve ainsi avec une liste indiquant le nombre de fois qu'a été bannie une IP, le jail utilisé et l'IP bannie, le tout dans l'ordre décroisant. Voici un exemple :

      8 [ssh-iptables] 188.138.98.75
      2 [apache-dfind] 93.174.2.202
      2 [apache-dfind] 81.196.179.210
      2 [apache-dfind] 217.70.51.154
      1 [ssh-iptables] 96.8.121.185
      1 [ssh-iptables] 87.106.132.104
      1 [ssh-iptables] 58.211.5.130
      1 [ssh-iptables] 221.207.229.6
      1 [ssh-iptables] 201.140.103.17

Le défaut de cette commande est que l'odre est faire sur du texte, et donc si une IP est bannie plus de 9 fois, elle apparaitra en bas, au lieu d'être en haut.

Cela permet cependant de repérer rapidement une IP trop "agressive" pour la bannir définitivement par exemple.


Fabien (eponyme)

fail2ban : classement des IP les plus bannies

Fabien Nicoleau

J'utilise depuis très longtemps fail2ban, qui permet de bannir des IP générant trop d'erreurs (le plus souvent des échecs d'authentification). Il se base sur les logs des différents services et des expressions régulières pour retrouver les tentatives et les bannir.

Je m'y suis un peu plus intéressé ces derniers temps car j'ai été attaqué par des scripts vraiment insistants (ce sera l'objet d'un prochain billet). Dans un premier temps, j'ai voulu obtenir une liste des adresses bannies, avec le nombre de fois, afin de déceler des "récidivistes". Voici la commande utilisée (fail2ban log avec SYSLOG sur mon serveur) :

cat /var/log/messages|grep Ban|awk '{print $7" "$9}'|sort|uniq -c|sort -r

Voici l'explication de la commande :

  • cat : affichage du fichier de log
  • grep Ban : on ne conserve que les lignes concernant un bannissement
  • awk : on extrait simplement les 7ème et 9ème parties, c'est à dire le "jail" utilisé pour le ban, et l'IP bannie
  • un premier sort pour faire en sorte que les IP identiques soient listées les unes en dessous des autres
  • uniq -q : réunies les lignes communes et affiche devant le nombre de fois qu'elles apparaissent
  • un dernier sort (avec l'option reverse) pour faire un tri inverse

On se retrouve ainsi avec une liste indiquant le nombre de fois qu'a été bannie une IP, le jail utilisé et l'IP bannie, le tout dans l'ordre décroisant. Voici un exemple :

      8 [ssh-iptables] 188.138.98.75
      2 [apache-dfind] 93.174.2.202
      2 [apache-dfind] 81.196.179.210
      2 [apache-dfind] 217.70.51.154
      1 [ssh-iptables] 96.8.121.185
      1 [ssh-iptables] 87.106.132.104
      1 [ssh-iptables] 58.211.5.130
      1 [ssh-iptables] 221.207.229.6
      1 [ssh-iptables] 201.140.103.17

Le défaut de cette commande est que l'odre est faire sur du texte, et donc si une IP est bannie plus de 9 fois, elle apparaitra en bas, au lieu d'être en haut.

Cela permet cependant de repérer rapidement une IP trop "agressive" pour la bannir définitivement par exemple.


Fabien (eponyme)

Mise à jour de quvi pour rawhide : éclatement des paquets

Fabien Nicoleau

Je paquage le logiciel "quvi" pour Fedora. Ce logiciel fournit une bibliothèque (libquvi) permettant de parser les vidéos des sites tels que youtube ou dailymotion (et beaucoup d'autres) ainsi qu'un outil (quvi) utilisant libquvi pour parser les vidéos. La dernière version, la 0.4.0, est maintenant divisée en 3 sources : libquvi (la bibliothèque), libquvi-scripts (les scripts lua utilisés par libquvi permettant de parser les sites) et quvi, l'utilitaire.

J'ai donc aujourd'hui fait les demandes de revue pour les paquets libquvi et libquvi-scripts. Je mettrai à jour quvi quand les deux dépendances auront été importées dans les dépôts:

Ces changements sont importants et ne seront donc effectués que dans rawhide.


Fabien (eponyme)

Mise à jour de quvi pour rawhide : éclatement des paquets

Fabien Nicoleau

Je paquage le logiciel "quvi" pour Fedora. Ce logiciel fournit une bibliothèque (libquvi) permettant de parser les vidéos des sites tels que youtube ou dailymotion (et beaucoup d'autres) ainsi qu'un outil (quvi) utilisant libquvi pour parser les vidéos. La dernière version, la 0.4.0, est maintenant divisée en 3 sources : libquvi (la bibliothèque), libquvi-scripts (les scripts lua utilisés par libquvi permettant de parser les sites) et quvi, l'utilitaire.

J'ai donc aujourd'hui fait les demandes de revue pour les paquets libquvi et libquvi-scripts. Je mettrai à jour quvi quand les deux dépendances auront été importées dans les dépôts:

Ces changements sont importants et ne seront donc effectués que dans rawhide.


Fabien (eponyme)

Richard Stallman : l’extrémiste de l’informatique.

Sébastien Natroll Je vois déjà les libristes grincer des dents et s’insurger contre le titre et l’image d’illustration de cet article. Les lecteurs habituels connaissent mon goût prononcé pour la provoc’, la critique gratuite et l’humour bancal. Pourtant, dans ce billet, je vais vous livrer sans détour mes impressions sur Richard Stallman, le « père » du logiciel libre. La suite >

J’aime pas Paris.

Sébastien Natroll Je passe par la capitale environ deux fois par mois. Quand je me rends en Corrèze (où je travaille), et quand je remonte dans ma région natale. Autant dire qu’entre la gare d’Austerlitz et la gare de l’Est, je ne vois pas grand chose de Paris. Je n’ai pas besoin de plus pour en être La suite >

Pourquoi le season premiere de la saison 6 de Dexter m’a déçu.

Sébastien Natroll N.B : Si vous ne l’avez pas vu, ne lisez pas cet article. Ça va spoiler sévère. Je vais peut-être me faire lyncher mais cela n’a pas d’importance. Je vous le dis clairement : j’ai été déçu. À l’heure où les fans de la première heure ont vu ce season premiere il y a déjà La suite >

php-pecl-mysqlnd-ms-1.1.0

Remi Collet

Le RPM Plugin de réplication Mysqlnd et de balance de charge est disponible dans le dépôt remi et en attente de revue pour fedora >= 16.

Cette extension pour mysqlnd permet de gérer la réplication de charge entre les serveurs maitre et esclaves, gérée par l'application ou de manière transparente. Site pecl : mysqlnd_ms Documentation : Plugin de réplication Mysqlnd et de balance de charge Revue pour fedora : Revue request #742729 Installation, après avoir replacé php-mysql par... Lire php-pecl-mysqlnd-ms-1.1.0

Thunderbird 7

Remi Collet

Le RPM de la nouvelle version du client de messagerie de la Fondation Mozilla est disponible dans le dépôt remi pour fedora ≤ 14 (rétro-portage de la version F-15).

Commencez par lire : Thunderbird Release Notes (Notes de version en anglais) Comme toujours : yum --enablerepo=remi update thunderbird\* Les extensions enigmail (version 1.3.2) et lightning (version 1.0b7) sont aussi disponibles. Les RPM de la version 7.0.1 sont disponibles ici pour fedora 12 à 14.... Lire Thunderbird 7

Au boulot, j’ai déjà préparé le poisson d’avril !

Sébastien Natroll C’est en bossant sur un script bash d’automatisation des tâches que m’est venu l’idée d’un petit script rigolo à exécuter le premier avril pour jeter un vent de panique similaire à celui qui souffle sur les bourses en ce moment. Avec la garantie de saturer nos postes téléphoniques… #!/bin/bash # Var à 1 pour une La suite >

1er Octobre

Remi Collet

C'est aujourd'hui le 1er Octobre. Même si votre calendrier vous raconte autre chose, c'est ma fête :) C'est en effet aujourd'hui la Saint Remi, sans accent, j'y tiens beaucoup. C'est la tradition à Reims de fêter Saint Remi à cette date, et lundi se déroulera, comme chaque année la grande braderie de la Saint Remi (sans accent) ou l'on pourra... Lire 1er Octobre

Archivage des fichiers cachés via TAR

Frédéric Thouin

Il est parfois fort utile d'archiver des fichiers cachés ( rien que nos fichier de configuration de nos petits softs adorés dans notre home directory )

Comme vous le savez les fichiers cachés commencent par un "."

Premier réflexe :

cd ~
tar czvf archive-dotfiles.tar.gz .*

Et la c'est le drame, TAR archive tous les fichiers de mon home....

Mais pourquoi tant de haine !!!! Et bien il faut réfléchir un petit peu à la structure même d'un répertoire et se souvenir des notions chemin relatif et absolut; et surtout, du répertoire courant (.) et répertoire parent (..)

Pour bien comprendre la commande d'avant : en mettant .* il devient maintenant évident que les fichier "." et ".." seront interprété et mis en archive par TAR. Hors si TAR prend le répertoire "." en archive, il va obligatoirement prendre son contenue ( TAR est récursif ) donc il prendra en plus des fichiers caché les autres fichiers. et il en ira de même avec l'interprétation du fichier "..".

Comment faire ?

TAR a la possibilité d'exclure des fichiers, et c'est la solution à mettre en place. Notre commande sera donc de la forme :

cd ~
tar czvf archive-dotfiles.tar.gz --exclude . --exclude .. .*

Firefox 7

Remi Collet

Les RPM de la nouvelle version du navigateur de la Mozilla Foundation sont disponibles dans le dépôt remi pour fedora.

A lire : Mozilla Firefox Release Notes (notes de version, en anglais) Installation : yum --enablerepo=remi update firefoxCe paquet utilise xulrunner7, qui s'installe à côté de celui par défaut. Remarque : ce RPM est très proche de celui de firefox 7 présent dans fedora 15/16 Les RPM sont disponibles pour fedora 12 à 14. Devrait aussi être... Lire Firefox 7

PHP: comportement de is_a()

Remi Collet

La fonction is_a() a changé de comportement dans les dernières versions de php. Quelques explications.

Dans la documentation, il est indiqué : bool is_a ( object $object , string $class_name ) Jusque la version php 5.3.6, si le premier argument était une chaine de caractère, le résultat n'était pas vraiment défini / documenté (on aurait pu s'attendre à une erreur sur l'appel), mais ça fonctionnait, et beaucoup d'applications ont utilisé ce... Lire PHP: comportement de is_a()

Page générée le 27 jan 2015 à 13:18