ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] mod_auth bruteforce hack?



Приветствую, Oleg !

OI> Hello All,

OI> Подскажите пожалуйста уважаемые,
OI> как бороться с перебором паролей?

Может, решение будет кривым, но то, что лезет в голову с первого
взгляда, выглядит так.

На перле за 20 минут пишется парсер, который пускается по крону раз в
5 минут. Что он делает:

Открывает файл resume, считывает из него оффсеты (что
это-скажу позже, в этом же письме)

Поочерёдно открывает /home/*/access.log, делает по ним seek до нужного
оффсета и  грепает их до конца на коды ответа 401, и строит для
каждого лога этакий хещ %HAX0RS, где $HAX0RS{'ip.ad.dr.es'} =
$к-во_401_с_этого_ip 

делает system("ipfw add deny ip from $ip.ad.dr.ess to any"); для
каждого из ip.ad.dr.es где $к-во_401_с_этого_ip > N

После этого повторяет ту же процедуру с отличием, что строится хеш
%USERS, где $USERS{'user_name'} = $к-во неуспешных логонов для этого
юзера. Затем юзер, у которого $к-во неуспешных логонов > N пишется в
deny-list

после этого скриптец пишет в файл resume оффсет для данного access.log
на котором произошёл EOF и переходит к следующему.


C респектом,
.d

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.