Здравствуйте!
В сообщении от Четверг 09 Март 2006 11:35 Dmitriy L. Kruglikov написал(a):
> On Wed, 08 Mar 2006 19:49:48 +0700
> Мне бы хотелось писать правила в iptables, а BlockHosts
> пишет в hosts.deny ...
>
> А для того, чтобы сработали запреты в hosts.deny нужно установить
> соединение с сервисом ... А мне это не нравится ....
Посылаю два скрипта для vsftp и ssh. Работают по крону. пишут в hosts.deny, 
но главное список дают , а правило по списку адресов нарушителей воткнуть 
в iptables  не проблема при этом , надо немножко изменить конечную часть..
Ну то есть вметсто строчки   echo -en "ALL: "$i "\t# Added by rw... 
воткнуть правило iptables , где IP зловредного источника  $i.
Или я не догоняю что-то?  
-- 
With my best regards to you !!
http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru
[EMAIL PROTECTED]
#
# rwsecure parses the /var/log/auth/all file for Invalid usernames or 
# Failed password.  If more than 3 invalid or failed attempts by one 
# IP, it will add that IP to your /etc/hosts.deny file.
#


file=`awk '/Invalid|Failed password/' /var/log/auth/all | sed s/.*from./""/ | 
sed s/port.*/""/| awk '{print $1}' | sort | uniq -c | sort -n | awk '{if 
($1>15){print $2}else{}}'`

for i in $file
        do
                x=`grep $i /etc/hosts.deny | sed 's/.#.*//'`
                if [ "$x" ]
                then
                        y=0
                else
                        echo -en "ALL: "$i "\t# Added by rwsecure on "`date | 
awk '{print $2 " " $3 " " $4 " " $6}'`"\n" >> /etc/hosts.deny 
                fi

        done
#
# rwsecure parses the /var/log/auth/all file for Invalid usernames or 
# Failed password.  If more than 3 invalid or failed attempts by one 
# IP, it will add that IP to your /etc/hosts.deny file.
#


file=`awk '/FAIL LOGIN/' /var/log/vsftpd.log | sed s/.*Client\ \"/""/ | sed 
s/\"/""/ | awk '{print $1}' | sort | uniq -c | sort -n | awk '{if ($1>15){print 
$2}else{}}'`

for i in $file
        do
                x=`grep $i /etc/hosts.deny | sed 's/.#.*//'`
                if [ "$x" ]
                then
                        y=0
                else
                        echo -en "ALL: "$i "\t# Added by ftpsecure on "`date | 
awk '{print $2 " " $3 " " $4 " " $6}'`"\n" >> /etc/hosts.deny 
                fi

        done
_______________________________________________
Sysadmins mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить