Page 2 of 2 FirstFirst 12
Results 16 to 26 of 26

Thread: Установка fail2ban на роутер

  1. #16
    Join Date
    Jan 2007
    Location
    Moscow
    Posts
    156

    Question Fail2ban

    Fail2ban ценен сам по себе, но не подходит под мою задачу.

    Нужно парсить строчку лог-файла на предмет наличия определенного текста в реферале (выделено)
    Code:
    84.15.179.226 krandall.myftp.org - [15/Mar/2014:02:42:56 +0300] "GET /TreeView/sp16.gif HTTP/1.1" 200 824 "хттп://wl500g.info" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36"
    и если искомый текст найден, то отрпавлять эту запись лога на электронную почту
    WL-500gP(v1, 64mb) (1.9.2.7-d-r2624 by Oleg) + 3 x USB HDD
    Работают: analog, syslog-ng, cron, samba 3, RTorrent+RuTorrent, lighttpd, vsftpd+, настроена сеть и сетевая печать

  2. #17
    Не понимаю при чём здесь роутеры
    Quote Originally Posted by KRandall View Post
    Fail2ban ценен сам по себе, но не подходит под мою задачу.
    Нужно парсить строчку лог-файла на предмет наличия определенного текста в реферале (выделено)
    Code:
    84.15.179.226 krandall.myftp.org - [15/Mar/2014:02:42:56 +0300] "GET /TreeView/sp16.gif HTTP/1.1" 200 824 "хттп://wl500g.info" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36"
    и если искомый текст найден, то отрпавлять эту запись лога на электронную почту
    Code:
    #!/bin/sh
    tail -f /opt/var/log/lighttpd_access.log | while read "STRING"
    do
        echo "log says $STRING"
    done

  3. #18
    Join Date
    Jan 2007
    Location
    Moscow
    Posts
    156

    Thumbs up Спасибо

    Спасибо за подсказку, вопрос решен

    P.S. К роутеру действительно вопрос отношения не имеет.
    Задал его в теме про Lighttpd, потому что думал, что задачу можно решить средствами WEB-сервера
    WL-500gP(v1, 64mb) (1.9.2.7-d-r2624 by Oleg) + 3 x USB HDD
    Работают: analog, syslog-ng, cron, samba 3, RTorrent+RuTorrent, lighttpd, vsftpd+, настроена сеть и сетевая печать

  4. #19

    Question fail2ban для asterisk

    можно попросить скомпилировать и по возможности добавить в репозиторий Entware fail2ban ( https://github.com/fail2ban/fail2ban ) ?
    необходимая для asterisk вещь
    WL500gP1 (d-r2174) --> RT-N16 (rtn-r2888) --> RT-N16 FreshTomato

  5. #20
    Join Date
    Mar 2011
    Location
    Moscow
    Posts
    248
    Quote Originally Posted by ale_xb View Post
    можно попросить скомпилировать и по возможности добавить в репозиторий Entware fail2ban
    Там нечего компилировать. Ибо "The only required dependency needed to run Fail2ban is Python".
    WL500gp 1.9.2.7-d-r2624, Optware.

  6. #21

    Post fail2ban запустил...

    все установилось. с python-mini не хватало каких-то функций, пришлось поставить полный вариант. Также не смог корректно установить все в /opt, хотя путь в инсталляционном скрипте сразу поправил. В итоге потом скопировал папку настроек fail2ban из /etc в /opt/etc + правил пути во всех конфигурационных файлах. Вполне вероятно, я просто не внимательно следовал указаниям по установке и все могло бы установиться/настроиться автоматом. В общем, удалось в итоге запустить fail2ban-0.8.14, сейчас разбираюсь с настройками, пока ничего не банит - где-то мои ляпы.
    Last edited by ale_xb; 19-11-2014 at 07:40.
    WL500gP1 (d-r2174) --> RT-N16 (rtn-r2888) --> RT-N16 FreshTomato

  7. #22
    Разобрался, банит! Пришлось поправить правила в фильтрах fail2ban для dropbear, asterisk, vsftpd под их особенности ведения логов на роутере. Все работает, я доволен. У меня с работающими fail2ban, asterisk, transmission (правда, почти не использую, т.е. раздаю и качаю редко), vsftpd, minidlna,.... загрузка порядка 5%. При старте fail2ban процессор грузится на 100% на время анализа/парсинга логов. У меня на ~5Мб лог требуется до 10 минут.
    Пока не знаю, как еще научить fail2ban следить за попытками авторизации в lighttpd. Точнее, не знаю, как заставить lighttpd писать в лог сообщения о неуспешной авторизации, у меня на Tomato этого из коробки нет Ну, еще стартовый скрипт для fail2ban следует прописать.

    PS. На Хабре наткнулся на интересный mod fail2ban с прогрессирующим вплоть до "навсегда" и, при необходимости, случайным временем бана для особо злостных нарушителей. Пишут, что ботнеты очень поумнели в последнее время и стандартный алгоритм fail2ban могут обходить - определять и подстраиваться под фиксированное время бана.
    WL500gP1 (d-r2174) --> RT-N16 (rtn-r2888) --> RT-N16 FreshTomato

  8. #23
    Quote Originally Posted by ale_xb View Post
    Разобрался, банит! Пришлось поправить правила в фильтрах fail2ban для dropbear, asterisk, vsftpd под их особенности ведения логов на роутере. Все работает, я доволен. У меня с работающими fail2ban, asterisk, transmission (правда, почти не использую, т.е. раздаю и качаю редко), vsftpd, minidlna,.... загрузка порядка 5%. При старте fail2ban процессор грузится на 100% на время анализа/парсинга логов. У меня на ~5Мб лог требуется до 10 минут.
    Пока не знаю, как еще научить fail2ban следить за попытками авторизации в lighttpd. Точнее, не знаю, как заставить lighttpd писать в лог сообщения о неуспешной авторизации, у меня на Tomato этого из коробки нет Ну, еще старроде утовый скрипт для fail2ban следует прописать.

    PS. На Хабре наткнулся на интересный mod fail2ban с прогрессирующим вплоть до "навсегда" и, при необходимости, случайным временем бана для особо злостных нарушителей. Пишут, что ботнеты очень поумнели в последнее время и стандартный алгоритм fail2ban могут обходить - определять и подстраиваться под фиксированное время бана.
    А можно немного по подробнее про установку и стартовый скрипт написать. А то, что то не получается запустить. Вроде установил в /opt , но не запускается

  9. #24
    Привожу свои настройки (во вложении) fail2ban.conf.txt и jail.local.txt. Оба файла (без расширения txt) класть в папку /opt/etc/fail2ban/
    В настройках прописаны пути к логам для анализа их fail2ban-ом. У Вас они могут быть другие, зависит от настроек соответствующих служб/ПО. Например, vsftpd у меня пишет в отдельный лог, а dropbear - в общий messages. Asterisk тоже может быть настроен по разному. Злонамеренные попытки коннекта по ssh у меня проверяются за период и банятся на 4 часа; к asterisk - за и на сутки; ftp - за и на 2 часа. Везде не более 3 попыток.

    Что касается "не запускается", проверьте внимательно в конфигах правильность путей к самому fail2ban и python. Я писал, что у меня сходу тоже не получилось. Фактически пришлось тупо везде добавить к путям в начале "/opt" (именно сюда по умолчанию у меня ставится весь доп.софт), после чего всё заработало.

    стартовый скрипт я не родил
    Думаю, самое простое, что в него можно прописать, это команду: "/opt/bin/fail2ban-client -х start"
    Параметр "-x" запускает fail2ban даже, если предыдущее завершение было некорректным.
    Last edited by ale_xb; 06-07-2015 at 14:33.
    WL500gP1 (d-r2174) --> RT-N16 (rtn-r2888) --> RT-N16 FreshTomato

  10. #25

    как я устанавливал и настраивал fail2ban

    Попробую, наконец, подробнее изложить свою установку fail2ban.
    Исходное у меня: Asus RT-N16, Tomato USB by Shibby, Entware, но кроме последнего это не принципиально.

    1. Ставим нужный для работы пакет python и качаем fail2ban, являющийся набором скриптов на этом языке.
    Я закачивал в папку /opt/root/ Вы можете использовать, другую, например, /tmp/
    Я использовал версию fail2ban 0.8.14 - very-stable, вы можете более свежую. Последняя - fail2ban-0.9.3-1.
    Встроенный в прошивку wget не работает с https протоколом, поэтому собственно fail2ban я приложил к данному сообщению. Ссылка в коде ниже именно на это вложение. Вы можете скачать его сами с первоисточника либо с GitHub, либо с сайта fail2ban.org , например, с помощью браузера, а затем доступным для вас способом (FTP, SAMBA, SFTP) передать его на роутер.
    Code:
    opkg install python
    mkdir /opt/root
    cd /opt/root
    wget ftp://101.noip.me/fail2ban-0.8.14.tar.gz
    2. Распаковываем fail2ban
    Code:
    tar xvzf fail2ban-0.8.14.tar.gz
    3. Правим конфиг и скрипт установки, т.е. пару файлов /opt/root/fail2ban-0.8.14/setup.cfg и /opt/root/fail2ban-0.8.14/setup.py , по сути меняя расположение прописанных в них директорий на /opt/то-что-было-до-замены. Если вы решили также использовать версию 0.8.14, то можете просто скачать эти файлы с заменой на мои уже исправленные из вложения:
    Code:
    wget -P /opt/root/ ftp://101.noip.me/setup.tar.gz
    tar xzvf /opt/root/setup.tar.gz -C /opt/root/fail2ban-0.8.14/
    4. Запускаем собственно установку
    Code:
    cd /opt/root/fail2ban-0.8.14
    python setup.py install
    5. Правим пути аналогично п.3 в исполняемых скриптах Можете также скачать мои поправленные файлы:
    Code:
    wget -P /opt/root/ ftp://101.noip.me/bin.tar.gz
    tar xzvf /opt/root/bin.tar.gz -C /opt/bin/
    В принципе, это всё, можно пользоваться (лучше все же дочитайте до конца прежде), запустив fail2ban командой
    Code:
    fail2ban-client -x start
    Ключ "-x" рекомендую использовать, чтобы при некорректном завершении своей работы fail2ban при последующем старте удалял "подвисший" сокет.
    Справка вызывается
    Code:
    fail2ban-client -h
    остановка/перезагрузка конфигов/статус/проверка доступности сервера соответственно выполняются командами:
    Code:
    fail2ban-client stop
    fail2ban-client reload
    fail2ban-client status
    fail2ban-client ping
    Команда
    Code:
    fail2ban-regex /opt/var/log/messages /opt/etc/fail2ban/filter.d/dropbear.conf
    полезна при проверке/правке ваших фильтров поиска в логах сообщений об ошибках аутентификации. Например, в указанном варианте она проверит лог-файл messages на совпадение с регулярными выражениями, описанными в файле фильтра dropbear.conf для демона ssh. При наличии сообщений об ошибке аутентификации в итоге будет выдано кол-во проанализированных строк записей в логе, распознанный формат даты и времени и количество совпадений с фильтром.

    Команда
    Code:
    fail2ban-client status dropbear
    покажет статистику для JAIL (что такое - ниже) dropbear: имя анализируемого лога, кол-во совпадений с фильтром в текущем периоде и всего, кол-во забаненых IP в текущем периоде и всего, список забаненых IP. fail2ban в комплекте имеет массу готовых настроек для анализа логов популярных сервисов - vsftpd, ssh, asterisk, apache и т.п. Каждый комплект настроек называется JAIL и состоит из файла фильтра на основе регулярных выражений + файла действий, описывающего как реагировать на обнаруженные совпадения. Описания JAIL-ов для популярных служб находятся в файле /opt/etc/fail2ban/jail.conf В нем описаны общие для всех (секция [DEFAULT] настройки (период, за который анализируются неудачные попытки авторизации, время бана, игнорируемые IP, кол-во допустимых ошибок авторизации и т.п.) и частные для конкретного сервиса (секция [ИМЯ_JAIL]), например, включен он или выключен, какой фильтр для него используется и какие действия выполняются, какой файл логов анализируется. Например, можно заблокировать для IP сразу все порты или только один, или диапазон, либо просто отправить e-mail админу. Подробности смотрите в папке /opt/etc/fail2ban/action.d, фильтры - в папке /opt/etc/fail2ban/filter.d Для внесения своих изменений в настройки рекомендуется содержимое указанных папок и файла /opt/etc/fail2ban/jail.conf не трогать, а использовать для этого файлы /opt/etc/fail2ban/jail.local + при необходимости файл(ы), соответствующий файлу фильтра из папки /opt/etc/fail2ban/filter.d/, например, common.local
    Я привожу здесь свой комплект настроек, в котором у меня задействуются jail для служб dropbear, vsftpd и asterisk. Кроме того пришлось добавить свой файл /opt/etc/fail2ban/common.local из-за чуть другого формата записей в лог messages встроенного в прошивку logger-а. Можете его использовать (updated: файл common.local внесенных изменений в общий фильтр почему-то упорно не хочет работать в основной директории настроек fail2ban. Пришлось его переместить в папку со всеми фильтрами. Добавил третью команду):
    Code:
    wget -P /opt/root/ ftp://101.noip.me/conf.tar.gz
    tar xzvf /opt/root/conf.tar.gz -C /opt/etc/fail2ban/
    mv /opt/etc/fail2ban/common.local /opt/etc/fail2ban/filter.d/
    Если вы используете syslog-ng или что-то еще, смотрите ваш формат вывода сообщений. Команда fail2ban-regex в помощь! Также посмотрите примеры анализируемых сообщений в журналах логов, под которые настроены стандартные фильтры в папке /opt/root/fail2ban-0.8.14/testcases/files/logs/
    Ну и в заключение скрипт автозапуска fail2ban. Несколько излишен и кривоват (буду признателен, если кто его доведет до ума), но, как будто работает:
    Code:
    wget -P /opt/etc/init.d/ ftp://101.noip.me/S92fail2ban
    Рассчитан на стандартный механизм запуска из папки /opt/etc/init.d с помощью rc.unslung и rc.func Последний в данном случае по ряду причин решил не использовать, а нужное из него просто позаимствовать. Не забываем проверить/сделать файл исполняемым:
    Code:
    chmod +x /opt/etc/init.d/S92fail2ban
    За помощь в освоении премудростей Linux вообще и прошивки для роутера + fail2ban в частности отдельное спасибо ryzhov_al! Разумеется, в приведенной здесь инструкции могут быть ошибки, но результат точно достижим.

    PS Прошу прощения за "левые" ссылки на файлы. Я не сообразил, как их разместить на форуме, чтобы корректно можно было сразу качать wget-ом на роутер, а на сторонних популярных сервисах везде https, который wget встроенный, как говорилось выше, не поддерживает :-( Если админы помогут сделать вложения доступными wget-ом именно с форума, я только за.

    Updated Ну вот, "левый" ftp сервер недолго прожил. Ссылки на него пока не удаляю, вдруг, оживет. Все файлы прикладываю к данному сообщению одним архивом. Как их содержимое передать на роутер, вы уж сами, пожалуйста, сообразите (копи-пасте, sftp, samba, ...).
    Attached Files Attached Files
    Last edited by ale_xb; 16-09-2015 at 20:52. Reason: умер "левый" ftp сервер.
    WL500gP1 (d-r2174) --> RT-N16 (rtn-r2888) --> RT-N16 FreshTomato

  11. #26
    Здравствуйте.
    Подскажите, а есть ли модуль res_security_log.so для нашего роутера на Asterisk11 ?

    P.S. Подскажите, кто-нибудь ставил на роутер fail2ban 0.9.3?
    Last edited by R...; 21-04-2016 at 19:03.

Page 2 of 2 FirstFirst 12

Similar Threads

  1. Установка интернет-радио на роутер
    By Mairone in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 132
    Last Post: 31-05-2016, 02:56
  2. Установка Tor и I2P на роутер Asus
    By MIB in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 55
    Last Post: 10-02-2015, 08:25
  3. Установка VLC на роутер ?
    By jek8 in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 88
    Last Post: 23-05-2013, 09:18
  4. Установка RRDTool и CRON на роутер
    By dizzy128 in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 173
    Last Post: 16-04-2012, 17:35
  5. how to install fail2ban on a WL700g
    By tiwag in forum WL-700g Tutorials
    Replies: 18
    Last Post: 08-04-2011, 21:05

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •