Я только что установил OpenSSH Server на Windows Server 2019 в доменной среде и заметил, что по умолчанию почти каждый пользователь может подключиться к серверу через SSH. Это как если бы аутентификация AD работала (потому что я могу войти на сервер через SSH, используя учетную запись / пароль домена), но разрешения не применяются и даже не проверяются.
В принципе, допустим, у меня 2 пользователя, normalUser и adminUser. normalUser не входит ни в одну группу AD, которая дала бы ему доступ к WS2019SERVER, но adminUser входит. Хорошо,оба пользователя смогут без проблем войти на сервер через SSH.
Если я войду через SSH и сделаю «whoami / groups», то вот что я получу (если это может помочь).
normalUser:
Group Name Type SID Attributes
======================================================================= ================ =============================================== ===============================================================
Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group
BUILTIN\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\NETWORK Well-known group S-1-5-2 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users Well-known group S-1-5-11 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization Well-known group S-1-5-15 Mandatory group, Enabled by default, Enabled group
adminUser:
Group Name Type SID Attributes
==================================================================== ================ =============================================== ===============================================================
Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group
BUILTIN\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
BUILTIN\Administrators Alias S-1-5-32-544 Mandatory group, Enabled by default, Enabled group, Group owner
BUILTIN\Event Log Readers Alias S-1-5-32-573 Mandatory group, Enabled by default, Enabled group
Как запретить обычному пользователю подключаться к серверу по SSH? Я играл с AllowGroup
и DenyGroup
в C: \ ProgramData \ ssh \ sshd_config, но он не работает (если что, мне удалось каким-то образом заблокировать adminUser, но не normalUser?!).
Спасибо,
Aura
Решение найдено здесь:
https://github.com/MicrosoftDocs/windowsserverdocs/issues/2119
По сути, я добавил:
AllowGroups DOMAIN \ ALLOWED_GROUP
К C: \ ProgramData \ ssh \ sshd_config
И это сработало. Причина, по которой он не работал вначале, заключалась в том, что я играл со смесью AllowGroups, DenyGroups, AllowUsers и DenyUsers. Но AllowGroups разрешает доступ по SSH ТОЛЬКО пользователям, которые являются частью перечисленных групп (групп). Нет необходимости обрабатывать все остальные в DenyGroups или DenyUsers (например: DenyUsers DOMAIN *, а затем разрешить группу через AllowGroups DOMAIN \ ALLOWED_GROUP).