PDA

Bekijk de volledige versie : Установка fail2ban на роутер



danmer
16-01-2011, 13:41
Не могу разобраться в системе защиты роутера от брутфорса.

Читал форум- нашел несколько методов-
-изменение post-firewall
-изменение стандартных портов
-инсталляция fail2ban

Меня заинтересовал fail2ban, т.к. хочу избавиться от попыток перебора на
-dropbear
-ftp
-vsftpd
с занесением IP (после 5 неудачной попытки логина) в перманентный ban.

Но как закачать на роутер нужную версию fail2ban и будет ли она работать?
http://www.fail2ban.org/wiki/index.php/Downloads

Описание fail2ban тут (http://wl500g.info/showthread.php?t=10400&highlight=fail2ban) вроде как есть, но меня напрягает фраза:
"After that you need to do some tweaking..."

З.Ы. Вообще, на форуме много информации, но она абсолютно непригодна "для чайника". Типа: "да возьми и установи" или, еще хуже того: "after that install it"

Единожды "разжевав" тему можно избавиться от сотен подобных вопросов.
Если ни у кого нет сил на это, то помогите хоть составить грамотные запросы к гуглу, для того, чтобы не читать сотни лишнего. :confused:

Прошу помочь.

Pablo Escobar
16-01-2011, 17:47
Меня заинтересовал fail2ban, т.к. хочу избавиться от попыток перебора на
-dropbear
-ftp
-vsftpd
с занесением IP (после 5 неудачной попытки логина) в перманентный ban.



а чем вас встроенный dropbear не устроил? для самого чайничного чайника, кмк.
и как понять "попытки перебора на dropbear"?

terrabyte
16-01-2011, 18:25
а чем вас встроенный dropbear не устроил? для самого чайничного чайника, кмк.
и как понять "попытки перебора на dropbear"?

Он имеет ввиду скорее всего в логе попытки подбора пароля на 22 порт.

Pablo Escobar
17-01-2011, 14:02
Он имеет ввиду скорее всего в логе попытки подбора пароля на 22 порт.

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

terrabyte
17-01-2011, 17:16
dropbear плюс поставить нормальные пароли и перевесить все на нестандартные порты. думаю, вполне достаточно будет для домашнего пользователя. если не параноить, конечно.

согласен полностью

danmer
18-01-2011, 01:33
Pablo Escobar, terrabyte
спасибо большое за совет- оч полезно т.к. пределов минимальной достаточности мне неизвестно, да и в тему подходящую перенесли запрос.
В общем так и сделал.
Поменял порт ssh, ftp оставил, но заблокировал "дятлов" из файла BRUTE.

З.Ы. Просто роутер стал иногда "тупить"- думаю может из за долбежки извне? Может посоветуете еще:
при "проблемах" с роутером, "зависаниях"- какие логи смотреть, где их смотреть и какие слова в них искать?

Т.е. как понять кто виноват в "подвисе" роутера- самба, фтп или вообще- дс++ клиент с ноутбука? )))

Pablo Escobar
18-01-2011, 09:29
Pablo Escobar, terrabyte
З.Ы. Просто роутер стал иногда "тупить"- думаю может из за долбежки извне? Может посоветуете еще:
при "проблемах" с роутером, "зависаниях"- какие логи смотреть, где их смотреть и какие слова в них искать?

Т.е. как понять кто виноват в "подвисе" роутера- самба, фтп или вообще- дс++ клиент с ноутбука? )))

"тупить" - это из серии "подземного стука". нужны версии роутера, прошивок, установленного софта, загрузка процессора в момент "тупения", system log и далее до полного просветления.
В данной ветке это оффтопик, кмк. На форуме масса информации, попробуйте гуглем по сайту поискать сначала.

danmer
18-01-2011, 11:09
да, это понятно.

А на какие слова хотя бы гуглить по форуму?

З.Ы. Извините пожалуйста за оффтопик

Pablo Escobar
18-01-2011, 11:36
да, это понятно.

А на какие слова хотя бы гуглить по форуму?

З.Ы. Извините пожалуйста за оффтопик

не знаю, т.к. "тупить" = "подземный стук". нужно сформулировать более осмысленно. посмотрите system log для начала, там должны быть признаки "долбежки". какие? стукните сами с неправильным паролем и смотрите.

reiten
08-04-2011, 21:05
I've got fail2ban running on RT-R16.
Here is ipkg-file.

Jogi
27-11-2012, 17:23
Столкнулся с необходимостью защиты от атак на nginx, а точнее на BASIC AUTH. Есть решение использовать fail2ban, но в репозиториях entware такого пакета нет. В недрах форума нашлась сборка под optware и как раз под мой роутер - http://wl500g.info/showthread.php?10400-how-to-install-fail2ban-on-a-WL700g&p=229364#post229364 , но попытка установки на entware заканчивается вот чем:

$ opkg install fail2ban_0.8.4-1_mipsel.ipk
Unknown package 'fail2ban'.
Collected errors:
* pkg_hash_fetch_best_installation_candidate: Packages for fail2ban found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package fail2ban.
В приложении вывод c debug_level=4
9353

Есть ли возможность установки/сборки fail2ban на entware ?

ryzhov_al
27-11-2012, 17:48
Столкнулся с необходимостью защиты от атак на nginx, а точнее на BASIC AUTH. Есть решение использовать fail2ban, но в репозиториях entware такого пакета нет....и вряд ли будет. fail2ban - это просто питоновский скрипт (http://www.fail2ban.org/wiki/index.php/Requirements), ничего более.

Скачивайте да используйте, моего вмешательства для этого не требуется.

ale_xb
29-11-2012, 08:41
полагаю, многие новички или, как я, не слишком разбирающиеся в linux, пользуются скриптом "Установка программ для чайника", в том числе и его новой редакцией. Подскажите, пожалуйста, что необходимо в нем править при переходе на Entware.

KRandall
14-03-2014, 16:04
Доброго времени суток

Вопрос: Можно ли в режиме real-time сделать так, чтобы при соответствии текущей записи лога lighttpd определенному паттерну сразу же как-то реагировать?

Моих знаний сейчас хватает на то, чтобы раз в 1-5-10 минут парсить лог lighttpd, ну тут все понятно. А можно ли это сделать online?

Hohmach
14-03-2014, 19:59
используйте fail2ban

KRandall
15-03-2014, 07:32
Fail2ban ценен сам по себе, но не подходит под мою задачу.

Нужно парсить строчку лог-файла на предмет наличия определенного текста в реферале (выделено)
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"и если искомый текст найден, то отрпавлять эту запись лога на электронную почту

ryzhov_al
15-03-2014, 14:39
Не понимаю при чём здесь роутеры:)

Fail2ban ценен сам по себе, но не подходит под мою задачу.
Нужно парсить строчку лог-файла на предмет наличия определенного текста в реферале (выделено)
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"и если искомый текст найден, то отрпавлять эту запись лога на электронную почту


#!/bin/sh
tail -f /opt/var/log/lighttpd_access.log | while read "STRING"
do
echo "log says $STRING"
done

KRandall
16-03-2014, 16:47
Спасибо за подсказку, вопрос решен

P.S. К роутеру действительно вопрос отношения не имеет.
Задал его в теме про Lighttpd, потому что думал, что задачу можно решить средствами WEB-сервера

ale_xb
17-11-2014, 21:14
можно попросить скомпилировать и по возможности добавить в репозиторий Entware fail2ban ( https://github.com/fail2ban/fail2ban ) ?
необходимая для asterisk вещь

don-pedro
18-11-2014, 07:18
можно попросить скомпилировать и по возможности добавить в репозиторий Entware fail2ban
Там нечего компилировать. Ибо "The only required dependency needed to run Fail2ban is Python".

ale_xb
19-11-2014, 07:35
все установилось. с python-mini не хватало каких-то функций, пришлось поставить полный вариант. Также не смог корректно установить все в /opt, хотя путь в инсталляционном скрипте сразу поправил. В итоге потом скопировал папку настроек fail2ban из /etc в /opt/etc + правил пути во всех конфигурационных файлах. Вполне вероятно, я просто не внимательно следовал указаниям по установке и все могло бы установиться/настроиться автоматом. В общем, удалось в итоге запустить fail2ban-0.8.14, сейчас разбираюсь с настройками, пока ничего не банит - где-то мои ляпы.

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

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

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

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

А можно немного по подробнее про установку и стартовый скрипт написать. А то, что то не получается запустить. Вроде установил в /opt , но не запускается

ale_xb
06-07-2015, 13:14
Привожу свои настройки (во вложении) 10131 и 10132. Оба файла (без расширения 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 даже, если предыдущее завершение было некорректным.

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

1. Ставим нужный для работы пакет python и качаем fail2ban, являющийся набором скриптов на этом языке.
Я закачивал в папку /opt/root/ Вы можете использовать, другую, например, /tmp/
Я использовал версию fail2ban 0.8.14 (ftp://101.noip.me/fail2ban-0.8.14.tar.gz) - very-stable, вы можете более свежую. Последняя - fail2ban-0.9.3-1 (https://github.com/fail2ban/fail2ban/archive/0.9.3.tar.gz).
Встроенный в прошивку wget не работает с https протоколом, поэтому собственно fail2ban я приложил к данному сообщению. Ссылка в коде ниже именно на это вложение. Вы можете скачать его сами с первоисточника либо с GitHub (https://github.com/fail2ban/fail2ban/archive/0.8.14.tar.gz), либо с сайта fail2ban.org (https://github.com/fail2ban/fail2ban/archive/0.8.14.tar.gz) , например, с помощью браузера, а затем доступным для вас способом (FTP, SAMBA, SFTP) передать его на роутер.

opkg install python
mkdir /opt/root
cd /opt/root
wget ftp://101.noip.me/fail2ban-0.8.14.tar.gz
2. Распаковываем fail2ban

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, то можете просто скачать эти файлы (ftp://101.noip.me/setup.tar.gz) с заменой на мои уже исправленные из вложения:

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. Запускаем собственно установку

cd /opt/root/fail2ban-0.8.14
python setup.py install
5. Правим пути аналогично п.3 в исполняемых скриптах (ftp://101.noip.me/bin.tar.gz) Можете также скачать мои поправленные файлы:

wget -P /opt/root/ ftp://101.noip.me/bin.tar.gz
tar xzvf /opt/root/bin.tar.gz -C /opt/bin/
В принципе, это всё, можно пользоваться (лучше все же дочитайте до конца прежде), запустив fail2ban командой
fail2ban-client -x startКлюч "-x" рекомендую использовать, чтобы при некорректном завершении своей работы fail2ban при последующем старте удалял "подвисший" сокет.
Справка вызывается
fail2ban-client -h остановка/перезагрузка конфигов/статус/проверка доступности сервера соответственно выполняются командами:

fail2ban-client stop
fail2ban-client reload
fail2ban-client status
fail2ban-client ping
Команда
fail2ban-regex /opt/var/log/messages /opt/etc/fail2ban/filter.d/dropbear.confполезна при проверке/правке ваших фильтров поиска в логах сообщений об ошибках аутентификации. Например, в указанном варианте она проверит лог-файл messages на совпадение с регулярными выражениями, описанными в файле фильтра dropbear.conf для демона ssh. При наличии сообщений об ошибке аутентификации в итоге будет выдано кол-во проанализированных строк записей в логе, распознанный формат даты и времени и количество совпадений с фильтром.

Команда
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
Я привожу здесь (ftp://101.noip.me/conf.tar.gz) свой комплект настроек, в котором у меня задействуются jail для служб dropbear, vsftpd и asterisk. Кроме того пришлось добавить свой файл /opt/etc/fail2ban/common.local из-за чуть другого формата записей в лог messages встроенного в прошивку logger-а. Можете его использовать (updated: файл common.local внесенных изменений в общий фильтр почему-то упорно не хочет работать в основной директории настроек fail2ban. Пришлось его переместить в папку со всеми фильтрами. Добавил третью команду):

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/
Ну и в заключение скрипт автозапуска (ftp://101.noip.me/S92fail2ban) fail2ban. Несколько излишен и кривоват (буду признателен, если кто его доведет до ума), но, как будто работает:

wget -P /opt/etc/init.d/ ftp://101.noip.me/S92fail2ban
Рассчитан на стандартный механизм запуска (http://wl500g.info/showthread.php?13220) из папки /opt/etc/init.d с помощью rc.unslung и rc.func Последний в данном случае по ряду причин решил не использовать, а нужное из него просто позаимствовать. Не забываем проверить/сделать файл исполняемым:

chmod +x /opt/etc/init.d/S92fail2ban

За помощь в освоении премудростей Linux вообще и прошивки для роутера + fail2ban в частности отдельное спасибо ryzhov_al! (http://wl500g.info/member.php?15023-ryzhov_al) Разумеется, в приведенной здесь инструкции могут быть ошибки, но результат точно достижим.

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

Updated Ну вот, "левый" ftp сервер недолго прожил. Ссылки на него пока не удаляю, вдруг, оживет. Все файлы прикладываю к данному сообщению одним архивом. Как их содержимое передать на роутер, вы уж сами, пожалуйста, сообразите (копи-пасте, sftp, samba, ...).

R...
18-04-2016, 00:39
Здравствуйте.
Подскажите, а есть ли модуль res_security_log.so для нашего роутера на Asterisk11 ?

P.S. Подскажите, кто-нибудь ставил на роутер fail2ban 0.9.3?