Re: sshd
Bonjour,
Georges Roux a écrit, vendredi 24 décembre 2004, à 15:22 :
[...]
> #!/bin/bash
> #banip.sh
>
> BANNEDIP="ALL: "
> COUNT=`sudo grep Failed /var/log/auth.log | cut -d ' ' -f 13 | grep :: |
> cut -d ':' -f 4 | sort -u | wc -l`
Compter les IP différentes n'est pas très utile pour tester -gt 0 ? On
peut aussi éviter le recours à sudo en utilisant le groupe (adm ?) qui
peut lire les auth.log.
COUNT="$(grep -c -F Failed /var/log/auth.log)"
On peut aussi se passer de COUNT, et tester si la liste BANNEDIP est
vide avant d'allonger hosts.deny.
> if [ "$COUNT" -gt 0 ]
> then
> for IP in `sudo grep Failed /var/log/auth.log | cut -d ' ' -f 13 | grep ::
> | cut -d ':' -f 4 | sort -u`
> do
> BANNEDIP="$BANNEDIP $IP,";
> done
> else BANNEDIP=""
> fi
> echo $BANNEDIP >> /etc/hosts.deny
>
>
> et je met ca dans ma crontab bon il doit y avoir encore plein de truc a
> corriger
Le else est inutile, et le echo final peut remonter à la fin du if,
après la boucle for. Cet echo doit être fait sous root ;)
Il faudrait supprimer les doublons avec les IP déjà bannies dans un
fichier banned_ips, puis régénérer le hosts.deny à l'aide d'un fichier
hosts.deny.proto.
En cas d'IP dynamique, ça ne servira pas beaucoup de garder longtemps
des IP précises ; il est peut-être plus facile de déterminer les IP, ou
plages d'IP, autorisées à se connecter par iptables ou/et ssh.
> le script prend l'ip avec un seul acces rejeté pour le moment
> et je pense qu'avec awk on pourrais faire mieux
#!/usr/bin/awk -f
BEGIN{ max_fail=10 }
/Failed password/{ n[$13]++ }
# on pourrait vérifier si $13 ressemble à une IP, et/ou
# numéroter de droite à gauche, ici : $13 = $(NF - 3)
END {
for (x in n) {
if(n[x] > max_fail) { print x }
# ou : print x" \t"n[x] pour voir le score
}
}
> pascal wrote:
>
> >Bonjour!
> >C'est étrange c'est le même genre d'attaque que celle décrite dans un
> >mail précédent qui provenait de ...côte d'ivoire!
Les 3 IP citées sont en Chine (2) et en Hollande ...
Bonnes fêtes,
--
Jacques L'helgoualc'h
Reply to:
- Follow-Ups:
- Re: sshd
- From: pascal <pascalgosse@wanadoo.fr>
- References:
- sshd
- From: Georges Roux <georges.roux@pacageek.org>
- Re: sshd
- From: pascal <pascalgosse@wanadoo.fr>
- Re: sshd
- From: Georges Roux <georges.roux@pacageek.org>