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

Правильная настройка прав пользователей для OpenSSH в Windows?

Я пытаюсь настроить OpenSSH в Windows для предоставления сайтов SFTP. У меня проблемы с настройками безопасности пользователей.

Вот основные шаги, которые я сделал для создания пользователя:

  1. Создайте нового пользователя на хост-машине
  2. Добавьте пользователя в файл openssh passwd с настроенным путем к файлу для cygwin, который указывает на домашнюю папку клиента (пример: / cygdrive / e / homefolders / username)
  3. Разрешить пользователю доступ для чтения / записи к своей папке

Проблема, с которой я столкнулся, заключается в том, что пользователю необходимо иметь разрешение на выполнение для папки программы OpenSSH, чтобы он мог войти в систему. Я обнаружил, что могу отключить доступ к определенным папкам, таким как «и т. Д.», Но меня беспокоит, что я должен вообще предоставлять здесь разрешения. При использовании FileZilla мне показывается иерархия папок «/ cygdrive / e / homefolders / username», и я могу просматривать «/» в папках с доступом для чтения.

Есть ли конкретная стратегия, которую я должен использовать для обеспечения надлежащей безопасности в этой настройке? Определенный файл или папка, для которых мне может потребоваться предоставить разрешения на выполнение, но не более того? Я хотел бы полностью заблокировать все, кроме доступа для чтения / записи к их собственной папке, но это, похоже, невозможно.

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

Возможно, вам лучше поискать другие альтернативы. Возможно, webdav, возможно, ftps-сервер (filezilla) или, может быть, один из других проприетарный sftp сервера.

Вариант, который доступен, если вы должны сделать это с помощью cygwin OpenSSH, - это использовать оболочку scponly. Вот pdf описание процедуры.


Не уверен, какая версия openssh у вас установлена ​​в Windows. Но похоже, что вы хотите настроить sftp chroot.

Вы можете проверить эти связанные вопросы.

Насколько сильно вы хотите SFTP? Cygwin несколько хакерский, а OpenSSH для Windows сильно устарел. Мой подход заключался в использовании WebDAV, который решает большинство ваших проблем:

  • Чтение и запись файлов
  • Encrypted защищает маркеры аутентификации и файлы
  • поддерживается почти на всех ОС
  • чрезмерно усердная конфигурация межсетевого экрана устойчива

IIS поддерживает его даже в версии, поставляемой с server 2000.

Проблема, с которой я сталкиваюсь, заключается в том, что пользователю необходимо иметь разрешение на выполнение для папки программы OpenSSH, чтобы он мог войти в систему. Я обнаружил, что могу отключить доступ к определенным папкам, таким как «и т. Д.», Но меня беспокоит, что я должен вообще предоставлять здесь разрешения. При использовании FileZilla мне показывается иерархия папок «/ cygdrive / e / homefolders / username», и я могу просматривать «/» в папках с доступом для чтения.

Это часть настройки OpenSSH priv-sep.

Этот (PDF) хороший документ об этом и других функциях безопасности OpenSSH.

Короче говоря, главный демон переключается на непривилегированный процесс, пытаясь помешать каким-либо эксплойтам в остальной части программы разрешить "root" доступ.

Вы также можете использовать chroot как настройка чтобы полностью предотвратить доступ за пределами пользователей homedir.

Я также поддержал бы предложение webdav, даже если бы я отказался от его работы ни с чем, кроме клиентов OS X.