URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 57830
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Борьба с перебором паролей на FTP с..."

Отправлено auto_tips , 13-Авг-09 22:01 
Для предотвращения bruteforce-атак по подбору паролей во FreeBSD или OpenBSD можно использовать
возможность пакетного фильтра PF по лимитированию числа соединений за единицу времени в сочетании с блокировкой по таблицам.

Добавляем в /etc/pf.conf

   # Подключаем ранее составленный список заблокированных за излишнее число коннектов IP
   table <ftp-attacks> persist file "/etc/pf.ftp.block.list"

   # Блокируем все входящие соединения с IP, которые присутствуют в черном списке
   block in quick on $ext_if from <ftp-attacks>

   # Выявляем IP с которых было более 5 обращений за 40 секунд
   # и добавляем этот IP в ранее созданную таблицу блокировки
   pass in quick on $ext_if inet proto tcp from any to ($ext_if) port 21 keep state (max-src-conn-rate 5/40, overload <ftp-attacks> flush global)

Перечитываем конфигурацию PF:
   /etc/rc.d/pf reload
или
   /sbin/pfctl -f /etc/pf.conf

Далее, чтобы сохранить созданную таблицу блокировки между перезагрузками, необходимо добавить
в /etc/rc.shutdown код для сброса в файл состояния таблицы перед завершением работы:
   /sbin/pfctl -t ftp-attacks -T show > /etc/pf.ftp.block.list

Для удаления определенного IP (например, 192.168.1.1) из таблицы:
   /sbin/pfctl -t ftp-attacks -T delete 192.168.1.1

Для добавления IP или подсети вручную:
   /sbin/pfctl -t ftp-attacks -T add 192.168.1.1
   /sbin/pfctl -t ftp-attacks -T add 192.168.1.0/24

Для полной очистки таблицы
   /sbin/pfctl -t ftp-attacks -T flush

Для загрузки таблицы из файла:
   /sbin/pfctl -t ftp-attacks -T replace -f /etc/pf.ftp.block.list

Для поиска IP в таблице
   /sbin/pfctl -t ftp-attacks -T test 192.168.1.1

Для вывода более подробной статистики по каждому из IP в таблице:
   /sbin/pfctl -t ftp-attacks -T show -v

Для очистки счетчиков срабатываний:
   /sbin/pfctl -t ftp-attacks -T zero

URL: http://www.cyberciti.biz/faq/freebsd-openbsd-pf-stop-ftp-bru.../
Обсуждается: http://www.opennet.me/tips/info/2140.shtml


Содержание

Сообщения в этом обсуждении
"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено alex_odessa , 13-Авг-09 22:01 
Спасибо.

"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено Щекн Итрч , 14-Авг-09 00:33 
Тоже спасибо. А то sshit regexp'ов не имеет для распознавания ftp брутов, а ума и трудолюбия дописать у меня не хватает. Хорошо было бы ftp-серверы наделить опцией: "писать в auth.log сообщения об отказе в аутентификации формате sshd". Было бы сверхудобно.

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Andrey Mitrofanov , 14-Авг-09 13:54 
>Хорошо было
>бы ftp-серверы наделить опцией: "писать в auth.log сообщения об отказе в
>аутентификации формате sshd".

А давайте этому научим(*) соотв.модули PAM, и _волшебным_ образом fail2ban-у и аналогам "научатся" login, telnet, всякие pop3d и прочие.

Ой, а в опенбсд пам-то есть? $)

(*)И да -- пусть кто-нибудь другой.


"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Щекн Итрч , 15-Авг-09 04:06 
этому научим(*) - мысль есть, денег нет. Но, вообще, созреваю. fail2ban - целует морковь взасос или, по простому, сосёт. Нужно переписывать sshit. Только тупой | в сканер логов дает эффект. РАМ, волшебным образом, бесполезен для диагностирования брутов.

"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено Ma_X_X , 14-Авг-09 09:39 
А разве "во FreeBSD или OpenBSD" нет простого fail2ban?

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено charon , 14-Авг-09 12:13 
есть. Тесты на ВПС показывают, что fail2ban потребляет заметное количество ресурсов, поэтому лучше не плодить сущности.

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Анонимус. , 14-Авг-09 12:14 
Тебе альтернативный вариант описали, это не значит что все забыли что такое  fail2ban .

И не все должны им пользоваться.


"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Щекн Итрч , 15-Авг-09 04:09 
>А разве "во FreeBSD или OpenBSD" нет простого fail2ban?

А нарисуйте-ка мне how-to для брута против ftp?
Буду искренне признателен.


"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Щекн Итрч , 22-Авг-09 06:12 
Сам нарисовал. fail2ban рулит.

"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено artemrts , 14-Авг-09 12:22 

Еще можно добавить max-src-nodes и max-src-conn

"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено 0lpa , 14-Авг-09 12:27 
А смысл держать таблицу в файле, да еще сохранять ее при перезагрузке?
Можно просто каждый час по cron-у ее чистить, так по-моему проще, да и для честных юзеров какого-нибудь прокси может случиться вечный бан.

"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено Touch , 14-Авг-09 14:14 
bruteblockd

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено grayich , 14-Авг-09 15:53 
+1
хорошая штука http://samm.kiev.ua/bruteblock/

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено BonDit , 14-Авг-09 22:12 
pf не умеет(

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Щекн Итрч , 15-Авг-09 04:07 
>pf не умеет(

Оть иманна. Нет PF - гулять лесом.


"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Touch , 17-Авг-09 15:24 
угум .. нет PF'а - нет пролем с натом GRE и перебором паролей ..

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено Touch , 17-Авг-09 15:24 
>угум .. нет PF'а - нет пролем с натом GRE и перебором
>паролей ..

нет проблем


"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено Аноним , 14-Авг-09 20:12 
ЖЖоте, а еще десяток альтернативных вариантов слабо написать? Или теперь каждый кто пишет заметки , должен расписывать все варианты что бы его не обливали грязью и было советами.

"Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF"
Отправлено Аноним , 15-Авг-09 13:02 
Манов ещё так много, а все нужно обязательно поместить на опеннет в виде заметок...

"Борьба с перебором паролей на FTP сервере при помощи пакетно..."
Отправлено daemon17 , 09-Ноя-11 14:11 
У меня работает скрипт по крону анализируя лог ftp
и никаких списков не надо держать.
Больше 3-х неправильных заходов и пошел в bruteforce.
=================================
#!/bin/sh

# add IP to PF table bruteforce
#
logfile="/var/log/xferlog"
grep "Authentication failed" ${logfile} >/dev/null 2>&1
if [ $? -eq 0 ]; then
    set `grep "Authentication failed" ${logfile}|sed 's/.*\@//; s/).*//'|uniq -c`
    while [ $# -ge 2 ]; do
        ip=$2
        count=$1
        if [ $count -ge 3 ]; then
            /sbin/pfctl -t bruteforce -T show | grep $ip
            if [ $? -ne 0 ]; then
                /sbin/pfctl -t bruteforce -T add $ip
                echo "Address $ip add to table PF \"bruteforce\"" >> /tmp/bruteforce
            fi
        fi
        shift 2
    done

fi
if [ -f /tmp/bruteforce ]; then
    cat /tmp/bruteforce | mail -s "Bruteforce" root; rm -rf /tmp/bruteforce
fi
/sbin/pfctl -t bruteforce -T expire 86400

exit