LordBayonet 26.12.2010 18:46
Tips & tricks — Как же достали сканеры ssh
Вот ну что им делать не фиг лезть ко мне с тупым брутфорсом?..Думаю каждый это дело хоть раз но видел в своих логах. Так что же делать? сменить порт ssh? бесполезно, все равно отнюхают. Банить файрволом адреса тоже бесполезно ибо это наверняка тупой ботнет и адреса каждый раз разные. Здесь нужно кардинальное решение, убивающее проблему на корню. И я его нашел.. Имя решению - ZeBeDee. Это программа для создания шифрованного туннеля между двумя машинами. Существует в версии для *nix и win32. Взять программу можно отсюда. С одной стороны программа уже не развивается, с другой стороны явных глюков и багов не замечено.
Замечу сразу програмку надо качать вместе с сопутствующими элеиентами, не важно установлены они уже в вашей системе или нет, она хочет собираться с ними и ниипёт.. итак качаем:
1. blowfish-0.9.5a
2. bzip2-1.0.3
3. zebedee-2.4.1A (можно и версию 2.5.2, я просто поленился скачать)
4. zlib-1.2.3
Сборка этого дела не вызывает проблем: поочередно заходим в каталоги компонент и отдаем команду make.
в каталог собсно зебеди заходим в последнюю очередь и отдаем команду make OS=linux(ну или FreeBSD или что у вас там, при попытки сборки без этого параметра вам вывалится ошибка и варианты значений параметра "OS"). Ах да, каталоги всех компонент и каталог с самой зебедёй должны лежать рядышком в одном общем каталоге.
Ну вот теперь мы готовы противостоять мерзкой ботнет заразе.
первым делом копируем исполняемый файл, получившийся в результате сборки в /bin (пишу для никсов, в виндах все тривиально), потом создаем каталог для конфигурационников /etc/zebedee (можете понадеятся на make install но я им не пользуюсь и что он сделает не знаю, уж лучше ручками). Там мы разместим конфигурационный файл сервера, и файл открытых ключей клиентов. Да-да, зебедя использует ассиметричное шифрование. В /etc/zebedee создаем файл zebedee.conf со следующим содержимым
Ну полдела сделано, осталось вторые полдела. Пишем инит скрипт для запуска /etc/init.d/zebedee
Ничего сложного обычный инит скрипт. После отдаем команду:
1 |
|
теперь настала пора подумать о клиентской части. Принципиальной разницы в использовании клиентской части под линукс или виндоус нет, разве что под линуксом обычно 22й порт занят и на него нельзя повесить клиентский процесс зебеди...
Итак клиент: Устанавливаем зебедю. Создаем клиентский файлик настроек обзовем его my.zbd с таки содержимым:
ну вот, теперь наша клиентская зебедя знает куда и как передавать наши пакеты. Теперь мы должны сделать себ
1 |
|
делается это просто:
1 |
|
Так создается закрытый ключ. в файле будет примерно следующее:
1 |
|
теперь наша задача на основе этого приватного ключа получить открытый, не сильно сложнее:
1 |
|
Так создается открытый ключ и помещается в файл clients.id который кладется на сервер. В файле будет примерно следующее:
1 |
|
теперь размещаем эти файлики на серверной части в /etc/zebedee/clients.id, на клиентской части туда куда хотим.
запускаем сервер:
1 |
|
запускаем клиент:
1 |
|
теперь лезем по ssh на localhost:22 и попадаем на наш сервер. Все, теперь можно навечно закрыть порт ssh на сервере и оставлять открытым только порт ZeBeDee (в нашем случае 1115). Ботнеты побеждены, и спама в логах больше нет..
Профит.
Таким же образом можно защитить подключение к RDP, XDMCP, FTP и т.д.
З.Ы. поправил заголовок, сниферами надо меньше заниматься )) в данном случае они ни при чем.
Vzlom 26.12.2010 18:49 #
+ 6 -
Добавь cut а то на всю главную размахало
добавил.. первый пост, еще не разобрался.. спс за замечание
ничего не понял..
можно ещё раз вкратце зачем это? и чем это лучше смены стандартного 22 порта на другой, и добавления public-private key?
можно ещё раз вкратце зачем это? и чем это лучше смены стандартного 22 порта на другой, и добавления public-private key?
В настройках ssh есть же вроде возможность зойбанить адрес после n неудачных попыток, нэ? А городить такую костылину как-то лениво, имхо.
а если сам пьян и не заметил включенной русской раскладки? или еще какая нидь кака... всякое бывает.. кроме того опять же шанс успешной атаки...
заведи ещё один акк на такие случаи. и пароль позаковырестей запиши куда-нибудь в труднодоступном месте, чтобы на пьяную голову точно уж не полез за ним.
а если в командировке? вобщем мне удобнее сделать так, каждый решает для себя как ему защищаться. )
> А городить такую костылину как-то лениво, имхо.
Ога-ога.
PortSentry ещё имеет смысл.
Ога-ога.
PortSentry ещё имеет смысл.
Я не спец, но тоже кажется, что порт можно и другой использовать. Чем мешают эти неудавшиеся попытки соединения?
Если порт нестандартный, то боты автоматом отпадут, но хакеры могут и порт бебези бомбить, нет?
Если порт нестандартный, то боты автоматом отпадут, но хакеры могут и порт бебези бомбить, нет?
я тоже так думаю.. когда я порт менял на 19, то вообще никто не лез, акромя меня.. и будто этот зибиди надёжнее ssh демона.. вдруг какое то переполнение там или другой баг.. нафиг нафиг такое неизвестночто.. лучше уж какой нибудь vpn сделать - смысл тот же
А как коннектитьса с машин где нет этого zebedee? Или я тоже что-то не понял? В принципе это же только "другой" ssh которым ты делаешь тунель на настоящий ssh. Конечно пропадут аттаки, но пропадёт и возможность ssh...
зибиди на флешке таскается, установки не требует, чтобы запускать по ключу можно сделать такой батник:
zebedee -f my.zbd
zebedee -f my.zbd
что это? зачем? чем лучше ssh? какие подводные камни? с этого нужно начинать, а не с того, как установить.
по моему открыть ssh порт гораздо надёжнее будет, чем вешать этот зибиди.. явных багов вроде нет, как сказал автор, а кто знает, мож неявные есть? ssh проверено временем =)
молодой человек, ssh на нестандартный порт + правило для iptables наше всё
з.ы. правило для iptables
# Защита от брутфорса SSH (6 подключений в минуту)
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --set --name SSH
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name SSH -j DROP
з.ы. правило для iptables
# Защита от брутфорса SSH (6 подключений в минуту)
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --set --name SSH
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name SSH -j DROP
молодой человек, ssh на нестандартный порт + правило для iptables наше всё
з.ы. правило для iptables
# Защита от брутфорса SSH (6 подключений в минуту)
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --set --name SSH
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name SSH -j DROP
з.ы. правило для iptables
# Защита от брутфорса SSH (6 подключений в минуту)
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --set --name SSH
$IPT -A INPUT -i ppp0 -p tcp --dport <порт_ssh> -m state --state NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name SSH -j DROP
Спам останется это раз. Теоретическая возможность успешной атаки тоже останется это два. Нестандартный порт не поможет ибо его тоже обнаруживают это три.
Первое что сделать - перенести на нестандартный порт! Львиная часть бутфорсеров сразу идёт лесом - проверено! Ну а если совсем секурно хочется, то ssh-knock Вам в помощь ;)
почитал, интересная штука, но не совсем то что хочется... часто ведь и с общедоступных адресов лезешь(Wi-Fi), и добавлять его в вайт лист чтобы поработать 5 мин не хочется.. за эти 5 мин можно и наворотить чего-нидь с того же адреса... но штука забавная ))
ничего не понял..
можно ещё раз вкратце зачем это? и чем это лучше смены стандартного 22 порта на другой, и добавления public-private key?
можно ещё раз вкратце зачем это? и чем это лучше смены стандартного 22 порта на другой, и добавления public-private key?
Я не спец, но тоже кажется, что порт можно и другой использовать. Чем мешают эти неудавшиеся попытки соединения?
Если порт нестандартный, то боты автоматом отпадут, но хакеры могут и порт бебези бомбить, нет?
Если порт нестандартный, то боты автоматом отпадут, но хакеры могут и порт бебези бомбить, нет?
1.Смена порта не помогает. спам остается
2. Мешает тем, что читать километровые логи тупо лень, и есть шанс упустить что нибудь важное.
3.В случае направленной атаки не ботнетом появляется дополнительная ступень защиты.
что это? зачем? чем лучше ssh? какие подводные камни? с этого нужно начинать, а не с того, как установить.
1. Прочитайте название темы и блога
2. Это не ман к программе, это решение озвученной проблемы
3. подводные камни не обнаружены за 6 лет использования.
А как коннектитьса с машин где нет этого zebedee? Или я тоже что-то не понял? В принципе это же только "другой" ssh которым ты делаешь тунель на настоящий ssh. Конечно пропадут аттаки, но пропадёт и возможность ssh...
конектится очень просто, достаточно таскать свой приватный ключ и саму программу на флешке.. в том и фишка что возможность ссш остается, а спам пропадает.
Один способ не даст требуемого эффекта - только несколько степеней защиты! Смена порта - это только первый шажок, камрады дали много толковых советов выше. По-одному они малоэффективны, а вот вкупе дадут довольно хорошую защиту от хацкеров ;)
все эти способы перекрываются моим одним... я описал свое решение, никто не мешает вам описать ваше. ))
имхо, твое решение куда сложнее, чем применение всех секруных настроек для shh. А результат будет не хуже.
Применение секурных настроек безусловно повысит безопасность, но спам в логах останется, я же искал кардинальное решение убивающее проблему на корню. и нашел.
Дык отключи логи, раз спам тебе там мешает. Сделай авторизацию только по ключу и спи спокойно.
Отвечать лучше не всем скопом, а каждому в его сообщение, тогда проще следить за дискуссией.
т.е. вы предлагаете ставить какой-то абсолютно лишний (почему так -- описали комментаторы выше, да и не один раз) и древний софт, который, мало того, что не хочет собираться с МОЕЙ версией, например, zlib и bzip2; так еще и не в состоянии при выполнении `make' определить: linux у меня или freebsd?
так вы еще и бинарник ее класть в /bin предлагаете. может пришла пора читать man hier уже наконец-то?
кошмар-то какой...
так вы еще и бинарник ее класть в /bin предлагаете. может пришла пора читать man hier уже наконец-то?
кошмар-то какой...
если этот софт для вас лишний вас тут никто не держит... Если маленько напряжете голову то поймете что защита ссш этим софтом лишь частное решение... кому то может пригодиться...
этот софт, простите уж, для всех лишний, раз разработчики не могут осилить `make'.
плюс к тому:
когда там найдется уязвимость, вы думаете кто-то чесаться будет? может вы?
плюс к тому:
Stable Version: 2.4.1A (2005/09/06)
Development Version: 2.5.3 (2005/09/06)
Development Version: 2.5.3 (2005/09/06)
когда там найдется уязвимость, вы думаете кто-то чесаться будет? может вы?
и кто вам дал право решать за всех? вы господь бог? не похоже..
> и кто вам дал право решать за всех?
не кто, а что. здравый смысл.
отсутствие этого пакета в репозитории, например, debian, уже говорит о многом.
не кто, а что. здравый смысл.
отсутствие этого пакета в репозитории, например, debian, уже говорит о многом.
Ну а я разве вас заставляю его использовать? используйте то что "Одобрено Дебиан", зачем вы меня то пытаетесь заставить это делать?
нет, конечно не заставляете.
вы же даже пакет не удосужились с этой вашей "зибидей" собрать. просто превратили вашу систему в слакварь.
вы же даже пакет не удосужились с этой вашей "зибидей" собрать. просто превратили вашу систему в слакварь.
Вы очевидно недавно освоили rpbuild и теперь страшно горды этим? Вам не приходило в голову, что не всегда овчинка стоит выделки? Да я могу собрать пакет, вопрос в том во сколько потраченного времени мне это станет. Нет я не буду этого делать ибо банально лень...
rpmbuild я освоил очень уж давно и гордиться тут нечем.
да конечно, лучше систему в слакварь превращать.
да конечно, лучше систему в слакварь превращать.
от одной программы в слаку она не превратится. Я давно уже отошел от фанатизма, и трезво оцениваю цену "следованию чистой идеологии".
Слышь, Патрик не одобряет твое высказывание. Slackware поставляется исключительно набором пакетов, и включает в себя, скудный по функционалу, но пакетный менеджер. Превратить в помойку можно любой дистрибутив с любым пакетным менеджером - зависит только от пользователя.
А по делу, да, абсолютно согласен с тобой по поводу использования SSH и механизма авторизации по ключам. Если мешает лог брута, то легче его отключить (все равно авторизуемся по ключам), нежели устанавливать дополнительные утилиты.
А по делу, да, абсолютно согласен с тобой по поводу использования SSH и механизма авторизации по ключам. Если мешает лог брута, то легче его отключить (все равно авторизуемся по ключам), нежели устанавливать дополнительные утилиты.
+1 про слаку. По поводу удобства каждый решает для себя. мне удобнее так вам по-другому. )
очень жесткое решение прибить ssh, проще лог настроить чтобы игнорировать брутфорс, ну или grep ом читать.
Никто ссш не прибивает читайте внимательно.. закрывается только порт ссш, и доступ к нему осуществляется через эту тулзу..
Я читал внимательно, так и не понял смысл. Если лог напрягает,отключить можно. Если паранойя перед взломом, читайте матчасть ;) С таким же успехом можно openvpn прокинуть. Есть во всех дистрибутивах
Можно сделать что угодно, я сделал так и поделился этим с вами. Использовать или нет, это же ваше дело, я же не заставляю ))
Дык, спасибо ;) Просто это нормальная реакция на установку софта, в котором непонятно сколько багов, ибо разработчик давно на него забил.
я-то ниразу. поэтому и не использую софт, который перестали уже лет шесть разрабатывать. чего и вам желаю.
А теперь подумайте кому будет интересно копаться и искать баги в никому не известном софте
Если только какой то особо упертый хацкер не захочет ломануть именно ваш сервер. Но таких один на миллион.
который перестали уже лет шесть разрабатывать
Если только какой то особо упертый хацкер не захочет ломануть именно ваш сервер. Но таких один на миллион.
ну-ну.. т.е. ты думаешь, что раньше, когда этот софт разрабатывался - никто в нём баги не искал, да?.. и потом, пару лет спустя, наверняка его тоже ковыряли и искали баги. И наверняка нашли. И т.к. софт этот уже далеко не популярен, то и о багах в нём помалкивают. А тут такое счастье будет для кого-то, когда он поймёт, что у тебя именно этот подарок для хакера установлен!
Ну кто же вам мешает сделать поиск по старым багтрекерам? В крайнем случае: исходники доступны = можно прошерстить самому. Не мне вам объяснять, что большинство взломов сейчас осуществляют скрипт-кидди, и для них ваша древняя штучка будет темным лесом.
Ну кто же вам мешает сделать поиск по старым багтрекерам
О да.. т.е. твое простое решение подразумает ещё и поиск по багам и исправлению их?.. А все ли они в баг трекере?
Большинство может и скрипт-кидди, но: уверен, что на баги в твоей софтине нет готовых эксплоитов, которыми любой скрипт-кидди может воспользоваться? и уверен ли, что кого-нибудь из меньшинства (не сексуального) не заинтересует твой сервак с таким лакомым слабым местом?..
Я же сказал "в крайнем случае". Да я уверен, что слабое место не такое уж и лакомое и не такое слабое. Если вы работаете в организации работающей с гостайной вы все равно не имеете права ZeBeDee использовать. Во всех остальных случаях я считаю, что риск оправдан. Вы можете решить по-другому и это ваше право. Если уж на то пошло мелкомягкие продукты дырявые как решето, но их используют. Только не рассказывайте мне про техподдержку и своевременное исправление багов. Насмотрелся и наобщался...
парочка вопросов:
1. я правильно понял - мы должны на флешке таскать два бинарника; для никсов и для винды?
2. как быть в том случае, когда в корпоративных сетях наружу открыты только четко определенные стандартные порты?
1. я правильно понял - мы должны на флешке таскать два бинарника; для никсов и для винды?
2. как быть в том случае, когда в корпоративных сетях наружу открыты только четко определенные стандартные порты?
1. да правильно, если вы в качестве клиента используете линукс.
2. вам ниикто не мешает выяснить какой порт у вас точно открыт и повесить серверную часть на этот порт. например 110(если предположить что у вас там pop3 сервиса нет)
2. вам ниикто не мешает выяснить какой порт у вас точно открыт и повесить серверную часть на этот порт. например 110(если предположить что у вас там pop3 сервиса нет)
я обычно разрешаю аутентификацию только по приватному ключу и забиваю болт на все эти сканы. приватный ключ им всё равно не подобрать
В этом вся и проблема, скан остается! а значит и километровые логи тоже. Прочитайте название статьи, я старался избавится от самого явления. Работает железобетонно, логи чистые, доступ к ссш не особо затруднен. Из предложеных здесь альтернатив, разве что ссш-кнок представляет интерес, но у него есть недостатки.
есть такая вещь, как ротация логов на тот случай, если мешают сами логи. если напрягают сканы самы по себе - можно сменить порт. проблема немного надуманна короче
по-моему, чтоб не искать кослтыли и не париться проще толково настроить sshd, ну или использовать denyhosts.
чем вам поможет denyhost если адреса каждый раз разные? до какого размера этого файла вы будете его заполнять? ради бога копайте ломом яму дальше..
чем вам поможет denyhost если адреса каждый раз разные? до какого размера этого файла вы будете его заполнять?
Конечно, адреса разные. И пусть заполняется, дисковое пространство нынче дёшево.
ради бога копайте ломом яму дальше..
Спасибо, точу лом.
мне удобнее сделать так, каждый решает для себя как ему защищаться.
Про ротацию логов и ключи авторизации вам уже писали, и вероятность, что флешки с батником под рукой не окажется, остается. Может быть действительно проблема надумана?
Действительно дельные предложения я уже отметил и взял на заметку. Проблемы для меня уже нет - я ее решил, кому-то такое решение придется по вкусу, остальные сделают по-другому, а кто-то вообще не парится по этому поводу...
Конечно, адреса разные. И пусть заполняется, дисковое пространство нынче дёшево.
а то что это бессмысленное занятие вас не смущает? ну да ладно, вы взрослый человек, сами себе хозяин...
если кто то захочет избавиться от лишнего флуда в логах он может прочитать эту статью или сделать скрипт на очистку логов.
и этот скрипт грохнет что нибудь важное... Вот если у человека болят яйца можно яйца отрезать, а можно вылечить.. вы предпочитаете отрезать судя по всему...
и этот скрипт грохнет что нибудь важное...
это если у писателя руки растут не оттуда
я все прочитал, но понять не могу вам спам мешает в логах или вас смущает безопасность ссщ? по ходу дискуссии создается впечатление, что только первое.
Ну давайте посмотрим на начало статьи буквально первые строки: "Здесь нужно кардинальное решение, убивающее проблему на корню.". Ни одно из предложенных кроме ссш-кнок это не делает.. про ссш-кнок я просто не знал, спасибо тому кто сказал про него. Все остальное не более чем пальцегнутие и недопонимание от чтения "по-диагонали"
:) а на секундочку задуматься, может это не наша вина, что мы недопонимаем сути статьи.
Ну это спорный вопрос. Ведь даже если что то непонятно гугл никто не отменял. Но именно непонимание сути продемонстрировали буквально пара человек, на их вопросы я ответил, остальные принялись мне доказывать как круто они сделают тоже только другими способами, предлагая при этом половинчатые решения, но превозносящиеся ими как истина в последней инстанции...
Здесь нужно кардинальное решение, убивающее проблему на корню
стесняюсь спросить, а в чем проблема?
судя по этому:
Вот ну что им делать не фиг лезть ко мне с тупым брутфорсом?.. Думаю каждый это дело хоть раз но видел в своих логах. Так что же делать? сменить порт ssh? бесполезно, все равно отнюхают. Банить файрволом адреса тоже бесполезно ибо это наверняка тупой ботнет и адреса каждый раз разные.
это паранойя обыкновенная.
проблемы как таковой не нахожу. а причин ставить не совсем понятный софт - тем более.
ага.. перечитал еще раз каменты и нашел "проблему":
так может проще перенаправить логи SSH в /dev/null ? куда более кардинальное решение ;-)
но спам в логах останется, я же искал кардинальное решение убивающее проблему на корню. и нашел
так может проще перенаправить логи SSH в /dev/null ? куда более кардинальное решение ;-)
И потерять возможность следить за тем что происходит с ссш? спасибо не для меня..
Любой безопасник должен быть немного параноиком... Не хотите не ставьте, я уже понял что вам лень\не правильно\не идеологично\сто раз можно сделать лучше\ващепофиг - нужное подчеркнуть
кастую голосование в тред - "А вам нравятся логи ssh?"
Варианты ответа
- читаю каждый день и меня прет
- читаю каждый день и мне страшно
- читаю каждый день вместо блогов
- ssh не установлен, но я сам пишу такие логи для других
Варианты ответа
- читаю каждый день и меня прет
- читаю каждый день и мне страшно
- читаю каждый день вместо блогов
- ssh не установлен, но я сам пишу такие логи для других
ну тогда уж два варинта: "а что такое ssh" и "а что такое логи?"
А мне всегда было интересно какие же они пароли пытаются использовать. А то только логины, а они не интересны.
А по сабжу, у меня стоит bfd и айпишки ложит в ipset.
А по сабжу, у меня стоит bfd и айпишки ложит в ipset.
Статья спорная конечно, но точно не заслуживает той истерии которую вокруг нее устроили. Задела за живое местных тролей что ли? Или это держатели ботнетов бесятся? Спокойствия и профессионализма всем. А автору терпения... ))
С наступающим всех..
С наступающим всех..