Защита ssh от брутфорса на OpenBSD

Аватар пользователя ttys

Блокировка брутфорс атак на ssh средствами sshwatchd

Ставим:

cd /usr/ports/security/
wget http://www.ignix.ru/system/files/sshwatchd.tar.gz

tar xfv sshwatchd.tar.gz
cd /usr/ports/security/sshwatchd/
make && make install clean 

Проверяем, если всё в порядке то увидим примерно это:
ls /usr/local/sbin | grep sshwatchd 
-r-xr-xr-x  1 root  bin  14.2K Feb 16 08:37 sshwatchd

Правим /etc/rc.local:

У меня допускается 2 ошибки за 60 секунд.
vi /etc/rc.local

if [ -x /usr/local/sbin/sshwatchd ]; then
        /usr/local/sbin/sshwatchd -s 60 -m 2  && echo -n ' sshwatchd'
fi


Правим /etc/pf.conf:
vi /etc/pf.conf
table <blocked> persist
block in log quick from <blocked>
pass in on $int_if proto tcp from $int_if:network to $int_if port ssh synproxy state
pass in on $ext_if proto tcp from any to $ext_if port ssh synproxy state

Варианты запуска sshwatchd:


usage: sshwatchd [-dk] [-f logfile] [-l facility] [-m maxfails] [-s seconds] [-t table]

  • -d - Отладочный режим. Не отцепляться от терминала, на stderr выводить диагностические сообщения.
  • -f logfile - Указывает log файл, за которым нужно наблюдать. По умолчанию используется /var/log/authlog.
  • -k - Указывает на то, что при блокировке адреса следует убить PF статы, относящиеся к нему.
  • -l facility - Указывает syslog facility. Допустимыми значениями являются auth, authpriv, daemon, local0-local7. Значение по умолчанию auth.
  • -m maxfails - Указывает количество ошибок авторизации за заданный промежуток времени, вызывающее блокировку адреса. Значение по умолчанию 8.
  • -s seconds - Указывает промежуток времени для измерения количества ошибок авторизации в секундах. Значение по умолчанию 5.
  • -t table - Указывает имя PF таблицы, в которую добавляются заблокированные адреса. Значение по умолчанию blocked.

Посмотреть тех кто в таблице можно так:

pfctl -t blocked -T show

Удалить ip адрес (например 192.168.1.9), из таблицы можно так:
pfctl -t blocked -T delete 192.168.1.9

осталось настроить cron
crontab -e

30  *  *  *  *  /sbin/pfctl -t blocked -T expire 86400

Каждые час (в 30 минут) "-T expire 86400" удаляет все записи из таблицы старше 86400 секунд (сутки)

В OpenSSH версий до 4.3 включительно при использовании режима разделения привилегий (режим по умолчанию) на каждую ошибку авторизации в лог пишутся два сообщения.

На всякий случай программа по умолчанию собирается как static.

Чтобы собрать dynamic вариант, нужно дать команду "make LDSTATIC=".

Также можно защитится от ssh брутфорса и средствами pf (Защита ssh от брутфорса)

ВложениеРазмер
sshwatchd.tar.gz30 КБ
Дополнительные материалы
Голосов пока нет

порт поменять на какой нить

порт поменять на какой нить 666 и запретить сканирование портов - очень помогает

а зачем эти извращения если

порт поменять на какой нить 666 и запретить сканирование портов - очень помогает

а зачем эти извращения если есть готовое решение?

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed> <object> <param> <strike> <caption>
  • Строки и параграфы переносятся автоматически.
  • Вы можете использовать подсветку исходного кода следующими тегами: <code>, <blockcode>, <apache>, <bash>, <c>, <cpp>, <mysql>, <perl>, <php>, <python>, <text>. The supported tag styles are: <foo>, [foo].
  • Glossary terms will be automatically marked with links to their descriptions. If there are certain phrases or sections of text that should be excluded from glossary marking and linking, use the special markup, [no-glossary] ... [/no-glossary]. Additionally, these HTML elements will not be scanned: a, abbr, acronym, code, pre.

Подробнее о форматировании

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
10 + 1 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.

Последние статьи

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer