Я пытаюсь настроить OpenSSH в Windows для предоставления сайтов SFTP. У меня проблемы с настройками безопасности пользователей.
Вот основные шаги, которые я сделал для создания пользователя:
Проблема, с которой я столкнулся, заключается в том, что пользователю необходимо иметь разрешение на выполнение для папки программы 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, который решает большинство ваших проблем:
IIS поддерживает его даже в версии, поставляемой с server 2000.
Проблема, с которой я сталкиваюсь, заключается в том, что пользователю необходимо иметь разрешение на выполнение для папки программы OpenSSH, чтобы он мог войти в систему. Я обнаружил, что могу отключить доступ к определенным папкам, таким как «и т. Д.», Но меня беспокоит, что я должен вообще предоставлять здесь разрешения. При использовании FileZilla мне показывается иерархия папок «/ cygdrive / e / homefolders / username», и я могу просматривать «/» в папках с доступом для чтения.
Это часть настройки OpenSSH priv-sep.
Этот (PDF) хороший документ об этом и других функциях безопасности OpenSSH.
Короче говоря, главный демон переключается на непривилегированный процесс, пытаясь помешать каким-либо эксплойтам в остальной части программы разрешить "root" доступ.
Вы также можете использовать chroot как настройка чтобы полностью предотвратить доступ за пределами пользователей homedir.
Я также поддержал бы предложение webdav, даже если бы я отказался от его работы ни с чем, кроме клиентов OS X.