Страница 1 из 1

защита доступа к sshd.

Добавлено: 2009-08-03 14:06:05
mastertron
Хотел обойтись без удаленного доступа, но ... Нужна защита от хулиганов.
С линуксом (iptables) вариантов много, крути-верти, а вот с PF так не поиграешь.
Пробовал portsentry, чет не очень хочет работать, под опен ругается, просит запустить только либо -tcp, либо -udp.
Да и не совсем то, что хотелось бы.
Народ, дайте совет, как отсечь аболтусов и роботов. Засунуть IP в таблицу PF не проблема, как его проанализировать.
Хотелось бы - запуск скрипта и передача в него IP после н-ной неудачной попытки залогинится.
Или с одного IP только два новых коннекта в течении часа, ну что-то типа ...
Постоянно сканить лог? Может есть что по толковее?

Re: защита доступа к sshd.

Добавлено: 2009-08-03 18:48:29
Fioktist
тут URL я первый раз с этим познакомился

а тут URL тоже изящно расписано
Очищаем таблицу раз в час, по крону :
59 * * * * root/sbin/pfctl -t BRUTEFORCERS -T expire 86400
а это в крон и время поставь как тебе надо

тут под URL уже есть
# правила для внешнего интерфейса
# аккуратненько открываем ssh снаружи, те кто брутфорсят станут "плохими парнями" и буду занесены в черный список
pass quick inet proto tcp to port ssh tagged in_ext flags S/SA modulate state (max-src-conn 5, max-src-conn-rate 5/60, overload <badhosts> flush)

Re: защита доступа к sshd.

Добавлено: 2009-08-03 20:25:56
paradox
Хотелось бы - запуск скрипта и передача в него IP после н-ной неудачной попытки залогинится.
Или с одного IP только два новых коннекта в течении часа, ну что-то типа ...
ident
или как там он называеться
подскажите кто помнит

Re: защита доступа к sshd.

Добавлено: 2009-08-03 22:01:32
helloworld
Как всё сложно :shock:

Посмотрите в сторону denyhosts.

Re: защита доступа к sshd.

Добавлено: 2009-08-04 7:25:32
mastertron
denyhosts? Но у меня нет постоянного IP с которого я должен получять доступ, к томуже он сработает после ответа системы на запрос доступа к сервису, а идея (желание) в том, чтоб резать "пулеметный огонь на подступах".
тут URL я первый раз с этим познакомился
Спасибо, но не увидел желаемого. Как понял, речь идет об отслеживании (логировании), а эрекция на попытку ?
Остальное еще изучаю, спасибо.

Re: защита доступа к sshd.

Добавлено: 2009-08-04 12:37:48
Fioktist
дубль
а тут URL тоже изящно расписано
убери только queue ( qssh, qack ) если файервол без шейпера
# ssh для локальных юзеров

Код: Выделить всё

pass in on $int_if proto tcp from $int_if:network to $int_if port ssh \ 
 queue ( qssh, qack ) synproxy state ( max-src-conn-rate 1/60, \ 
  overload <BRUTEFORCERS> flush global )
# и для пользователей с инета

Код: Выделить всё

pass in on $ext_if  proto tcp from any to $ext_if port ssh \
 queue ( qssh, qack ) synproxy state ( max-src-conn-rate 1/60, \ 
  overload <BRUTEFORCERS> flush global )
# synproxy защищает наш сервис ssh от DoS атак, благодаря тому, что
# сначала САМ устанавливает соединение
# (не допуская полуоткрытых состояний),
# а потом передает установленное соединение сервису.
# Имеет немного бОльшие накладные расходы по сравнению с keep

# max-src-conn-rate numer/time interval
# позволяет применить определенные действия
# к превысившим ограничение по количеству подключений
# за единицу времени. Здесь я указал максимум 1 подключение
# за 60 секунд. Все превысившие это ограничение заносятся в таблицу
# BRUTEFORCERS и с ними разрываются (flush) установленные
# соединения по всем (global) портам. Обратитие внимание, что
# 1/60 -- очень агрессивная настройка. Не попадитесь под нее сами.
# В Вашем случае 5/300 возможно будет более актуальным.
Очищаем таблицу раз в час, по крону :

Код: Выделить всё

59 * * * * root/sbin/pfctl -t BRUTEFORCERS -T expire 86400
а это в крон и время поставь как тебе надо
поверь все вышеописанное в pf работает как часы, хоть на опенке хоть на фрее

также можно и веб сервер "защищать"
# Правило: пропускаем трафик вебсервера ------------------------------

Код: Выделить всё

pass in on $if inet proto tcp from any to $if port www \
     flags S/SA synproxy state \
     (source-track rule, max-src-states 96, max-src-conn 48, max-src-conn-rate 48/60, overload <abusive> flush)

Re: защита доступа к sshd.

Добавлено: 2009-08-04 19:04:59
skeletor
Попробуй вот это (каждая софтина хороша по себе)

sshguard-pf
sshit
fail2ban

Re: защита доступа к sshd.

Добавлено: 2009-08-04 19:17:04
mastertron
Fioktist спасибо. Я даже и не подозревал о таких возможностях, я ЗНАЛ :smile: что в опене - все в порядке.
Работает отлично. Знакомился с PF по статье, в которой описано все скудненько, наверняка там есть еще "штучки".
Если есть что для развития, ткните пож.
Даже както неудобно, разжевали и в рот положили :oops:

skeletor, спасибо за наводку, пощупаю.

Работой функциональностью PF полностью удовлетворен!!!

Re: защита доступа к sshd.

Добавлено: 2009-08-25 17:38:58
fox_12
Вот еще эту утилитку стоит глянуть:
http://blocksshd.sourceforge.net/

Re: защита доступа к sshd.

Добавлено: 2009-09-05 17:52:02
Anton.M
как всё сложно...
Конечно параноя это хорошо, но в большинстве случаев достаточно перевесить sshd на другой порт и запретить логин для рута по ssh
+ и если хочется задать список логинов, которые могут логиниться по ssh...
Кроме того в самом sshd есть средства защиты от DDOS'a (MaxStartups) и bruteforce (MaxAuthTries) :pardon:
Хотя для особо тяжелых случаев выше написали кучу примочек ;-)