PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Yannic Arnoux : Configuration de Fail2Ban

lundi 10 août 2015 à 17:00

Après l'aspect de la sauvegarde je me suis attaqué à la sécurisation du serveur. C'est un vaste sujet et on n'est jamais certain d'être parfaitement protégé : on se documente et on essaie de parer à l'essentiel. Je recommande cet article publié sur Mes potes Geek qui dresse un panorama des outils couramment utilisés et leur mise en oeuvre. Un des piliers de la sécurisation d'un serveur GNU/Linux est l'outil Fail2Ban qui va surveiller les logs du serveur pour trouver des traces d'attaque et contre-attaquer en bannissant le malotru.

Techniquement, l'outil parse les logs systèmes ou applicatifs à grand coup d'expressions régulières et bloque les attaques avec le pare-feu iptable. Les règles de bannissement sont configurables : nombre de tentatives de connexions infructueuses, durée du bannissement. On peut facilement étendre Fail2Ban pour ajouter la surveillance d'une application maison pour peu qu'elle écrive dans un log les tentatives ratées de connexion et on peut aussi personnaliser les notifications. En standard, Fail2Ban envoie un e-mail à l'administrateur à chaque ban. En pratique, un petit serveur comme le mien bannit une quinzaine d'adresses IP par jour, essentiellement des tentatives ratées par SSH et c'est vite fastidieux de recevoir autant d'e-mails. Fail2Ban propose un envoi groupé, c'est à dire qu'il regroupe un nombre d'attaques paramétrable dans un seul e-mail. C'est mieux mais je suis habitué à configurer mes outils pour recevoir des rapports à fréquence fixe, journaliers ou hebdomadaires. N'ayant rien trouvé en standard, j'ai décidé d'étendre Fail2Bane avec mon propre script de configuration pour arriver au résultat voulu.

Sur Debian, la configuration est installée sous /etc/fail2ban. Dans ce répertoire, on va trouver /etc/failban/filter.d/ qui contient les filtres de détection et /etc/fail2ban/action.d/ qui contient les actions à appliquer. Le fichier de configuration principal est jail.conf mais on ne le modifie jamais (pour éviter de perdre les modifications lors des mises à jour de fail2ban). On préfère redéfinir les parties de la configurations modifiées dans un fichier jail.local. Pour rajouter une action personnalisée, on va donc rajouter un fichier d'action dans /etc/fail2ban/action.d et décrire quand et comment l'appliquer dans jail.local.

J'ai donc dupliqué le fichier d'action sendmail-buffered et je l'ai adapté pour créer sendmail-cron. Pourquoi CRON ? Et bien l'idée est la suivante : chaque bannissement est écrit dans un fichier temporaire par sendmail-buffered et quand le nombre de ligne configuré est atteint, ce fichier est envoyé par e-mail. Je conserve ce fonctionnement mais je change le déclencheur de l'envoi : ce n'est plus le nombre de lignes du fichier mais la présence d'un fichier mail.flag dans un certain répertoire qui conditionne l'envoi. Ce fichier mail.flag est créé par une tâche CRON. Ainsi, on délègue à CRON la configuration de la fréquence d'envoi du rapport.

Quant au fichier d'action, il est simple : on conserve les IP bannies dans un fichier temporaire avec le détail de l'opération (date de l'attaque, filtre concerné, IP source) et on regarde si on a le feu vert pour créer le rapport en testant la présence du fichier mail.flag. Si c'est le cas, on envoie le rapport puis on supprime le fichier temporaire et le fichier mail.flag. Voici le fichier /etc/fail2ban/action.d/sendmail-cron.conf complet :

# Fail2Ban configuration file
#
# Author: Yannic Arnoux
#         Based on sendmail-buffered written by Cyril Jaquier
#
#

[INCLUDES]

before = sendmail-common.conf

[Definition]

# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = printf %%b "Subject: [Fail2Ban] : started on `uname -n`
              From:  <>
              To: \\n
              Hi,\\n
              The jail  has been started successfully.\\n
              Regards,\\n
              Fail2Ban" | /usr/sbin/sendmail -f  

# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop = if [ -f  ]; then
                 printf %%b "Subject: [Fail2Ban] Report from `uname -n`
                 From:  <>
                 To: \\n
                 Hi,\\n
                 These hosts have been banned by Fail2Ban.\\n
                 `cat `
                 \\n,Regards,\\n
                 Fail2Ban" | /usr/sbin/sendmail -f  
                 rm 
             fi
             printf %%b "Subject: [Fail2Ban] : stopped  on `uname -n`
             From: Fail2Ban <>
             To: \\n
             Hi,\\n
             The jail  has been stopped.\\n
             Regards,\\n
             Fail2Ban" | /usr/sbin/sendmail -f  

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck =

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionban = printf %%b "`date`:  ban  after  failure(s)\\n" >> 
            if [ -f  ]; then
                printf %%b "Subject: [Fail2Ban] Report from `uname -n`
                From:  <>
                To: \\n
                Hi,\\n
                These hosts have been banned by Fail2Ban.\\n
                `cat `
                \\n,Regards,\\n
                Fail2Ban" | /usr/sbin/sendmail -f  
                rm 
                rm 
            fi

# Option:  actionunban
# Notes.:  command executed when unbanning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionunban =

[Init]

# Default name of the chain
#
name = default

# Default temporary file
#
tmpfile = /var/run/fail2ban/tmp-mail.txt

# Default flag file
#
mailflag = /var/run/fail2ban/mail.flag

Dans mon cas, la tâche CRON est journalière :

# fail2ban report
@daily touch /var/run/fail2ban/mail.flag.

Ceux qui suivent ont remarqué que mon rapport ne sera envoyé que sur un bannissement donc potentiellement longtemps après que la tâche CRON ait créé le fichier mail.flag. Je fais confiance à mes intrus et à leurs tentatives soutenues pour que ce rapport soit bien envoyé à une fréquence journalière ;-)

Il reste à configurer fail2ban pour utiliser cette nouvelle action. J'ai redéfini dans ma configuration jail.local les actions à appliquer sur détection d'attaque : d'abord on bloque, ensuite on informe :

action_mwlc = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
            %(mta)s-cron[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s", sendername="%(sendername)s"]
action = %(action_mwlc)s

Il reste à redémarrer Fail2Ban et à attendre l'envoi du prochain rapport.

Au fait, je reviens à peine de vacances où j'ai rencontré un postulant au rôle de mascotte de ce blog :D

Gravatar de Yannic Arnoux
Original post of Yannic Arnoux.Votez pour ce billet sur Planet Libre.

Tuxicoman : Fennec, un Firefox plus libre sur F-droid

lundi 10 août 2015 à 12:21

fennecUn fork de Firefox nommé « Fennec » a fait son apparition sur F-droid, le dépôt d’applications libres pour Android.

Il s’agit du code source de firefox auquel on a retiré du code non libre présent dans la version officielle compilée par Mozilla. Parmi les fonctionnalités enlevées, on peut noter : DRM de Cisco, rapporteur de crash, etc… Jetez un oeil à la recette de compilation de Fennec pour en savoir plus.

L’avantage pour l’utilisateur, c’est que le développeur prend les devants pour limiter le tracking et l’exécution de code non-libre dès l’installation par défaut. C’est bien plus sympa que le modèle où l’utilisateur doit lire des conditions d’utilisation de centaines de pages et fouiller dans les options avancées pour désactiver les mouchards (coucou Microsoft, Google, Facebook & co :-)

Les nouvelles versions de Fennec sont disponibles rapidement et il est probable, d’après l’annonce du mainteneur de la version officielle de Mozilla sur Fdroid, que seul Fennec sera désormais mis à jour sur F-droid et que la version officielle de Mozilla n’y soit plus disponible.

Mozilla possède la marque Firefox et refuse que des forks mineurs de son code source soient appelés sous le même nom. C’est pourquoi, cette compilation extirpée de modules non-libres a du être rebaptisée « Fennec » bien que la quasi totalité du code source soit identique à Firefox.

Du coté des distribution GNU, Debian a aussi sa version customisée de Firefox appelée Iceweasel pour patcher librement les corrections de sécurité.

J'aime(0)Ferme-la !(0)

Related Posts:

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Articles similaires

elementary OS : Maîtriser le temps avec Hourglass

lundi 10 août 2015 à 09:36

Sam Thomas vient d’annoncer la disponibilité de son application prévue pour elementary OS, Hourglass. Hourglass est une application horloge avec fonctions chronomètre, alarme et minuteur. Pour le moment seules les fonctionnalités des modes Chronomètre et Minuteur sont présentes, celles du mode Alarme ne sont pas encore complètement implantées. Bien évidemment, ce logiciel étant encore au stade de développement n’hésitez pas à reporter le moindre bug et/ou avis directement sur le site du projet sur Launchpad: https://bugs.launchpad.net/hourglass

Pour l’installation:

sudo add-apt-repository ppa:hourglass-team/hourglass-daily
sudo apt-get update
sudo apt-get install hourglass

C’est encore une version expérimentale et donc des bugs peuvent être présents. L’icônes n’est pas encore finalisée, l’actuelle n’est que temporaire.

Voici quelques captures postées par le développeur:

hourglass-timer-2

hourglass-timer-1

hourglass-stopwatch2

hourglass-stopwatch

hourglass-alarm-3

houglass-alarm

hourglass-about

Le billet Maîtriser le temps avec Hourglass a été publié sur le site de la elementary OS -

Gravatar de elementary OS
Original post of elementary OS.Votez pour ce billet sur Planet Libre.

François Boulogne : Don du mois : pdf2htmlEX

lundi 10 août 2015 à 00:00

Ce post s'inscrit dans la série des dons pour vous donner envie de contribuer même très modestement à des logiciels libres. Les petites pierres font les grands édifices.

Mes précédents dons étaient destinés à des projets. J'ai découvert très récemment pdf2htmlEX, un logiciel permettant de convertir un pdf en html avec une fidélité exceptionnelle. Le logiciel est d'ailleurs particulièrement adapté pour les équations.

Je tire du README quelques examples:

J'ai eu l'occasion de tester ce logiciel sur quelques uns de mes documents (produit avec LaTeX), et je suis bluffé par le résultat. Etant auto-hébergé, l'affichage progressif de l'html améliorera l'expérience utilisateur. C'est donc 7$ qui vont à l'auteur de ce projet ce mois-ci.

Gravatar de François Boulogne
Original post of François Boulogne.Votez pour ce billet sur Planet Libre.

Articles similaires

elementary OS : Theia, le pack d’icônes pour Android !

dimanche 9 août 2015 à 13:56

 

Le 30 juillet, sur la communauté Google+ officielle d’elementaryOS, est apparue Theia. Qu’est-ce que Theia ? Theia est un pack d’icônes qui s’inspire du design des icônes d’elementaryOS. Ce pack d’icônes et compatible avec la plupart des lanceurs Android (Nova, Apex, Go, …).

Theia dispose d’un site internet hébergé chez nos confrères russes où il a été développé. En plus de ressembler aux icônes de notre système préféré, Theia est gratuit et libre. Il dispose donc d’une page Github, de plus la puissance du libre permet à tous de contribuer au projet, nous pouvons donc ajouter des icônes au projet.

Voici le tutoriel pour installer Theia sur votre téléphone

Une fois Theia installé sur votre téléphone, il faut le définir comme pack d’icônes par défaut. Pour cela, vous allez dans les paramètres de votre launcher (Nova, Apex, Go, …) et vous sélectionnez Theia pour le mettre par défaut.

 

Capture d'écran - Theia

Et nous voilà avec nos jolies icônes !


Le billet Theia, le pack d’icônes pour Android ! a été publié sur le site de la elementary OS -

Gravatar de elementary OS
Original post of elementary OS.Votez pour ce billet sur Planet Libre.