Страница 1 из 1

непонятный момент с sshd

Добавлено: 2012-01-18 9:58:19
dalt
Если вопрос элементарный то извините, гуголь мне не помог.

Я настроил sshd на соединение по ключам. Всё работает как надо.

Код: Выделить всё

cat sshd_config |grep -v '^#'
Port 22
Protocol 2
ListenAddress 212.1x.1xx.1xx
DenyUsers root
AllowUsers dalt pavel viktor
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
RhostsRSAAuthentication no
IgnoreRhosts yes
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM no
Subsystem       sftp    /usr/libexec/sftp-server
Вопрос у меня в том, что не смотря на аутентификацию по ключу - в логах продолжаются попытки перебора от вражин. Когда я сам пытаюсь подключиться к этой машине с компа на котором нет ключа, меня отшибает вот так: Permission denied (publickey). И в логах попытка соединения не отображается.

Но при этом, в логах продолжается вот такое:

Код: Выделить всё

Jan 17 10:50:55 gw_bsd sshd[38201]: Accepted publickey for dalt from 213.8x.xx.7 port 38234 ssh2
Jan 17 10:51:19 gw_bsd sshd[38203]: Received disconnect from 213.8x.xx.7: 11: disconnected by user
Jan 17 11:17:23 gw_bsd sshd[38271]: User root not allowed because listed in DenyUsers
Jan 17 11:17:57 gw_bsd sshd[38273]: User root not allowed because listed in DenyUsers
Jan 17 11:18:01 gw_bsd sshd[38276]: User root not allowed because listed in DenyUsers
Мое успешное подключение и отключение с ключом как пример корректной работы ключей, но и куча левых попыток подключиться рутом, я лишь часть скопировал, они одинаковые.

Я убрал root из DenyUsers ради интереса, при сохранении остальных параметров, и в логах вот такая фигня:

Код: Выделить всё

Jan 18 07:06:00 gw_bsd sshd[51647]: Illegal user lindsey from 201.76.1.202
Jan 18 07:06:03 gw_bsd sshd[51649]: Illegal user ashlyn from 201.76.1.202
Jan 18 07:06:07 gw_bsd sshd[51651]: Illegal user carly from 201.76.1.202
Jan 18 07:06:11 gw_bsd sshd[51653]: Illegal user marissa from 201.76.1.202
Jan 18 07:06:14 gw_bsd sshd[51655]: Illegal user gracie from 201.76.1.202
Jan 18 07:06:19 gw_bsd sshd[51657]: Illegal user sierra from 201.76.1.202
Jan 18 07:06:22 gw_bsd sshd[51659]: Illegal user lillian from 201.76.1.202
Jan 18 07:06:25 gw_bsd sshd[51661]: Illegal user jillian from 201.76.1.202
Jan 18 07:06:29 gw_bsd sshd[51663]: Illegal user reagan from 201.76.1.202
Jan 18 07:06:33 gw_bsd sshd[51665]: Illegal user shelby from 201.76.1.202
Jan 18 07:06:37 gw_bsd sshd[51667]: Illegal user amelia from 201.76.1.202
Jan 18 07:06:41 gw_bsd sshd[51669]: Illegal user jada from 201.76.1.202
Jan 18 07:06:44 gw_bsd sshd[51671]: Illegal user kendall from 201.76.1.202
Jan 18 07:06:48 gw_bsd sshd[51673]: Illegal user courtney from 201.76.1.202
Jan 18 07:06:52 gw_bsd sshd[51675]: Illegal user brooklyn from 201.76.1.202
Jan 18 07:06:58 gw_bsd sshd[51677]: Illegal user autumn from 201.76.1.202
Jan 18 07:07:02 gw_bsd sshd[51679]: Illegal user mary from 201.76.1.202
Jan 18 07:07:06 gw_bsd sshd[51681]: Illegal user amber from 201.76.1.202
Jan 18 07:07:11 gw_bsd sshd[51683]: Illegal user maggie from 201.76.1.202
Jan 18 07:07:15 gw_bsd sshd[51685]: Illegal user test tester from 201.76.1.202
Jan 18 07:07:18 gw_bsd sshd[51687]: Illegal user  from 201.76.1.202
Jan 18 07:07:22 gw_bsd sshd[51689]: Illegal user  from 201.76.1.202
Jan 18 07:07:25 gw_bsd sshd[51691]: Illegal user  from 201.76.1.202
Jan 18 07:07:29 gw_bsd sshd[51693]: Illegal user  from 201.76.1.202
Jan 18 07:07:32 gw_bsd sshd[51695]: Illegal user  from 201.76.1.202
Jan 18 07:07:36 gw_bsd sshd[51697]: Illegal user  from 201.76.1.202
Jan 18 07:07:40 gw_bsd sshd[51699]: Illegal user  from 201.76.1.202
Jan 18 07:07:44 gw_bsd sshd[51701]: Illegal user  from 201.76.1.202
Jan 18 07:07:50 gw_bsd sshd[51703]: Illegal user  from 201.76.1.202
Jan 18 07:07:53 gw_bsd sshd[51705]: Illegal user  from 201.76.1.202
Jan 18 07:07:58 gw_bsd sshd[51707]: Illegal user  from 201.76.1.202
Я чего-то не понимаю, или что-то сделал не так? Почему меня без ключа отшибает корректно, а вражины могут устраивать какой-то непонятный подбор?

Re: непонятный момент с sshd

Добавлено: 2012-01-18 10:53:19
sadchok
denyhosts

Re: непонятный момент с sshd

Добавлено: 2012-01-18 10:58:45
dalt
Мне непонятна причина этого перебора при работающей аутентификации по ключу и отключенных других вариантах.

Почему они, судя по логам, успешно что-то перебирают, когда это по-идее вообще не должно быть возможным?

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

з.ы. именно на вопрос "почему" это происходит, я и не смог нагуглить ответ :(

Re: непонятный момент с sshd

Добавлено: 2012-01-18 11:08:20
dalt
з.з.ы. если поставить вопрос с другого конца, то тоже непонятно. Допустим я редиско, зарабатываю на жизнь взломом, у меня есть скрипт перебирающий имена и пароли. Если при аутентификации по ключам перебор не возможен - смысл тупо гонять скрипт? Учесть классический отлуп по ключам в скрипте - элементарно и довольно очевидно.

На что-то же они рассчитывают?

Re: непонятный момент с sshd

Добавлено: 2012-01-18 13:31:37
Charlz_Klug_
dalt писал(а):Допустим я редиско, зарабатываю на жизнь взломом, у меня есть скрипт перебирающий имена и пароли. Если при аутентификации по ключам перебор не возможен - смысл тупо гонять скрипт? Учесть классический отлуп по ключам в скрипте - элементарно и довольно очевидно.
Наверное, сценарии писал быдлокодер. По типу: лишь бы работало.

Re: непонятный момент с sshd

Добавлено: 2012-01-18 13:49:58
snorlov
dalt писал(а):з.з.ы. если поставить вопрос с другого конца, то тоже непонятно. Допустим я редиско, зарабатываю на жизнь взломом, у меня есть скрипт перебирающий имена и пароли. Если при аутентификации по ключам перебор не возможен - смысл тупо гонять скрипт? Учесть классический отлуп по ключам в скрипте - элементарно и довольно очевидно.
На что-то же они рассчитывают?
Там может сидеть какой-нибудь подросток, который нашел скрипт и посканировав окружающих, нашел, что у вас порт 22 живой и отвечает login:... ну как тут и не по развлекаться. Да и вы тоже хороши выставив его наружу "ГОЛЫМ", защитили бы его хотя бы простеньким sshit, я уж не говорю, что наверное лазаете на него извне со вполне известных адресов... Трафик при этом был бы меньшим...

Re: непонятный момент с sshd

Добавлено: 2012-01-18 14:19:02
Гость
snorlov писал(а):
dalt писал(а):з.з.ы. если поставить вопрос с другого конца, то тоже непонятно. Допустим я редиско, зарабатываю на жизнь взломом, у меня есть скрипт перебирающий имена и пароли. Если при аутентификации по ключам перебор не возможен - смысл тупо гонять скрипт? Учесть классический отлуп по ключам в скрипте - элементарно и довольно очевидно.
На что-то же они рассчитывают?
Там может сидеть какой-нибудь подросток, который нашел скрипт и посканировав окружающих, нашел, что у вас порт 22 живой и отвечает login:... ну как тут и не по развлекаться. Да и вы тоже хороши выставив его наружу "ГОЛЫМ", защитили бы его хотя бы простеньким sshit, я уж не говорю, что наверное лазаете на него извне со вполне известных адресов... Трафик при этом был бы меньшим...
Про защиту вопрос хоть открыт, это не проблема насколько я уже нагуглил.
Так же я нагуглил, что защитой от brute force атак - является установка аутентификации по ключам.
Я поставил ключи, и с удивлением обнаружил, что перебор в логах продолжается. При том, что мои попытки отшибает корректно не доводя до запроса логина и тем более пароля.

Ок, это подросток пользующийся быдло скриптом. Но каким образом ему мой демон ssh позволяет доводить до запроса логина и пароля (иначе в логи бы это не попало, насколько я понимаю, ведь мои попытки подключиться без ключа - в логи не попадают), если это явным образом выключено в конфиге?

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

Re: непонятный момент с sshd

Добавлено: 2012-01-18 16:33:19
Charlz_Klug_
Гость писал(а): Прежде чем закрывать файрволлом всё кроме разрешенных IP - мне хотелось бы понять, в чем подвох с классическим решением об аутентификации по ключам, как средство от брутфорса.
Может subsystem убрать из конфига?

Re: непонятный момент с sshd

Добавлено: 2012-01-18 16:41:20
sadchok
А где у вас хранится ключ?
$HOME/.ssh/authorized_keys
Значит имя пользователя сервер все таки должен принят и проверить.
Я так думаю.

Re: непонятный момент с sshd

Добавлено: 2012-01-18 17:02:54
sadchok
Попробуйте

Код: Выделить всё

PreferredAuthentications publickey

Re: непонятный момент с sshd

Добавлено: 2012-01-18 17:17:19
FiL
бррр... где Вы видите подбор пароля в логах? В логах виден отруб на этапе проверки юзера. Еще до запроса пароля или ключа.
Найдут валидного юзера - тогда будут подбирать пароль. И уж тогда, увидев, что пароль не спрашивается, отвалят. Но перебирать юзеров-то надо. А как иначе?

Re: непонятный момент с sshd

Добавлено: 2012-01-18 17:29:43
dalt
sadchok писал(а):А где у вас хранится ключ?
$HOME/.ssh/authorized_keys
Значит имя пользователя сервер все таки должен принят и проверить.
Я так думаю.
Похоже всё так и есть. Спасибо, сейчас проверил еще раз с разными именами пользователя при разных вариантах наличия или присутствия ключа.

Просто неуспешную (безключную) попытку с пользователем занесенным в AllowUsers - почему-то не заносит в логи, но отлуп дает правильный. Что меня и смутило.

В общем извините за глупую тему :) И спасибо за ответы большое.

Re: непонятный момент с sshd

Добавлено: 2012-01-18 17:39:21
dalt
FiL писал(а):бррр... где Вы видите подбор пароля в логах? В логах виден отруб на этапе проверки юзера. Еще до запроса пароля или ключа.
Найдут валидного юзера - тогда будут подбирать пароль. И уж тогда, увидев, что пароль не спрашивается, отвалят. Но перебирать юзеров-то надо. А как иначе?
Я правильно понимаю, что при аутентификации по ключу они не найдут валидного юзера в любом случае?

Отлуп то в любом случае одинаковый

Из перечисленных попыток с машины без приватного ключа: dalt - в AllowUsers, vasya - нигде, root в DenyUsers

Код: Выделить всё

ns# ssh -l dalt 212.15.xxx.1xx
Permission denied (publickey).
ns# ssh -l vasya 212.15.xxx.1xx
Permission denied (publickey).
ns# ssh -l root 212.15.xxx.1xx
Permission denied (publickey).

Re: непонятный момент с sshd

Добавлено: 2012-01-19 8:49:59
FiL
да, похоже ты прав. Как-то я этот момент упустил. Спасибо.