The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новая программа для блокирования попыток подбора паролей

30.07.2006 20:43

Программа bruteblock позволяет блокировать попытки подбора паролей к сервисам FreeBSD.

Программа анализирует журнал запущенных служб и заносит ip злоумышленников в таблицу firewall ipfw2. Через некоторое, определённое пользователем, время программа удаляет их из этой таблицы.

Использование регулярных выражений позволяет использовать утилиту для практически любой службы. Утилита написана на C и не использует вызова внешних программ, работая с таблицами IPFW2 через RAW SOCKETS API.

  1. Главная ссылка к новости (http://samm.kiev.ua/bruteblock...)
Автор новости: Alex Samorukov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/7984-security
Ключевые слова: security, bruteforce
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, ZANSWER (ok), 21:15, 30/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    МяФ!:) ну прямо как у меня в PF только механизм немного другой, да это хорошо что наконец и IPFW2 научился этому, полезная штука однако...:)))
     
  • 1.2, Аноним (-), 21:26, 30/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ахха, основана на маленьком допуске: злоумышленник долбится с одного ip.

    в гугле поискать что такое ботнет

     
     
  • 2.3, Samm (?), 21:45, 30/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Очень редко (практически никогда) подбор попыток производится 1 попытка/1 IP. Даже если атакуют сервер ботенетом - это просто несколько сессий одновременно с разных ip, которые чудесно попадают в блек лист. Кроме того чаще всего брутофорс атаки делаются не сознательно на какой либо хост, а просто роботом - трояном, случайно переберающим IP адреса.
     

  • 1.4, AMDmi3 (?), 00:05, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Полезная софтина. Скоро быть порту :)
     
  • 1.5, Oleg (??), 08:09, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Софтина, конечно, полезная. Но я пользуюсь от подобных пионэров pam_abl. Он и настройки гибкие имеет. И не привязан к конкретному файрволлу. Хотя таки да - при распределённой и интенсивной атаке - bruteblock будет поэффективнее. Только вот в чём дело. А если "враг" влупит атаку от спуфленных IP, где в качестве источника будет значится IP вышестоящего роутера? О последствиях не подумали?
     
     
  • 2.10, Samm (?), 10:32, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Софтина, конечно, полезная. Но я пользуюсь от подобных пионэров pam_abl. Он и
    >настройки гибкие имеет. И не привязан к конкретному файрволлу. Хотя таки
    >да - при распределённой и интенсивной атаке - bruteblock будет поэффективнее.
    >Только вот в чём дело. А если "враг" влупит атаку от
    >спуфленных IP, где в качестве источника будет значится IP вышестоящего роутера?
    >О последствиях не подумали?
    1) Я не думаю, что спуфленый IP при атаке из других сетей дойдёт до стадии auth. Это вам не icmp storm где ничего не проверяется.
    2) программа работает через firewall. Т.е. никто не мешает (и даже наоборот) сделать до правила deny правило allow с таблицей в которой перечислены все trsuted ip адреса. Возможно, этот момент стоит отразить в доке,я  просто думал, что это совершенно очевидно.

     
  • 2.17, anonymous (??), 11:46, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    http://mbsd.msk.ru/stas/pam_af.html  - гораздо лучше, гибче и безопаснее.
     
     
  • 3.19, Samm (?), 12:24, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Простите, можно узнать аргументацию? особенно по поводу гибче и безопаснее меня заинтересовало ;-)
     
     
  • 4.33, anonymous (??), 15:59, 01/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    1) Быстрее, так как не требует дополнительного сканирования логов и работает на уровне PAM
    2) Как следствие лучше интегрируется в существующую модель безопасности, так как ничего дополнительного не запускается
    3) Работает на любой POSIX-совместимой платформе, так как используются только стандартные
    компоненты (ndbm для хранения таблиц и конфигов, например)
    4) Lookup hostname'ов происходит на этапе конфигурирования и не требует дополнительных временных задержек впоследствии. Далее поиск правила происходит очень быстро по хешу.
    5) Корректно работает с любыми адресами (не только IPv6 и Ipv4), правда маска поддерживается только для последних двух. Т.е. её можно использовать с любыми сетевыми протоколами (даже самопальными, если они корректно интегрированы в стек)
    6) Может работать вообще без firewall и с firewall не поддерживающем таблиц
    7) Работает с абсолютно любыми сервисами (т.к. через PAM).

    ---------------------------------------------------------------
    Пример настройки для FreeBSD:
    # pam_af_tool ruleadd -h '*' -a 15 -t 4y
    # pam_af_tool ruleadd -h localhost -a unlimited -t 0                          
    # pam_af_tool ruleadd -h 124.45.34.2/21 -a 8 -t 16H23M12S                      
    # pam_af_tool ruleadd -h 207.46.0.0/16 -a 5 -t 15H -l '/sbin/ipfw add          
                100 deny all from $PAM_RHOST to any'

    И всё! Никаких демонов etc..

     
     
  • 5.34, Samm (?), 16:37, 01/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Оно не сканирует логи, а слушает pipe в syslogd Оч спорный вопрос Требует нали... большой текст свёрнут, показать
     
     
  • 6.35, anonymous (??), 18:11, 01/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Я не вижу каким образом правило с ipfw исчезнет через n минут.
    -t ;-)
    >И кроме того, я считаю, что таблицы в данном случае много
    >уместнее. Дополнительно я хотел бы подчеркнуть, что я совершенно не умаляю
    >достоинст вышеописанной тулзы, просто я считаю, что у них несколько разная
    >идеология, и как следствие - область применения.
    Согласен.

    PAM есть в X/Open,  что сейчас является POSIX 2004.

    PS: мой первый ответ был по поводу pam_abl;-)

     

  • 1.6, Кубик (?), 09:01, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понятно зачем такое писать на С ...
     
     
  • 2.9, Samm (?), 10:29, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Попробую обьяснить.
    к данной утилите у меня перед написанием были такие требования:
    1) По возможности не требовать дополнительного ПО - чтобы иметь возможность ставить его даже на бездисковые роутеры.
    2) Чтобы утилита занимала минимум памяти и работала быстро. Часть серверов которые мне приходится администрировать сделаны из весьма и весьма старого железа и перегружать их дополнительно у меня нет желания.
    3) Утилита не должна вызывать внешних программ. Собственно, по причине 2). А писать пол RAW_SOCKET на perl или python я бы  не рискнул. К тому же так я просто использовал немного модифицированный код ipfw2.c.
    4) Утилита должна быть максимально безглючна и крайне проста в отладке. Так тот же security/sshit (perl) через 3-4 дня по невыясненным причинам просто переставал выносить плохие ip из конфигов. Подозреваю, что какой-то leak. В C подобное лично мне проще контролировать.
    Собственно, кроме того я не вижу причин почемку подобное не может или не должно писаться на C :)
     

  • 1.7, Tyler (??), 09:13, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я вот такой штукой пользуюсь
    http://denyhosts.sourceforge.net/index.html
     
  • 1.8, _KV_ (??), 10:16, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ыы, а ктото еще пароли в ssh юзает? по ключам логониться не судьба?
     
     
  • 2.11, Samm (?), 10:35, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >ыы, а ктото еще пароли в ssh юзает? по ключам логониться не
    >судьба?

    А почитать описание новости внимательнее - не судьба? Оно, совершенно не только для ssh.

    Впрочем, я использую утилиту и на тех хостах, где примению key based auth. Как минимум мне не нравится наблюдать в логах постоянные попытки логинов, да и безполезного трафика/нагрузки на сервер это добавляет. Опять же иногда теже самые ip начинают долбить ftpd/smtpd.

     

  • 1.12, ErrSkin (?), 11:02, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поставил, потестил. Работает замечательно. Автору спасибо % ))) Какая конкретно нужна помощь ?
     
     
  • 2.15, Samm (?), 11:12, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо и Вам за хороший отзыв :) Помощь требуется следующая:
    1) доведение до ума howto и перевод их на английский.
    2) Написание man'ов.
     
     
  • 3.31, ErrSkin (?), 12:46, 01/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Ок. На выходных займусь ; ))))
     

  • 1.13, adil_18 (??), 11:08, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а чем вас sshlockout не устроил ?
     
     
  • 2.16, Samm (?), 11:18, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >а чем вас sshlockout не устроил ?
    Ну честно говоря - всем.

    1) ssh only. При этом regexp'ы не используются, а шаблоны вкомпилины в исходниках (как и прочие данные, btw).
    2) Внешний запуск ipgw.
    3) Утилита добавляет правила в firewall, а не адреса в таблицу.
    4) При рестарте утилиты все блокировки удаляются.

     

  • 1.14, dvg_lab (??), 11:09, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    решпект, надеюсь до стадии порта прога таки дойдет. После отпуска буду ставить/пробовать.
     
  • 1.18, dravor (ok), 11:51, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в который раз изобретение велосипеда.
     
     
  • 2.20, ABorland (?), 13:09, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Вам бы только попИсать на форуме?
    Да такие решения не новы
    но данное решение, с точки зрения юзабилити гораздо лучше
     
     
  • 3.21, dravor (ok), 13:23, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    чем оно лучше того же sshit?
    Грамотны разработчик перед написанием чего-то нового исследует уже созданное до него и задается вопросом "а чего не хватает? что я могу сделать лучше?" Вот и объясните мне что же здесь лучше: гибкая настройка под используемый фаерволл (pf, ipfw, ipfw2, ...)? возможность "налету" исправить/добавить/изменить регулярное выражение, простота исправления кода и отладки (в перловом скрипте достаточно перзапустить итерпретатор, в C - каждый раз компилировать, об отладке я уж молчу). А уж когда встает вопрос подвесить удаленно - неизвестно что подсоединять на авторизацию очень "нехочется".

    Вот вы, господин эксперт, и объяните в каких пунктах я не прав.

     
     
  • 4.23, Samm (?), 14:21, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте попробую ответить И так, перед написанием этой программы я достаточно д... большой текст свёрнут, показать
     
  • 4.25, Аноним (-), 16:36, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Вот вы, господин эксперт, и объяните в каких пунктах я не прав.
    Ну вот блин, в в соседней теме флейм на 90 сообщений php vs *, теперь предлагают от C отказаться. Приехали. Аргумент меня просто убил - 'каждый раз компилировать'.
     
     
  • 5.26, dravor (ok), 17:05, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    а слова "Bourne Shell" наверное вообще в кому вгоняют
     

  • 1.22, Vital (??), 13:23, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хочу пожелать автору удачи и сил довести дело до порта! Хорошая штука!
     
     
  • 2.24, Samm (?), 14:31, 31/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Хочу пожелать автору удачи и сил довести дело до порта! Хорошая штука!
    >

    спасибо )

     

  • 1.28, Hammer (??), 18:22, 31/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Создается впечатление, что самые кульные программеры живут на Украине!
     
  • 1.29, Аноним (29), 11:03, 01/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а fail2ban не пробовали?
    http://fail2ban.sourceforge.net/
     
     
  • 2.30, Samm (?), 12:07, 01/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Меня огорчило требование питона и, кроме того, показалось, что он более для linux.
     

  • 1.32, ErrSkin (?), 13:05, 01/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    To Samm: На выходных займусь : ))
    fail2ban медленнее.
     
  • 1.36, mmisteras (?), 13:19, 20/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >[оверквотинг удален]
    >ip злоумышленников в таблицу firewall ipfw2. Через некоторое,
    >определённое пользователем, время программа удаляет их из этой таблицы.
    >
    >
    >Использование регулярных выражений позволяет использовать утилиту для
    >практически любой службы. Утилита написана на C и не использует вызова
    >внешних программ, работая с таблицами IPFW2 через RAW SOCKETS API.
    >
    >URL: http://samm.kiev.ua/bruteblock/
    >Новость: http://www.opennet.dev/opennews/art.shtml?num=7984

    поставил на freebsd 6.2 для proftpd - не пашет (ставил из портов)
    конфиги не правил, добавил правило в фаер. table\(1\) ниразу не заполнилась

     
     
  • 2.37, Samm (??), 09:32, 21/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >>Использование регулярных выражений позволяет использовать утилиту для
    >>практически любой службы. Утилита написана на C и не использует вызова
    >>внешних программ, работая с таблицами IPFW2 через RAW SOCKETS API.
    >>
    >>URL: http://samm.kiev.ua/bruteblock/
    >>Новость: http://www.opennet.dev/opennews/art.shtml?num=7984
    >
    >поставил на freebsd 6.2 для proftpd - не пашет (ставил из портов)
    >
    >конфиги не правил, добавил правило в фаер. table\(1\) ниразу не заполнилась

    Поздравляю. Программа отлично работет на 6.2, как и на других версиях BSD

     

  • 1.38, Аноним (38), 15:00, 21/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    mmisteras, у меня была такая же ситуация, обратился к автору, он указал направление поисков проблемы. В итоге всё просто - было два одинаковых селектора в syslog.conf с разными action'ами :)
    (см. забавы ради патч http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2006-October/103110.htm)

    Всё заработало, как обещано, но возник такой вопрос: если subj ищет сообщения определённого вида, то бишь соответствующие регулярным выражениям в конфиге, куда деваются остальные? Те, что писались раньше в auth.log теперь просто отбрасываются что ли?..

     
     
  • 2.39, Yuri (??), 23:08, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    поставил из портов на 8.1
    отличная штука. автору - спасибо
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру