Bienvenue sur le forum technique internet et developpement Web - Experience Linux antispam antivirus, drivers etc. Pour me contacter, laissez un message sur le forum ou ecrivez moi sur alexandre arobase (contre le spam) inforeseau point com par exemple - Windev - Windev mobile - Windows
Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum Forum technique developpement, GNU Linux et logiciels, de l'ours
Forum d'echange et d'entre aide sur le developpement, GNU Linux
 
 Sujets surveillésSujets surveillés   FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Forum developpement logiciel et Internet - Support informatique
 
Bienvenue sur le forum informatique et internet.
N'hésitez pas à poser vos questions, à vous inscrire pour participer.
Ce forum a pour but de partager une base de connaissance ouverte à tous couvrant l'informatique et les réseaux, antivirus et anti spywares. On a pas de pognon, de moins en moins même, mais on a des idées !
Dans l'esprit du logiciel libre, et de l'accès pour tous à la connaissance, vous pouvez copier les informations présentes dans ce forum. Il sera cool de votre part de placer un lien en retour vers ce forum, mais ça n'est pas obligatoire.
 


Installer fail2ban sur serveur dedie ovh release 1


 
Poster un nouveau sujet   Répondre au sujet    Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum -> Experiences linux
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1159

MessagePosté le: Jeu Nov 29, 2007 11:54 pm    Sujet du message: Installer fail2ban sur serveur dedie ovh release 1 Répondre en citant

Marre de voir dans vos logs (/var/log/messages) des machines qui tentent tous les logins possibles et chargent votre serveur ?
Un solution : Fail2ban. ça analyse les logs, et au bout de X mauvais login/pass ça banni l'ip de la machine !
Le top pour degager les parasites ! Voici comment procéder :

Installer fail2ban sur dedié ovh release 1

Il nous faut python2.4.4 , car la version 1.xx d'origine est trop vieille :
Code:
wget http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tar.bz2
bunzip2 Python-2.4.4.tar.bz2
tar -xvf Python-2.4.4.tar


on rentre dans python 2.4.4

Code:
./configure
make
make install


//On va changer le python par defaut du systeme :
Code:
mv /usr/bin/python /usr/bin/python_old

//on fait un lien vers le nouveau
Code:
ln -s /usr/local/bin/python2.4 /usr/bin/python


On download fail2ban :
Code:
wget http://ovh.dl.sourceforge.net/sourceforge/fail2ban/fail2ban-0.8.1.tar.bz2
bunzip2 fail2ban-0.8.1.tar.bz2
tar -xvf fail2ban-0.8.1.tar


Edit du 11/08/2009 : Il y a une version plus récente de fail2ban avec des corrections de bug, utilisez la dernière version (à la date de la correction) :
http://downloads.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.3/fail2ban-0.8.3.tar.bz2
De manière générale il convient de toujours vérifier si une version plus récente n'est pas disponible, car les versions plus à jour contiennent des corrections de bugs et de failles de sécurité.

on va dans le dossier, la doc demande de faire un ./setup.py install, on tape :

Code:
python setup.py install


Et la tout se passe sans soucis.

//par defaut c'est installé dans le mauvais dossier (lié a la disrtib), pour que fail2ban ne soit pas perdu on fait 3 liens :
Code:
ln -s /usr/local/bin/fail2ban-client /usr/bin/
ln -s /usr/local/bin/fail2ban-regex /usr/bin/
ln -s /usr/local/bin/fail2ban-server /usr/bin/


On va dans le dossier files (sous dossier de la ou on est actuellement) pour recuperer le script de controle de fail2ban. On va copier la version pour notre systeme au bon endroit :
Code:
cp redhat-initd /etc/rc.d/init.d/fail2ban


On place un lien vers le script de lancement dans le dossier qui va bien pour que ça demarre avec le systeme :
Code:
ln -s /etc/rc.d/init.d/fail2ban /etc/rc2.d/S20fail2ban



On va creer le fichier de rotation des logs ici :
/etc/logrotate.d/fail2ban (touch /etc/logrotate.d/fail2ban)
et dedans on met :

Code:
/var/log/fail2ban.log {
    weekly
    rotate 7
    missingok
    compress
    postrotate
      /usr/local/bin/fail2ban-client reload 1>/dev/null || true
    endscript
}



Modifier /etc/fail2ban/jail.conf pour ce qu'on veut (ssh)
Decommenter ssh-tcpwrapper et choisir les options :
exemple :
Code:

[ssh-tcpwrapper]

enabled     = true
filter      = sshd
action      = hostsdeny
              sendmail-whois[name=SSH, dest=votre_mail@domaine.com]
#ignoreregex = for myuser from
logpath     = /var/log/messages



puis lancer fail2ban-client -d, ça affiche la config si tout est ok :
Code:
fail2ban-client -d


Puis, on lance le service :
Code:
/etc/rc.d/init.d/fail2ban start


lister les client bloqués en ssh par exemple :
Code:
fail2ban-client status ssh-tcpwrapper


et c'est ok !

Attention, dans ce mode, fail2ban va ajouter l'ip dans /etc/hosts.deny et donc condamner l'ip source. Si vous le testez, garder un ssh ouvert car vous ne pourrez plus vous reloguer.
En travaillant sur hosts.deny, il semble que fail2ban ne parvienne pas a debannir. Donc pour debannir a la main, ouvrir le fichier /etc/hosts.deny, et effacer votre ip !

Les log de fail2ban sont dans /var/log/fail2ban.log

Si vous avez bloqué votre ip, passez par un proxy, ou une autre machine sur internet pour aller virer votre ip de la liste.

Vous pouvez egalement mettre un cron hourly qui contiendrai
Code:
echo "">/etc/hosts.deny
et qui du coup annulerai les ban toutes les heures Very Happy

Voila! En esperant que ça aide!


Dernière édition par ronours le Mar Aoû 11, 2009 10:32 pm; édité 3 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
IVIedia



Inscrit le: 06 Déc 2007
Messages: 7

MessagePosté le: Sam Déc 08, 2007 3:54 pm    Sujet du message: Répondre en citant

Merci ce topic m'interesse, quelle est la commande pour voir le fichier log message , ce tuto est la même pour la release 2.0 ?

donc le but du soft c'est apres qque tentative d'intrusion il banni cette personne ... ?
Mais cette personne peux reprendre , mais il sera toujours banni ?

Merci bcp
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1159

MessagePosté le: Sam Déc 08, 2007 7:06 pm    Sujet du message: Répondre en citant

Alors

Citation:
Merci ce topic m'interesse, quelle est la commande pour voir le fichier log message , ce tuto est la même pour la release 2.0 ?


A priori sur la release 2, python devrait déjà etre à jour, donc seule la partie install fail2ban devrait etre a suivre je pense.

Citation:
donc le but du soft c'est apres qque tentative d'intrusion il banni cette personne ... ?

Ce soft en effet, apres 3 tentatives de connection (sur la config représentée), il va ajouter l'ip du vilain pirate dans le fichier hosts.deny, en interdisant ainsi au pirate l'acces à la machine pour une période donnée (voir les parametres)

Citation:
Mais cette personne peux reprendre , mais il sera toujours banni ?

Alors, la personne est bannie pour 10 minutes par défaut je crois. Et il ne peut plus rien tenter pendant ce temps, car l'acces integral à la machine est refusé. Donc ça bloquera les tentatives de login par fichiers de mots de passe.[/quote]
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
IVIedia



Inscrit le: 06 Déc 2007
Messages: 7

MessagePosté le: Dim Déc 09, 2007 12:53 am    Sujet du message: Répondre en citant

Ah ok je comprend mieux, j'attend ma nouvelle machine et une fois mis la release 2.0 je commencerai a teste ça Smile

merci pour l'info
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1159

MessagePosté le: Dim Déc 09, 2007 4:28 pm    Sujet du message: Répondre en citant

Note : Sous une autre distrib, comme Fedora 7 ou 8, il faut les paquets python 2.5 et pyton 2.5 Devel Smile

Voila, au cas ou vous avez une erreur du style :
Code:
running install
error: invalid Python installation: unable to open /usr/lib/python2.5/config/Makefile (No such file or directory)


Note pour plus tard Very Happy
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1159

MessagePosté le: Ven Juil 31, 2009 4:20 pm    Sujet du message: Fail2ban - gérer les abus sur vpopmail - vchkpw-pop3 Répondre en citant

Nous avons donc installé fail2ban pour les tentatives sur SSH, mais aujourd'hui, un vilain a tenté d'attaquer mes comptes pop sur une base de dictionnaire (bon visiblement c'est courrant), donc, en m'inspirant de ce qui est ici :
http://forum.ovh.com/showthread.php?t=32272&page=2

Donc, sur la release 1 d'ovh, dans mes logs /var/log/maillog j'avais ça :
Code:
Jul 31 12:29:17 ns35209 vpopmail[27567]: vchkpw-pop3: vpopmail user not found david@:190.41.163.225
Jul 31 12:29:18 ns35209 vpopmail[27569]: vchkpw-pop3: vpopmail user not found web@:190.41.163.225
Jul 31 12:29:19 ns35209 vpopmail[27571]: vchkpw-pop3: vpopmail user not found apache@:190.41.163.225
Jul 31 12:29:20 ns35209 vpopmail[27573]: vchkpw-pop3: vpopmail user not found pgsql@:190.41.163.225
Jul 31 12:29:20 ns35209 vpopmail[27575]: vchkpw-pop3: vpopmail user not found mysql@:190.41.163.225
Jul 31 12:29:21 ns35209 vpopmail[27577]: vchkpw-pop3: vpopmail user not found info@:190.41.163.225
Jul 31 12:29:22 ns35209 vpopmail[27581]: vchkpw-pop3: vpopmail user not found tony@:190.41.163.225
Jul 31 12:29:23 ns35209 vpopmail[27583]: vchkpw-pop3: vpopmail user not found core@:190.41.163.225
Jul 31 12:29:24 ns35209 vpopmail[27586]: vchkpw-pop3: vpopmail user not found newsletter@:190.41.163.225
Jul 31 12:29:25 ns35209 vpopmail[27589]: vchkpw-pop3: vpopmail user not found named@:190.41.163.225
Jul 31 12:29:25 ns35209 vpopmail[27591]: vchkpw-pop3: vpopmail user not found visitor@:190.41.163.225
Jul 31 12:29:26 ns35209 vpopmail[27593]: vchkpw-pop3: vpopmail user not found ftpuser@:190.41.163.225
Jul 31 12:29:27 ns35209 vpopmail[27595]: vchkpw-pop3: vpopmail user not found username@:190.41.163.225
Jul 31 12:29:28 ns35209 vpopmail[27598]: vchkpw-pop3: vpopmail user not found administrator@:190.41.163.225


On voit clairement que le vilain 190.41.163.225 scanne ma machine pour trouver des comptes emails popables. Bref, coup de chance, je l'ai vu passer, et j'ai botté son ip en hosts.deny !

Mais on va automatiser ça avec fail2ban, qui fait déjà bien le travail sur ssh !

On va créer un fichier filtre ici : /etc/fail2ban/filter.d/vpopmail.conf
qui va contenir ça :
Code:
# Fail2Ban configuration file
#
[Definition]
failregex = vchkpw-pop3: vpopmail user not found .*@*:<HOST>
ignoreregex =


Ensuite, on va ajouter une section dans /etc/fail2ban/jail.conf
avec ceci (on l'ajoute entre les règles existantes) :
Code:
#Par alex pour lutter contre les popeurs fou qui testent les passwords
[vpopmail-tcpwrapper]

enabled = true
filter = vpopmail
action = hostsdeny
        sendmail-whois[name=POP, dest=votremail@votre_domaine.bof]
#ignoreregex = je sais pas
logpath = /var/log/maillog


Notez que j'utilise le hostsdeny qui va ajouter l'ip dans le fichier /etc/hosts.deny et pas de règle de firewall pour le coup (tcpwrapper).

Puis on redémarre fail2ban ! Et voilà c'est dans la poche !

Vous pouvez tester la regle comme ceci :
Code:
fail2ban-regex /var/log/maillog /etc/fail2ban/filter.d/vpopmail.conf


et ça va vous faire un petit résumé des éléments trouvés, si vous avez correctement paramétré le truc et que vos logs contiennent des éléments à trouver (voir exemple du log plus haut).
_________________
Soutenez le logiciel libre - Vous pouvez adhérer à l'april :
http://www.april.org/adherer?referent=Alexandre+BLANC+%28ablanc%29 - Soutenez le logiciel libre plus largement, adhérez à la FSF (Europe ou Monde) , voir lien en pied de page.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1159

MessagePosté le: Mar Aoû 04, 2009 10:11 am    Sujet du message: Fail2ban - Gérer les abus sur ncftpd Répondre en citant

Comme nous avons appris à bloquer les vilaines tentatives sur SSH (premier post), les vilaines tentatives sur les comptes POP (vpopmail chez moi) juste au dessus, nous allons ajouter la gestion des vilains qui tentent les attaques par dictionnaire en FTP !!

Et oui, le net est un champs de bataille, tous les coup sont permis, voici comment je met en place :

Dans /var/log/messages, j'ai observé ça :
Code:
Aug  4 03:05:04 ns35209 NcFTPd: Too many login failures from 150.214.142.233; usernames used were: oracle, informix.
Aug  4 03:05:16 ns35209 NcFTPd: Too many login failures from 150.214.142.233; usernames used were: postgres, root.
Aug  4 03:05:29 ns35209 NcFTPd: Too many login failures from 150.214.142.233; usernames used were: test, admin.
Aug  4 03:05:41 ns35209 NcFTPd: Too many login failures from 150.214.142.233; usernames used were: testuser, tester.
Aug  4 03:05:53 ns35209 NcFTPd: Too many login failures from 150.214.142.233; usernames used were: cvs, tester.
Aug  4 03:06:05 ns35209 NcFTPd: Too many login failures from 150.214.142.233; usernames used were: tmp, mysql.


Et là je me dis, oh le vilain 150.214.142.233 !! Il faut faire quelque chose contre lui et tous les autres qui penseraient tenter la même chose !

Vite, j'enfourche mon VI favoris, et je vais créer le fichier /etc/fail2ban/filter.d/ncftpd.conf qui va contenir :
Code:
# Fail2Ban configuration file

[Definition]

# Option:  failregex
# Values:  TEXT
failregex = NcFTPd: Too many login failures from <HOST>; usernames used were: *.
# fail2ban-regex FICHIER_LOG FICHIER_FILTRE
# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =


Puis je le teste en tapant dans ma console :
Code:
fail2ban-regex /var/log/messages /etc/fail2ban/filter.d/ncftpd.conf


En effet, ça me liste bien l'IP qui a tenté l'attaque, cool, ça marche ! Y a plus qu'a activer ça !

Je vais donc ouvrir le fichier /etc/fail2ban/jail.conf et ajouter (genre en dessous de la règle pour vpopmail, les lignes suivantes :

Code:
[ncftpd-tcpwrapper]
enabled = true
filter = ncftpd
action = hostsdeny
        sendmail-whois[name=NCFTPD, dest=votremail@votredomaine.com]
#ignoreregex = je sais pas
logpath = /var/log/messages


Et voilà ! On relance fail2ban (/etc/rc.d/init.d/fail2ban restart) et notre modification est prise en compte.

J'utilise encore la methode (action) hostsdeny qui ajoute l'ip increminée dans /etc/hosts.deny.

Il semble y avoir un "bug", qui fait que les ip ne sont pas "débannies" automatiquement.

Mais ça n'est pas grave, ça me permet de faire un petit check régulier de /etc/hosts.deny et voir un peu ce qui se rempli. Et je fais le ménage à la main de temps en temps en effaçant les lignes.

Note : avec le "débannissement" qui ne fonctionne pas, si vous bannissez votre IP, il vous faudra vous connecter depuis une autre IP pour aller vous débannir !! Mais bon, on a tous, en gérant des serveurs, la possibilité de squater une autre IP de manière simple Very Happy
_________________
Soutenez le logiciel libre - Vous pouvez adhérer à l'april :
http://www.april.org/adherer?referent=Alexandre+BLANC+%28ablanc%29 - Soutenez le logiciel libre plus largement, adhérez à la FSF (Europe ou Monde) , voir lien en pied de page.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum -> Experiences linux Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Visitez aussi : Photos pour tous - Lezactus - Actualites et articles en ligne - Le forum du scrapbooking
Vous pouvez copier les messages partiellement sous reserve de mettre un lien vers la source sur ce forum - Edité et géré par Alexandre BLANC - [FSF Associate Member]