Fail2ban ne se présente plus. – Quoi tu ne connais pas ?… Bon, c’est un daemon qui parse (surveille) les activités du système (logs) de différents services pour y trouver les tentatives d’accès infructueuses et bloquer l’accès afin d’éviter les kikous ou les attaques brute-force.

Je ne vais pas revenir ici sur l’installation ou la configuration du service, je vais plutôt ici vous partager mes observations.

Ma configuration

Action par défaut en cas de ban:

actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP

En gros on DROP complètement l’ip sur tout les ports dès qu’une attaque est détectée. C’est un peu hard mais ça me plaît.

Je surveille un maximum de service (SSH, HTTP, HTTPS, IMAP, SMTP,…)

Il y a pas mal de filtres qui se trouvent sur internet, notamment pour se protéger des scripts kiddies.

J’ai également remarqué que depuis que j’ai changés les ports par défaut des services/applications hébergées, j’ai beaucoup moins de tentative de connexion.

Parfait donc ? Bah je trouve qu’il y a quelques défauts tout de même.

Changer de ports n’est pas toujours faisable et ça ne bloque pas les attaques, ça offusque juste certains services ultra-connus.

Fail2ban est codé en Python, niveau performance du code on peut faire mieux. Le daemon consomme un peu de ressources mais ça en vaut la peine si on a pas mal de trafics sur les services ouverts.
Le projet est toujours maintenu sur github, par contre la version des dépôts est assez vielle. Préférez donc la stable release depuis github.

Je déconseille l’utilisation de fail2ban sur les VPS premiers prix car cela peut saturer le pauvre petit qui n’a déjà pas beaucoup de ressources. Analysez et testez en fonction de votre matériel, vos besoins et vos contraintes (trafic,…).

N’oubliez pas que fail2ban ne fait pas tout ! Bref rappel en sécurité système:

  • Changez les ports par défaut des services dès que vous le pouvez (SSH par exemple !)
  • Tenez votre serveur à jour.
  • Implémentez de la sécurité ou vous le pouvez – Préférez des protocoles sécurisés (HTTPS, IMAPS,…)
  • Vérifiez la configuration de vos services
  • Mettez en place de la sécurité au niveau du réseau – Utilisez iptables comme firewall maison par exemple.
  • Tenez VOUS à jour – Soyez au courant des dernières vulnérabilités et soyez prêts à patcher !

 

Docs fail2ban

Rapide présentation d’un outil que j’utilise pour monitorer et créer des alertes en cas d’attaques sur un serveur Linux.

C’est un script Bash qui va générer des statistiques avec les données de Fail2Ban et alerter si besoin.

https://github.com/drdada/Fail2banTools

Dat « Jeu de mot » :p

Bref, de nouveau moi! Et cette fois-ci avec une super technique de la mort qui tue pour pas se faire capter lorsqu’on télécharge des choses toute à fait légales comme Debian NetInstall par exemple 🙂

J’ai nommé le SSH Tunneling.

Déjà je remercie M4T pour m’avoir rapellé comment cela marchait ;). Ensuite je préviens que cette version est pour les semi-kikoo, c’est à dire pour les utilisateurs de Windows (Oui, si Windows sont les semi-kikoo, par abstraction qui sont les autres? Mystère 🙂 ).

En effet, pour cela nous allons utiliser le plus simple des programmes de SSH mais aussi le plus compet, j’ai nommé PuTTY. Pour ce petit tuto, il nous faudra:

– Un navigateur dédié à ça, c’est mieux 🙂 (Evitez IE de préférence car il a la facheuse tendance de foutre sa configuration par défaut pour tout le système.)

-Un serveur (hors France de préférence 😉 Ca serait balot de se faire cafter par Had**i :p )

– PuTTY, le bien nommé

– OpenSSH installé sur ce serveur.

Donc pour ma part, j’utilise un VPS Debian en France (Oui je sais, mais ya une bonne raison caché derrière cela 🙂 ), Waterfox (FF 64 bits) et un Windows 7 normal :p

C’est parti!

0. Je vous explique pas comment installer OpenSSH ni Waterfox. Rapellez-vous, vous n’êtes que des semi-kikoo :p Votre Grand amis est là 😉

1. Téléchargez PuTTY : http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

2. Lancez le et entrez l’adresse de votre VPS. Mettez lui un nom puis cliquez sur Save

tutossh1-1024x622

tutossh2

3. Ensuite, dans le menu à gauche, allez dans Connection > SSH> Tunnel

4. Mettez un numéro de port dans « Source Port », cochez « Dynamic » et cliquez sur « Add »

tutossh3

5. Revenez sur Session (tout en haut du menu), cliquez sur « Save », puis « Open ». Acceptez le certificat et vous y voila! Loggez-vous avec un utilisateur qui peut utiliser le net sur le serveur (root par exemple même si c’est pas une bonne idée ^^ )

tutossh4

6. Dans votre navigateur, ici WaterFox, allez à l’endroit ou se situe les options réseaux et mettez vos infos dans le champ proxy

tutossh5

7. Un petit coup de showip.net et hop vous pouvez être sur que cela fonctionne.

Note: Il faut garder PuTTY ouvert tout le long de l’opération 🙂

Voilà, c’est bon! 🙂 Par contre, si j’ai uniquement mentionné le téléchargement, les tunnels SSH ne servent pas qu’à ça: Ils protègent les données qui transitent à l’intérieur. Ceux qui regarderaient par hasard votre connexion y verraient une connexion vers quelque part, un flux de donnée, une « masse » de donnée, mais en aucun cas le contenu. Cela veut dire que cela peut être aussi bien le dernier film de vacance de Mamie Tromblon ou encore le code source super secret de Curiosity.

Vos données sont protégées, du moins, pour le moment…. 🙂

Phoenix