Биллинговая система Nodeny

Главная категория => Курилка => Тема начата: smallcms от 02 Марта 2010, 05:20:41



Название: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: smallcms от 02 Марта 2010, 05:20:41
Здесь перешёл с модемного ната на бридж... Это какой-то ад рай... Франция, Китай... Все хотят хакнуть ssh. Решил защитить сервер с NoDeny, заодно описывая шаги. Получился мини-хауту.

Мы будем собирать sshguard-ipfw, т.к. это основное, на чём работает наш с Вами биллинг. Переходим в порт с sshguard-ipfw:
Код:
cd /usr/ports/security/sshguard-ipfw

Далее поясню следующий параметр. По-умолчанию sshguard-ipfw собирается с окном для блокирующих правил в диапазоне 55000-55050. Мы "немного" понизим его до начальных правил, в стандартном файрволе у нас есть правила, разрешающие логиниться по ssh. Вот они:
Код:
${f} add 50 allow tcp from any to me 22
${f} add 51 allow tcp from me 22 to any
Как мы видим они мешают нам, т.к. подпадают под выбранный ниже диапазон (40-90). Позже мы передвинем эти правила чуть ниже. Итак устанавливаем sshguard-ipfw с окном файрвола от 40 до 90 правила:
Код:
make CONFIGURE_ARGS="--prefix=/usr/local --with-firewall=ipfw --with-ipfw-rules-range=40-90" install clean

Теперь в файле /etc/syslog.conf раскомментируем следующую строку (её нам прописал пакет sshguard-ipfw при инсталляции где-то в начале файла):
Код:
auth.info;authpriv.info     |exec /usr/local/sbin/sshguard

Перезагружаем сислог:
Код:
/etc/rc.d/syslogd reload

Теперь подробнее о механизме блокировки. Механизм прост: запрещающие  правила должны быть перед разрешающими. Именно поэтому мы изменяем в rc.firewall следующие строки (это бывшие 50 и 51 правила):
Код:
${f} add 92 allow tcp from any to me 22
${f} add 93 allow tcp from me 22 to any

Далее применяем изменения в файрволе, перезагружая всё с ним связанное от биллинга:
Код:
/etc/rc.d/ipfw restart
/usr/local/etc/rc.d/noserver.sh restart
/usr/local/etc/rc.d/nol2auth.sh restart
/etc/rc.d/pf restart

Берём левый компьютер и пытаемся от болды несколько раз зайти по ssh на наш биллинговый сервер. Когда перестало спрашивать пароль или  авторизировать вообще, смотрим наше окно с блокировками:
Код:
ipfw list 40-90
Левый компьютер уже там, верно?

Дополнительная тонкая настройка под себя:
http://www.sshguard.net/docs/man/sshguard/


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: VitalVas от 02 Марта 2010, 10:19:30
а не проще открить доступ в фаерволе кому вереш, или поменять порт sshd??


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: versus от 02 Марта 2010, 11:24:04
а не проще открить доступ в фаерволе кому вереш, или поменять порт sshd??

Не всегда айпи с которого админишь сервер фиксированный, например выехал на природу с 3g  и ноутом а там динамический, прийдется сначала на левый доверенный хост заходить, если есть....
Поменять порт тоже не всегда хорошее решение, но ничего против такого не имею.
Ну а лишняя защита пусть будет, почему бы и нет ?


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: VitalVas от 02 Марта 2010, 21:55:43
у меня всегда статический ір адрес, если нет, то делаю через впн
и всегда я меняю порт ссш

если уже на тот порт идет подбора паролей, то уже можна думать в сторону ограничения по ір или ставить ету програмулину


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: ser970 от 01 Апреля 2010, 20:03:24
вообще то можно красивее сделать

# bruteforce атаки на ssh 3 подключений за 30 секунд для нормального админа хватает ну разве что с будуна


pass in on $ext_if proto tcp from any to ($ext_if) port ssh flags S/SA keep state (max-src-conn-rate 3/30, overload <ssh-bruteforce> flush global)
block drop in quick on $ext_if from <ssh-bruteforce>

используя expiretable (есть в портах) очшисчаем в таблице запсиси кждые 10мин и выкидывает старее 1800сек (30мин)
в крон
*/10 * * * * /usr/local/sbin/expiretable -t 1800 ssh-bruteforce

аналогичено для других потов устанавливаем лимит сесий за время и занасим в свои таблицы таблиц

такая фишка и со спамао катит


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: podavan от 29 Мая 2010, 12:56:04
по мне так, смена 22 порта тривиальное решение но не всегда спасает, лучше настроить сам ssh на количество неправильных набраных паролей 2 раза, а после этого давать гулять минут на 10, нехорошо админу, бруту ещё хуже)


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: Cell от 29 Мая 2010, 21:22:14
по мне так, смена 22 порта тривиальное решение но не всегда спасает, лучше настроить сам ssh на количество неправильных набраных паролей 2 раза, а после этого давать гулять минут на 10, нехорошо админу, бруту ещё хуже)
Все как бы так и есть, но реально, у кого-то есть рапорты о бруте на демоне, слушающем не стандартный порт?  У меня таких рапортов не было ни разу.


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: nops от 31 Мая 2010, 05:18:38
А почему бы не отключить авторизацию по паролю? Сделать только по ключу и радуйся, пускай хоть за перебирают пароли))))) До сканчания века перебирать будут ;D


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: podavan от 31 Мая 2010, 21:22:12
Цитировать
А почему бы не отключить авторизацию по паролю? Сделать только по ключу и радуйся, пускай хоть за перебирают пароли
А например по простой причине, нужен удалённый доступ к машине, а под рукой только мобила..., конечно не проблема и в WM сертификаты запихнуть, но может возникнуть нестандартная ситуация, при которой с сертификатами можно потратить время, а оно иногда так дорого)
Цитировать
У меня таких рапортов не было ни разу
В силу тараканов в голове разного цвета и размера у каждого индивидуально, ряд задач большая часть выполняет как им хочется, лишь бы стабильно и устойчиво работала, по мне так каждый вариант имеет право на жизнь, чем лучше умеешь работать, тем и работай)


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: ser970 от 01 Июня 2010, 09:08:48
вооще в системах безопасности и защиты информации лучше быть параноиком и использоваять все и сразу , чем електриком которому все до лампочки.
у меня один раз был случай бутфорса на порт 1231 тут висел ссн.


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: Aivanzipper от 02 Июля 2010, 10:20:29
А я хочу порекомендовать решение намного интереснее чем sshguard-ipfw. Называется оно fail2ban. Чем интереснее? А тем, что настроить его можно не только на ссх, а на любое приложение которое пишет логи ) В этом и заключается принцип работы fail2ban - мониторинг и парсинг логов регексами. Также система эта чрезвычайно гибкая, поддерживает множество файрволов и имеет массу настроек. Умеет отсылать мыло с информацией о забаненых. Прикольно оно еще из райпа берет данные провайдера атакующего )

Порт /usr/ports/security/py-fail2ban

ЗЫ натолкнулся на него когда искал защиту от перебора для демона proftpd


Название: Re: Защита сервера от перебора (брута) паролей ssh (NoDeny + sshguard-ipfw)
Отправлено: smallcms от 23 Декабря 2010, 06:57:52
Да, ещё момент, если пересобираются порты часто (а они пересобираются часто у хороших хозяев), можно вместо опций у make просто добавить в /usr/local/etc/pkgtools.conf
Код:
  MAKE_ARGS = {                                                                 
    'security/sshguard-ipfw' => 'CONFIGURE_ARGS+=--prefix=/usr/local CONFIGURE_ARGS+=--with-firewall=ipfw CONFIGURE_ARGS+=--with-ipfw-rules-range=40-90'
  }
тогда portupgrade сам будет указывать опции автоматом.