Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1486 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Marre des attaques Ssh & Co. : ban_ip.pl

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10
Page Précédente
Auteur Sujet :

Marre des attaques Ssh & Co. : ban_ip.pl

n°669706
Tomate
Posté le 28-04-2005 à 20:08:31  profilanswer
 

salut,
 
j'en ai eu marre des illegal user à la con sur mon ssh, et plutôt que de changer le port du service je me suis mis à dev ce petit script pour bannir au moyen d'iptables les petits rigolos :D
 
il fonctionne en perl et s'interface avec mysql pour avoir un historique des attaques :)
 
j'en suis qu'au début, mais pour l'instant le script fait ceci :
 
- parse le fichier de log pour repérer les "illegal user" (on peut même envisager de ne pas se limiter à cette chaîne) et récupère l'IP et le nb de tentative (j'utilise logtail pour ne pas parser 50 fois les mêmes lignes)
- ensuite, si l'ip existe déjà on regarde si le nb d'attaques dépasse un certain nb, si c'est le cas : BAN ! :D
- si l'ip n'est pas dans la base on l'ajoute
- une date de déban est aussi présente, et le script déban une ip au bout d'un temps définit
 
voila pour l'instant :)
 
notre ami black_lord est en train de faire une interface PHP pour voir très simplement qui est ban, qui ne l'est pas encore/plus
on pourra même bannir/débannir en direct une IP :)
 
toute contribution/critique/remarque sont les bien venues ;)
 
le tarball :
www.blablaosa.info/ban_ip.tgz
 
dans le fichier create_ban_ip_database.txt, il faudra changer le mot de passe pour la base
dans le fichier ban_ip.pl, pareil, changer le passe, mais aussi le nom du fichier de log ;)
 
les principales étapes de fonctionnement du script :
 

- on commence par récupérer dans le fichier "/etc/ban_ip_whitelist" la liste des IP à ne jamais bannir (et donc à ne jamais rentrer dans la base). Comme le dit black_lord, il serait intéressant de mettre dans dans la base (dans une nouvelle table)
   Ces IP sont mises dans une hashtab (pour avoir un acc_s simple et rapide)
 
- Ensuite, le fichier de logs est parsé pour récupérer dans une autre hashtab les IP suspectes. Pour l'instant une chaîne est matchée, je pense qu'il serait intéressant d'en mettre d'autres, dans une variable
 
- Ensuite on récupère les IP en base qui ne sont pas bannies (encore dans une hashtab)
 
- la fonction UnBanIP est appelée, et déban si le ban est intervenu il y a plus de $Delay (2 jours actuellement)
 
- Enfin, on boucle sur les IP trouvées dans les logs, on vérifie qu'elles ne sont pas dans la WhiteList, et suivant le nombre de fois vues, on les ajoute (ou modifie si l'IP est déjà en base) et ban le cas échéant


 
 
EDIT :
bon voici à mon avis la parade ultime pour laisser sshd sur le port 22 sans être emmerdé par des bots :)
 
vu sur http://www.debian-administration.org/
 
rajoutez simplement ces 2 lignes :  

/sbin/iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
/sbin/iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 -j DROP


 
et voila, si 3 tentatives échoues depuis la même IP en 300 secondes, iptables ban l'ip (pour 300 secondes apparement)
 
ultime ! :)


Message édité par Tomate le 27-11-2005 à 13:05:42

---------------
:: Light is Right ::
mood
Publicité
Posté le 28-04-2005 à 20:08:31  profilanswer
 

n°669709
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 28-04-2005 à 20:10:34  profilanswer
 

Interface de contrôle par PHP permettant de :
 

  • Visualiser les bannis :

http://membres.lycos.fr/angel2k/captures/ban_admin.png
 

  • Visualiser les débannis :

http://membres.lycos.fr/angel2k/captures/unban_admin.png
 

  • Voir les informations sur une IP :  

http://membres.lycos.fr/angel2k/captures/infos_admin.png
 

  • Bannir/débannir une IP
  • Supprimer une IP de la base


Archive dispo ici  
 
Cette interface est sous licence GPL, les icônes ont été réalisées par Jakub Steiner


Message édité par black_lord le 30-04-2005 à 22:24:24

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°669718
lebibi
Notre torture c'est la tourtel
Posté le 28-04-2005 à 20:24:36  profilanswer
 

ca m'interesse aussi, car y en a marre de ces attaques, mes logs en sont pleins :/
Si je peu vous aider, n'hesitez pas à demander :)


---------------

n°669723
Tomate
Posté le 28-04-2005 à 20:31:59  profilanswer
 

bah il y a peut-être d'autres trucs que les "illegal user" qu'on pourrait prendre en compte, mais quoi ? :D


---------------
:: Light is Right ::
n°669725
M300A
Posté le 28-04-2005 à 20:33:23  profilanswer
 

Très bien ca :)
 
Je pourrais vous faire un petit paquet debian (à l'arrache mais bon) si ca vous interresse :)


---------------
:wq
n°669726
Tomate
Posté le 28-04-2005 à 20:34:39  profilanswer
 

pourquoi pas, mais quand on aura une version un peu plus avancée :)


---------------
:: Light is Right ::
n°669733
M300A
Posté le 28-04-2005 à 20:46:30  profilanswer
 

Par contre sql lite, ou plain text ca serait pas possible :??:
 
C'est pas un chouilla lourd mysql pour ca ?


---------------
:wq
n°669736
Tomate
Posté le 28-04-2005 à 20:51:43  profilanswer
 

plain text bof :D
sqllite pourquoi pas, j'ai jamais utilisé :D


---------------
:: Light is Right ::
n°669738
M300A
Posté le 28-04-2005 à 20:54:14  profilanswer
 

J'ai la phobie de base de données c'est pour ca, fait pas attention à mes messages :d


---------------
:wq
n°669741
multani
Dépressionnisé
Posté le 28-04-2005 à 21:06:37  profilanswer
 

Ouais, ça peut être pas mal sqlite je pense ...
A voir (c'est peut-être pas le plus important pour l'instant)
 
 
 
Flagged au passage [:cupra]


Message édité par multani le 29-04-2005 à 14:32:15
mood
Publicité
Posté le 28-04-2005 à 21:06:37  profilanswer
 

n°669765
M300A
Posté le 28-04-2005 à 22:16:39  profilanswer
 

Tu pourrais detailler l'installation pour les gens non-SQL compliant [:ddr555]


---------------
:wq
n°669782
BiBi Max
Posté le 28-04-2005 à 23:42:48  profilanswer
 

Tres bonne idee, j'ai l'impression que ce genre d'attaque est en pleine  expansion, 2-3 attaques quotidiennes.
Par contre, quelqu'un a une explication pourquoi les adresses ip appartiennent souvent a des boites qui ont pignon sur rue et qu'un mail a abuse ne donne pas de suite et que les attaques ne cessent pas ?

n°669783
dofor
:F
Posté le 28-04-2005 à 23:59:12  profilanswer
 

z'ont un pc vérolé sur leur rezo qui fait les attaques...

n°669791
VorteX
Posté le 29-04-2005 à 00:33:50  profilanswer
 

Y a pas deja ce genre d'option dans tcplogd ,portsentry ou
 iplog ?
Je sais plus dans lequel mais j'avais vu un truc qui mettais automatiquement en blacklist dans le firewall.

n°669794
deather2
Posté le 29-04-2005 à 01:03:17  profilanswer
 

Perso, j'ai mis sshd sur un autre port à 4 chiffres, et aucun problèmes :)

n°669816
ory
Posté le 29-04-2005 à 08:33:18  profilanswer
 

BiBi Max a écrit :

Tres bonne idee, j'ai l'impression que ce genre d'attaque est en pleine  expansion, 2-3 attaques quotidiennes.
Par contre, quelqu'un a une explication pourquoi les adresses ip appartiennent souvent a des boites qui ont pignon sur rue et qu'un mail a abuse ne donne pas de suite et que les attaques ne cessent pas ?


 
 
[:rofl]

n°669831
Tomate
Posté le 29-04-2005 à 09:17:09  profilanswer
 

M300A a écrit :

Tu pourrais detailler l'installation pour les gens non-SQL compliant [:ddr555]


heu c'est à dire ? :p
 
mysql [-u user] [-p] < create_ban_ip_database.txt :p


---------------
:: Light is Right ::
n°669845
SuperZell
Posté le 29-04-2005 à 09:46:33  profilanswer
 

C'est vrai que pour ma part je suis incapable d'utiliser ce script (sa tombe bien j'en ai pas besoin :D) mais une petite explication sur la mise en place et l'utilisation sa serais simpas pour ceux qui en ont besoins.

n°669849
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 29-04-2005 à 09:48:15  profilanswer
 


 
qui est souvent un PC zombie par ailleurs :)


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°669851
Tomate
Posté le 29-04-2005 à 09:51:00  profilanswer
 


oue et ?


---------------
:: Light is Right ::
n°669855
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 29-04-2005 à 10:02:36  profilanswer
 

l'utilité que je vois à ce script c'est que l'IP est bannie un certain temps (24h c'est bien) et qu'elle ne pourrit plus tes logs.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°669856
Tomate
Posté le 29-04-2005 à 10:04:39  profilanswer
 

j'ai mis 48h dans le script mais vous pouvez le modifier ;)
 
bon je vais faire une mini doc install/comment ça marche :D


---------------
:: Light is Right ::
n°669870
Tomate
Posté le 29-04-2005 à 10:28:12  profilanswer
 

petite MAJ du script dans la focntion UnBanIP ;)


---------------
:: Light is Right ::
n°669871
Tomate
Posté le 29-04-2005 à 10:28:43  profilanswer
 

vous pensez qu'on peut aussi prendre en compte les erreurs de ce type : "Did not receive identification string from"  
?


---------------
:: Light is Right ::
n°669885
Tomate
Posté le 29-04-2005 à 10:53:59  profilanswer
 


dans 5000 chaînes ?? :heink:


---------------
:: Light is Right ::
n°669888
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 29-04-2005 à 11:05:20  profilanswer
 

bien vu :gratgrat:


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°669889
dam1330
...
Posté le 29-04-2005 à 11:06:34  profilanswer
 

dites, vous parlez de ca ?
 

Citation :

Apr 27 22:17:58 routeur sshd[13917]: Illegal user richer from ::ffff:193.254.184.185
Apr 27 22:17:59 routeur sshd[13919]: Illegal user fluffy from ::ffff:193.254.184.185
Apr 27 22:18:01 routeur sshd[13921]: Illegal user gold from ::ffff:193.254.184.185
Apr 27 22:18:03 routeur sshd[13923]: Illegal user tomcat from ::ffff:193.254.184.185
Apr 27 22:18:04 routeur sshd[13925]: Illegal user cosinus from ::ffff:193.254.184.185
Apr 27 22:18:05 routeur sshd[13927]: Illegal user httpd from ::ffff:193.254.184.185


 
 
 

n°669890
Tomate
Posté le 29-04-2005 à 11:07:00  profilanswer
 


certes, mais bon on en a pas tant que ça des ip différentes ;)
 
et sinon une idée pour optimiser ça avec iptables ?


---------------
:: Light is Right ::
n°669891
Tomate
Posté le 29-04-2005 à 11:07:50  profilanswer
 

dam1330 a écrit :

dites, vous parlez de ca ?
 

Citation :

Apr 27 22:17:58 routeur sshd[13917]: Illegal user richer from ::ffff:193.254.184.185
Apr 27 22:17:59 routeur sshd[13919]: Illegal user fluffy from ::ffff:193.254.184.185
Apr 27 22:18:01 routeur sshd[13921]: Illegal user gold from ::ffff:193.254.184.185
Apr 27 22:18:03 routeur sshd[13923]: Illegal user tomcat from ::ffff:193.254.184.185
Apr 27 22:18:04 routeur sshd[13925]: Illegal user cosinus from ::ffff:193.254.184.185
Apr 27 22:18:05 routeur sshd[13927]: Illegal user httpd from ::ffff:193.254.184.185



 :jap:


---------------
:: Light is Right ::
n°669893
dam1330
...
Posté le 29-04-2005 à 11:10:21  profilanswer
 


 
 
tain, j'en ai 30 pas jour, j'avais pas fait attention.
 
mais sans le bon nom de login ni mdp, ils ne peuvent rien faire ?
 
le niveau de dangerosité est élevé ?

n°669897
Tomate
Posté le 29-04-2005 à 11:12:37  profilanswer
 


pourquoi pas ;)
 
mais bon, pour une connexion@home, je pense pas qu'on soit saturé :D


---------------
:: Light is Right ::
n°669898
Tomate
Posté le 29-04-2005 à 11:13:22  profilanswer
 

dam1330 a écrit :

tain, j'en ai 30 pas jour, j'avais pas fait attention.
 
mais sans le bon nom de login ni mdp, ils ne peuvent rien faire ?
 
le niveau de dangerosité est élevé ?


certes, mais en bannissant l'IP, il y aura plus du tout de chance qu'il trouve le bon user :D


---------------
:: Light is Right ::
n°669902
Tomate
Posté le 29-04-2005 à 11:17:09  profilanswer
 

quand je regarde les règles avec iptables -L FORWARD, ces règles sont à la fin justement


---------------
:: Light is Right ::
n°669905
Tomate
Posté le 29-04-2005 à 11:17:53  profilanswer
 


mais alors comment font les admins qui ont des grosses connexions ?
car les mails à abuse ne donnent rien :/


---------------
:: Light is Right ::
n°669913
Tomate
Posté le 29-04-2005 à 11:21:27  profilanswer
 

si je crois mais spa super pratique je crois


---------------
:: Light is Right ::
n°669914
gwadboy
Posté le 29-04-2005 à 11:21:44  profilanswer
 

Salut
 
Sur une becane au taf.
Distribution Debian Woody.
 
J’ai un blem au lancement de ton script Perl.
 
J’ai crée la base de donnée ban_ip.
J’ai remplacé le mot de passe dans le script ban_ip.pl, et changer le chemin pour le fichier log.
J’ai remplacé aussi l’interface réseau ppp0 par eth0.
 
my $INTERFACE="eth0";
my $tail = `logtail -f /home/bris/log/ssh.log`;
 
Petit problème l’or de l’exécution du script
 
bris@enux:~/ban_ip$ perl ban_ip.pl
Can't locate Date/Manip.pm in @INC (@INC contains: /usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.6.1 /usr/share/perl/5.6.1 /usr/local/lib/site_perl .) at ban_ip.pl line 5.
BEGIN failed--compilation aborted at ban_ip.pl line 5.
 
Merci


Message édité par gwadboy le 29-04-2005 à 11:29:15
n°669916
Tomate
Posté le 29-04-2005 à 11:25:15  profilanswer
 

gwadboy a écrit :

Salut
 
J’ai un blem au lancement de ton script Perl.
 
J’ai crée la base de donnée ban_ip.
J’ai remplacé le mot de passe dans le script ban_ip.pl, et changer le chemin pour le fichier log.
J’ai remplacé aussi l’interface réseau ppp0 par eth0.
 
my $INTERFACE="eth0";
my $tail = `logtail -f /home/bris/log/ssh.log`;
 
Petit problème l’or de l’exécution du script
 
bris@enux:~/ban_ip$ perl ban_ip.pl
Can't locate Date/Manip.pm in @INC (@INC contains: /usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.6.1 /usr/share/perl/5.6.1 /usr/local/lib/site_perl .) at ban_ip.pl line 5.
BEGIN failed--compilation aborted at ban_ip.pl line 5.
 
Merci


il faut que tu installes le module perl Date-Manip ;)


---------------
:: Light is Right ::
n°669917
Tomate
Posté le 29-04-2005 à 11:26:30  profilanswer
 


ok :D
 
mais bon j'ai surtout fait ça pour le fun, je me doute bien qu'il y a des mécanismes un peu plus efficaces qu'un bête script perl :D


---------------
:: Light is Right ::
n°669921
gwadboy
Posté le 29-04-2005 à 11:32:37  profilanswer
 

bris@enux:~/ban_ip$ apt-cache search date-ma
libdate-manip-perl - a perl library for manipulating dates
 
libdate-manip-perl ?

n°669923
Tomate
Posté le 29-04-2005 à 11:33:23  profilanswer
 

vi ;)


---------------
:: Light is Right ::
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Marre des attaques Ssh & Co. : ban_ip.pl

 

Sujets relatifs
[Recherche] PDA ou smartphone avec SSH (& VPN)Script lors d'une connexion SSH
heu....une fois en connexion SSH, je copie comment ?SSH: authentification sans pwd
Probleme lecture cd-rom (je debute jen ai marre des probs ....)[Gentoo] interdire l'accès SSH à un utilisateur donné?
detection d'attaques[Resolu][SSH] interdire les connexions user/pass (sans cle)
Attaques DDos super fréquentes..[mdk 10.1] Probleme avec SSH.
Plus de sujets relatifs à : Marre des attaques Ssh & Co. : ban_ip.pl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR