Hello void,
Wednesday, June 27, 2001, 1:31:26 PM, you wrote:
OI>> Подскажите пожалуйста уважаемые,
OI>> как бороться с перебором паролей?
vvr> Может, решение будет кривым, но то, что лезет в голову с первого
vvr> взгляда, выглядит так.
vvr> На перле за 20 минут пишется парсер, который пускается по крону раз в
vvr> 5 минут. Что он делает:
vvr> Открывает файл resume, считывает из него оффсеты (что
vvr> это-скажу позже, в этом же письме)
vvr> Поочерёдно открывает /home/*/access.log, делает по ним seek до нужного
vvr> оффсета и грепает их до конца на коды ответа 401, и строит для
vvr> каждого лога этакий хещ %HAX0RS, где $HAX0RS{'ip.ad.dr.es'} =
vvr> $к-во_401_с_этого_ip
vvr> делает system("ipfw add deny ip from $ip.ad.dr.ess to any"); для
vvr> каждого из ip.ad.dr.es где $к-во_401_с_этого_ip > N
vvr> После этого повторяет ту же процедуру с отличием, что строится хеш
vvr> %USERS, где $USERS{'user_name'} = $к-во неуспешных логонов для этого
vvr> юзера. Затем юзер, у которого $к-во неуспешных логонов > N пишется в
vvr> deny-list
vvr> после этого скриптец пишет в файл resume оффсет для данного access.log
vvr> на котором произошёл EOF и переходит к следующему.
Все-же фаэрвол слишком сурово.
Достаточно было-бы задержек на стороне апача и рефьюза апачем.
Access_log кушается демоном статистики. Он спокойно калькулирует и
вопит в случае переборов куда надо. Вот только неаккуратно это как-то.
Может быть есть решение на уровне mod_auth?
Best regards,
Oleg mailto:ilin@xxxxxxxx
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.