Username 07.07.2009 21:41
Tips & tricks — Мешаем брутфорсу с помощью denyhosts
Недавно какой-то урод нехороший человек решил побрутфорсить мой VDS, подобрав рут пароль и поимев доступ через ssh.Пресек я это дело, во-первых, отключением рут-доступа через ssh, а во-вторых, маленькой утилитой denyhosts.
Принцип действия ее весьма и весьма прост - после трех подряд идущих неудачных попытки аутентификации по ssh, она банит по IP машину брутфорсера.
Ахтунг! Не ошибитесь сами при вводе пароля, ибо Ваш покорный слуга сегодня это сделал, и это не есть круто.
В этом случае - марш с другого айпи в /etc/hosts.deny и удалять строчку со своим айпишником. Так я и поступил.
UPD Выяснилось, не все так просто, необходимо остановить denyhosts, зайти в /var/lib/denyhosts, посносить там в конфигах строчки со своим айпи, создать (опционально) allowed-hosts, в котором вписать свой айпи в строчку, и снова запустить демон.
где то я уже это читал... только не помню где
Этот твой коммент очень похож на те, что я получаю от ботов в блоге на вордпрессе.
прога достаточно известная, с проблемой я столкнулся вот сегодня впервые, решил поделится. Ничего удивительного
Была такая же тема, только рут изначально закрыт, так что кто-то просто пытался подобрать юзера. Решил через iptables и проблема отпала. На мой взгляд, iptables лучше тем, что там блокировка временная и если сам хозяин ступил и попал в блок, то через некоторое время возможность входа снова появится. :)
Согласен, раньше пользовался sshguard и fail2ban, теперь только fail2ban от всего не ссш-ного и recent iptables:
Принимает SYN на 22 порт не чаще одного раза в 15 секунд с одного адреса. Если есть повторный - все пакеты с адреса отбрасываются в т.ч. установленные соединения, после 15 секунд тишины адрес забывается. Вместо TARPIT простые смертные могут использовать DROP или REJECT)
iptables -A INPUT -i ppp0 -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 15 -j TARPIT
iptables -A INPUT -i ppp0 -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT
Принимает SYN на 22 порт не чаще одного раза в 15 секунд с одного адреса. Если есть повторный - все пакеты с адреса отбрасываются в т.ч. установленные соединения, после 15 секунд тишины адрес забывается. Вместо TARPIT простые смертные могут использовать DROP или REJECT)
в denyhosts это тоже возможно. Да, там вообще много фич разнообразных, включая например, уведомление одмина по e-mail и прочих плюшек
Прикольно. Полезная штука, в принципе, надо запомнить. :)
Хотя, от админства я уже очень далеко.. :)
Хотя, от админства я уже очень далеко.. :)
Denyhost тоже по умолчанию не навечно блокирует, в бубунте например по умолчанию 4 недели выставлено.
Лень. 2 строчки в iptables, который по привычке ставится первым делом даже на ноут, заставляют сделать гораздо мньше телодвижений и при этом предоставляют требуемый функционал. Когда-то у меня даже был набор правил, которые кочевали от одной машины на другую, но потом с админства уволился, а дома слетел винт и правила те канули в лету. Восстанавливать, опять же, влом :)
Ssh лучше делать c доступом по ключам.(при этом обязательно отключив логин по паролю,а то некоторые забывают,но зачем же тогда ключи нужны....)
Чтобы всякие боты и вирусятни не брутфорсили - убрать с 22 порта.Да это в любом случае полезно.
Еще есть утилита fail2ban.
А еще можно на стандартный 22 порт повесить honeypot и смотреть как вас взламывают!)))
Чтобы всякие боты и вирусятни не брутфорсили - убрать с 22 порта.Да это в любом случае полезно.
Еще есть утилита fail2ban.
А еще можно на стандартный 22 порт повесить honeypot и смотреть как вас взламывают!)))
Чтобы всякие боты и вирусятни не брутфорсили - убрать с 22 порта
Стараюсь придумать решение хуже и не могу. Наверное, переименование рута еще хуже. Не люблю, когда перевешивают порты, и не люблю тех, кто их перевешивает :Ё Есть же простые и надежные способы, не нарушающие стандарты.Не проверял, но уверен, что любой nmap -A покажет, где ждет ssh.
nmap'ом тоже надо пользоваться. Перевесить порт с 22 на другой, это защита от тупых идиотов которые возомнили себя кулхацкерами. Еще хуже если он продвинутый идиот который нашел на просторах рунета бота, который долбит порт на предмет подбора пароля. Если у него достаточно мощности в запасе, то это может дать не слабую нагрузку на сервер.
И в каком месте 22 порт стандарт? Лично я, на то все реже и реже натыкаюсь.
И в каком месте 22 порт стандарт? Лично я, на то все реже и реже натыкаюсь.
И в каком месте 22 порт стандарт? Лично я, на то все реже и реже натыкаюсь.
http://www.iana.org/assignments/port-numbers$ cat /etc/services | grep ssh
ssh 22/tcp # SSH Remote Login Protocol
Да какие боты, какая нагрузка? Я же не говорю, что пора перестать защищаться, я говорю, что есть способы, не нарушающие стандарты - fail2ban, iptables -m recent, portknocking и другие.
Nmap конечно покажет(пробовал netcat - показывал).
Есть решения хуже!)))
Читал еще про один способ есть - параноидальный.Вешается скрипт,на определенный порт,который слушает.Когда приходит определенный пакет,он открывает порт для ssh.
Есть решения хуже!)))
Читал еще про один способ есть - параноидальный.Вешается скрипт,на определенный порт,который слушает.Когда приходит определенный пакет,он открывает порт для ssh.
И вот тоже не ясно зачем, брутфорс это вообще легко решаемая проблема)
Согласен,что вас способ лучше!)
Я с таким не сталкивался и сам не додумался...
Про "в любом случае полезно" перегнул палку.Замена с 22 на другой порт была в качестве примера с honeypot.
Я с таким не сталкивался и сам не додумался...
Про "в любом случае полезно" перегнул палку.Замена с 22 на другой порт была в качестве примера с honeypot.
на всяких *бунтах, федорах, сусях и прочем ссх по-дефолту включен? это ведь серьезная уязвимость, особенно, учитывая, что новички (и не только) об этом вообще не задумываются и ставят очень простые пароли на аккаунт. и рут там даже не нужен, есть ведь судо.
ссх без ключа очень опасен, имхо. особенно, когда еще и используется обычный фтп с невиртуальными юзерами.
ссх без ключа очень опасен, имхо. особенно, когда еще и используется обычный фтп с невиртуальными юзерами.
вот тоже по теме ссылка