Примерно в начале ноября специалисты по безопасности заметили необычное поведение ботнетов. Они начали координированную работу по медленному перебору логинов и паролей к самым разным хостам. Специалисты называют это «медленным брутфорсом», потому что скорость перебора паролей крайне мала (нужно перебрать все комбинации паролей для всех возможных логинов по словарю) — этот процесс займёт несколько лет.
Но за счёт огромного числа машин, участвующих в «атаке», дело всё-таки постепенно продвигается — каждый день злоумышленники получают какой-то «улов». Запросы идут с разных IP (см. логи). Атака явно координируется из общего центра (у ботов есть общий словарь для перебора вариантов).
# сюда будет высылать отчет о забаненных IP
ADMIN_EMAIL = mail@example.com
# какие сервисы контролировать (можете добавить например ftpd)
BLOCK_SERVICE = sshd
# лог
DAEMON_LOG = /var/log/denyhosts
# список забаненых IP
HOSTS_DENY = /etc/hosts.deniedssh
# секурный лог, туда помещается информация о соединениях
SECURE_LOG = /var/log/auth.log
# количество неправильных авторизаций
DENY_THRESHOLD_INVALID = 5
Теперь при добавлении IP в забаненый список вы получите уведомление на mail@example.com
Стартуем утилиту
# /usr/local/etc/rc.d/denyhosts start
Как сказал дуд, вообще лучше использовать сертификаты и отказаться от ввода логина/пароля, однако это не всегда удобно...
Замена порта однозначно рулит, как + к этому разрешение ssh по этому порту только с определенных IP внутреннюю сеть можно оставить всем, (кто знает от куда придется) а вот внешнюю однозначно резать.
ИМХО ставить ради этого что-то себе дороже, а вдруг в пьяном бреду забыл логин и пароль от сервера который за 300 км =) и все командировка обеспечена, все это проходили знаем
Что касается смены IP адреса разрешенного на коннект, в экстренных можно секретарше в асе объяснить что нужно качнуть, что прописать и какую строку влить в фаер, что бы потом можно было удаленно зайти и сделать все как надо =) Если уж совсем влом ехать далеко.
Пробовал.. почемуто не работает.
Freebsd 7.2
Python выше 2.1
всё стартует, но не работает... письма не шлёт, хотя мыло и сервер прописаны. Порты на ipfs открыты нужныет.
в файл /etc/hosts.deniedssh хосты появляются, но отбрасывает не правильно вписавшего пароль уже после первой попытки подбора. Хотя в конфиге написано чтоб после 5-ой попытки подбора. Причём даже попавшие в hosts.deniedssh при верно вписаном логине и пароле всё равно входят на срвер через ssh. Кстати freebsd 7.1 ... описался, пардон. А почта у меня через ssmtp отапраляется. Другие письма то получаю.
Наверно было бы лучше разрешить ssh доступ для подсети преднозначеной под VPN или OpenVPN туннелирование.
Ну предположим поднять простенький VPN сервис, а имено mpd5. Можно VPN использовать посредством стандартных утилит Windows.
Поднимаем VPN тунель до срервера , автоматом получаем IP из выделенной подсети на mpd5 . Ну предположим выделенна подсеть 10.36.188.192/26 и мы получили 10.36.188.193
Соответственно в sshd_config прописываем .
AllowUsers @10.36.188.
Все без поднятого VPN на ssh не попасть.
Ну данную фичу я конечно всеравно прикручу , пусть будет . Бывают моменты открываю SSH для всех IP. Порой не знаешь , где ты окажешься и где надо залогиниться.
Да, так тоже вариант, но имхо первое это сменить порт, второе это соединяться по сертификату. Думаю после таких мероприятий уже нет необходимости в туннеле.
вот ты же эдво умный парень, а херней балуешься :)
1 раз сделай: http://www.google.ru/search?hl=ru&newwindow=1&q=How+to+Use+RSA+Key+for+SSH+Authentication&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&aq=f&aqi=&aql=&oq=&gs_rfai=
Купил новый VDS и сразу куча ботов начали пароль подбирать, я сменил порт и все прекратилось. Ну а если опять начнется, то можно запретить вход для рута и пользоваться su или разрешить вход для рута только со своего IP;)
Комментарии
Хочу порекомендовать sshguard. Все очень удобно, работает через firewall, а не через hosts.deny. Удобно и приятно настраивается
А не проще ли просто поменять порт ssh сервера ?
В принципе можно, многие боты же тупые, не будут смотреть на каком порту висит ssh.
Замена порта однозначно рулит, как + к этому разрешение ssh по этому порту только с определенных IP внутреннюю сеть можно оставить всем, (кто знает от куда придется) а вот внешнюю однозначно резать.
ИМХО ставить ради этого что-то себе дороже, а вдруг в пьяном бреду забыл логин и пароль от сервера который за 300 км =) и все командировка обеспечена, все это проходили знаем
Что касается смены IP адреса разрешенного на коннект, в экстренных можно секретарше в асе объяснить что нужно качнуть, что прописать и какую строку влить в фаер, что бы потом можно было удаленно зайти и сделать все как надо =) Если уж совсем влом ехать далеко.
Пробовал.. почемуто не работает.
Freebsd 7.2
Python выше 2.1
всё стартует, но не работает... письма не шлёт, хотя мыло и сервер прописаны. Порты на ipfs открыты нужныет.
Может у вас почта не ходит? А в файле /etc/hosts.deniedssh есть что-нить?
Права на файл выставлены так, чтобы в них можно было писать?
в файл /etc/hosts.deniedssh хосты появляются, но отбрасывает не правильно вписавшего пароль уже после первой попытки подбора. Хотя в конфиге написано чтоб после 5-ой попытки подбора. Причём даже попавшие в hosts.deniedssh при верно вписаном логине и пароле всё равно входят на срвер через ssh. Кстати freebsd 7.1 ... описался, пардон. А почта у меня через ssmtp отапраляется. Другие письма то получаю.
Хм, ссорь, не знаю в чем проблема :/
Просто когда я пришел на место другого админа, то на серверах в логах постоянно лились записи от ssh ботов. Поменял порты и все .. Тишина =)
=)
Наверно было бы лучше разрешить ssh доступ для подсети преднозначеной под VPN или OpenVPN туннелирование.
Ну предположим поднять простенький VPN сервис, а имено mpd5. Можно VPN использовать посредством стандартных утилит Windows.
Поднимаем VPN тунель до срервера , автоматом получаем IP из выделенной подсети на mpd5 . Ну предположим выделенна подсеть 10.36.188.192/26 и мы получили 10.36.188.193
Соответственно в sshd_config прописываем .
AllowUsers @10.36.188.
Все без поднятого VPN на ssh не попасть.
Ну данную фичу я конечно всеравно прикручу , пусть будет . Бывают моменты открываю SSH для всех IP. Порой не знаешь , где ты окажешься и где надо залогиниться.
Да, так тоже вариант, но имхо первое это сменить порт, второе это соединяться по сертификату. Думаю после таких мероприятий уже нет необходимости в туннеле.
вот ты же эдво умный парень, а херней балуешься :)
1 раз сделай: http://www.google.ru/search?hl=ru&newwindow=1&q=How+to+Use+RSA+Key+for+SSH+Authentication&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&aq=f&aqi=&aql=&oq=&gs_rfai=
и боты будут сосать не вставая :)
Да это понятно, вроде уже обсудили это :)
в конце поста уже лет что стоит)Купил новый VDS и сразу куча ботов начали пароль подбирать, я сменил порт и все прекратилось. Ну а если опять начнется, то можно запретить вход для рута и пользоваться su или разрешить вход для рута только со своего IP;)
Да, это правильно :)
FreeBSD 7.3, все поставил из портов
взлетело с первого раза по этой инструкции.
Спасибо!
Оставьте свой комментарий