ssh и безопасность

10 сообщений / 0 new
Последнее сообщение
inna
Не в сети
Зарегистрирован: 21/09/2010
ssh и безопасность

Года три назад была у меня такая история.
Свой круглосуточно работающий сервер со статическим IP и запущенный на нем sshd. Завела я тогда по полнейшей неопытности на сервере юзера с женским именем и очень простым паролем. И вот по истечении месяца-двух меня взломали. Враг заходил под именем этой юзерши. Установил в ее домашнем каталоге какие-то пакеты. И использовал наш сервер в качестве говномета - подставки для DoS-атаки. Заметила я все это только когда дико подскочил исходящий UDP-трафик (хорошо, что еще платили мы за входящий). Теперь я лишних юзеров не завожу, пароли делаю длинные и сложные и sshd не запускаю. Но вот понадобилось однажды... Оставила на прошлой неделе на воскресенье запущенным ssh, а в понедельник обнаружила что все прошедшие сутки какая-то вражеская программа пыталась подобрать имя и пароль. Имена, что самое интересное, перебирались в основном женские и все больше нерусские. Взломать не удалось :-) но 30 mb входящего трафика платить придется :-( .
Очень интересно, а как же работают крупные сервера, которые предоставляют своим клиентам вместе с хостингом доступ по ssh? Понятно, что там сидят грамотные админы, а не .... , но все равно интересно.

nikus (не проверено)

На вскидку:
1) Меняется порт на котором висит ssh на что-нибудь другое, отличное от 22 и лучше что-нибудь из пяти цифр.
2) Авторизация производится не по паролю, а по ключу, либо используются одноразовые пароли.
3) SSH можно спрятать за порткнокером.
4) Можно блокировать ИП при достижении определенного количества плохих попыток.
5) Выделяемые клиенту сервисы обычно работают под chroot-ом или в jail-е(BSD).

Dumus
Аватар пользователя Dumus
Не в сети
Зарегистрирован: 17/09/2010

Есть много способов - не использовать пароли, перейти на систему авторизации открытых ключей, сделать ограничение IP, с которых разрешено логиниться, установить DenyHosts и т.д. Эти и многие другие методы усиления безопасности работы ssh-сервера широко описаны в нете, см. http://rus-linux.net/main.php?name=sec2.koi#ssh + google

Мой микроблог: http://juick.com/Dumus/

e-J (не проверено)

Тут наверное единственный метод - спрятать порт либо сменой либо за кнокером, если использовать блок айпи или ключи, ломиться все равно будут и трафика не избежать. У меня сейчас такая же проблема. Постоянно пытаются подобрать ночью логин-пароль к ssh. Оно то и закрыть бы, да иногда хочется из дома что нить сделать.

Dumus
Аватар пользователя Dumus
Не в сети
Зарегистрирован: 17/09/2010

Мне кажется, что если IP будет запрещен, то трафика не должно быть по-определению - физически невозможно, хотя могу ошибаться.

Мой микроблог: http://juick.com/Dumus/

WhiteDragon (не проверено)

крупные сервера предоставляют ssh клиентам а не абыкому, а с клиентами есть договор о нехулиганстве и не использованиии этого в пошлых целях
крупным серверам 30 метров входящего трафика - это ерунда
вообще ssh прятать надо либо за кнокер либо лочить ип при куче коннектов с него - в обоих случаях ipt_recent

зыЖ у меня даже домашний сервак ничем этим не заперт и в ssh ему ломятся регулярно - иногда только раздражает это тем что оно винтом похрустывает в логи все это складывая и спать мешает

Vitls
Аватар пользователя Vitls
Не в сети
Зарегистрирован: 21/09/2010

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

Дело не в том как болезнь вылечить.
Дело в том как других заразить.

cin
Не в сети
Зарегистрирован: 21/09/2010

А можно и я добавлю? :)
В принципе надо:
1. Определиться, а необходимо ли открывать 22 порт, т.е. повозможности держать закрытым.
2. Если необходимо, то для всех ли адресов? Т.е. можно открыть 22 порт для определённого пула адресов.
3. Пользователям которым не нужен интерактивный вход в систему не давать командные шелы, поставить что-нибудь типа /bin/date.
4. Кроме того определиться, а что будет делать пользователь, вошедший по ssh. Если он должен выполнять какую-то локальную работу без обмена пакетами с внешним миром, то перекрыть хождение во внешний мир пакетов, которые иницированы этим пользователем.

От съедания трафика перебором паролей спасают только первые два пункта.

inna
Не в сети
Зарегистрирован: 21/09/2010

Спасибо за полезную информацию!

sl1m (не проверено)

добавлю еще пару пунктов, для хождения на работу удобно юзать:
1. webssl
2. crypto tunnel

гораздо удобнее ссш..

RSS-материал