Le Forum Non Officiel de la DEDIBOX
Vous n'êtes pas identifié.
En regardant mes syslogs de connections j'ai vu que pas mal de personnes essayent de se connecter par brute force à mon serveur.
J'ai donc créé un script PHP qui permet de lister les ips des mecs qui s'amusent pour les blacklister :
#!/usr/bin/php5
<?php
$auth_content = isset($_SERVER['argv'][1]) ? file($_SERVER['argv'][1]) : file('/var/log/auth.log');
$ips = array();
foreach($auth_content as $line)
{
if (preg_match('#^.*(Invalid user|Failed password).*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*$#U', $line, $matches))
{
if (in_array($matches[2], array_keys($ips)))
{
$ips[$matches[2]]++;
}
else
{
$ips[$matches[2]] = 1;
}
}
}
echo "\n";
echo "List of ip address :\n\n";
foreach ($ips as $ip => $count)
{
echo '» '.str_pad($ip, 20, ' ', STR_PAD_RIGHT).str_pad(gethostbyaddr($ip), 40, ' ', STR_PAD_RIGHT).' ('.$count.')'."\n";
}
echo "\n";
echo "Iptables rules for ip which have exceeded 30 failed connections :\n\n";
foreach ($ips as $ip => $count)
{
if ($count > 30)
{
echo 'iptables -A INPUT -s '.$ip.' -j DROP'."\n";
}
}
echo "\n";
?>Voila ce que j'obtiens pour ma dédibox sous utilisée :
» 66.232.110.2 66.232.110.2 (2595)
» 151.97.160.1 151.97.160.1 (1911)
» 216.183.93.9 host9.davisdesign.ca (1083)
» 59.120.211.1 59-120-211-1.HINET-IP.hinet.net (1265)
» 202.39.157.2 202.39.157.2 (9)
» 88.199.48.3 dhcp.tesatnet.pl (17)
» 148.208.239.1 148.208.239.1 (108)
» 72.9.146.1 72.9.146.1.tailormadeservers.com (1)
» 219.93.21.1 219.93.21.1 (14)
» 88.191.23.7 sd-2494.dedibox.fr (7)
Entre parenthèses se trouve le nombre de tentative de connexions échouées pour chaque IP.
En espérant que cela puisse vous aider.
Dernière modification par Absynthe (2008-01-08 14:08:55)
Hors ligne
Ow ! Un autre fanatique de php !
Copain !!!
Note : Tu peux l'améliorer en ajoutant un dropp auto des ips ![]()
C'est faisable grace à sudo
Dernière modification par Mogui (2008-01-08 12:35:49)
Hors ligne
Ouép, jconnaissais pas fail2ban ! C'est nikel !
Merci flying jack

Hors ligne
Perso j'ai mis (y'a plusieurs mois) fail2ban et changé le port SSH et depuis c'est d'un calme!
Hors ligne
Moi ca m'éclate de voir des cons se casser les dents, donc je laisse sur le 22 ![]()
Hors ligne
Il existe un module assez sympa qui s'appelle pam_faildelay
Il permet de définir un délai personnalisé après une erreur, j'ai mis pour ma part un délai supérieur au délai du timeout pour s'autenthifier, ainsi, la personne est obligé de se reconnecter à chaque fois, et c'est tellement lent, que généralement j'ai pas plus d'une ou deux tentatives...
http://www.zip.com.au/~dtucker/patches/
Hors ligne
Le mieux, c'est aussi de mettre en place clé publique / clé privée....
D'interdire le root... et d'empêcher le log par mot de passe.... juste une clé et une passe phrase.
Hors ligne