Назад | Перейти на главную страницу

Windows Server 2019 - OpenSSH (аутентификация и разрешения AD)

Я только что установил OpenSSH Server на Windows Server 2019 в доменной среде и заметил, что по умолчанию почти каждый пользователь может подключиться к серверу через SSH. Это как если бы аутентификация AD работала (потому что я могу войти на сервер через SSH, используя учетную запись / пароль домена), но разрешения не применяются и даже не проверяются.

В принципе, допустим, у меня 2 пользователя: normalUser и adminUser. normalUser не входит ни в одну группу AD, которая дала бы ему доступ к WS2019SERVER, но adminUser входит. Что ж, оба пользователя смогут без проблем войти на сервер через SSH.

Если я вхожу в систему через SSH и выполняю команду «whoami / groups», я получаю следующее (если это может помочь).

обычный пользователь:

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 ?!).

Спасибо,

Аура

Нашел решение здесь:

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).