Вопрос или проблема
Установил Win32-OpenSSH на сервер Windows 2008R2. Использую локальных пользователей для входа и т.д. Два вопроса:
- Как установить домашний каталог для пользователей? В настоящее время он установлен на c:\users\, и затем он также заполняется всем тем, что Windows создает для каждого пользователя.
- Как ограничить пользователя, чтобы он находился только в этом каталоге, чтобы не иметь возможности просматривать весь сервер и загружать и просматривать файлы по своему усмотрению?
Все руководства, которые я могу найти, говорят о папке etc/ и файлах паролей и т.д. Но их нет в win32-openssh.
Спасибо, ребята.
Я думаю, что сборка win32-openssh все еще не поддерживает chroot, и вам нужно будет установить полный Cygwin, а затем установить сервер SSH Cygwin. Вот отличное видео, которое описывает этот процесс –
https://www.youtube.com/watch?v=dL-9k4riBps
Ответ или решение
Настройка и ограничение домашнего каталога Win32-OpenSSH на Windows для SFTP
Установка Win32-OpenSSH на сервере Windows 2008R2 предоставляет вам возможность настройки SFTP для локальных пользователей. В данном руководстве мы подробно рассмотрим два важных аспекта: настройка домашнего каталога для пользователей и ограничение доступа к каталогу, чтобы предотвратить ненадлежащее использование сервера.
1. Установка домашнего каталога для пользователей
По умолчанию, при установке Win32-OpenSSH, домашние каталоги пользователей могут указываться в C:\Users\
. Это может стать проблемой, поскольку Windows создает множество дополнительных папок и файлов для каждого пользователя, что затрудняет управление.
Чтобы изменить домашний каталог для ваших пользователей:
-
Создайте новый каталог. Это может быть отдельная папка, например,
C:\SFTP\%USERNAME%
, где%USERNAME%
будет соответствовать имени пользователя. Убедитесь, что у каждого пользователя есть доступ к его личному каталогу. -
Настройте домашнюю директорию. Для этого вам нужно изменить параметры профиля пользователя, чтобы указать новый домашний каталог. Это можно сделать через графический интерфейс Windows или через командную строку. Для изменения через командную строку выполните:
net user имя_пользователя /homedir:C:\SFTP\имя_пользователя
-
Проверьте настройки SSHD. Убедитесь, что конфигурационный файл SSH (обычно
sshd_config
, который находится вC:\ProgramData\ssh\
) учитывает изменения. Добавьте или отредактируйте строкуMatch User имя_пользователя
, чтобы указать его домашний каталог:Match User имя_пользователя ChrootDirectory C:\SFTP\имя_пользователя
Обратите внимание, что ChrootDirectory
должен указать на каталог, который является владельцем пользователя, а также на который пользователю предоставлены права на чтение и выполнение.
2. Ограничение доступа к домашнему каталогу
В Win32-OpenSSH (особенно в версиях, как Windows 2008R2) отсутствуют возможности chroot, как в Unix-подобных системах. Таким образом, полноценное ограничение доступа к файловой системе требует дополнительных шагов.
Для ограничения пользователей к их домашнему каталогу вы можете сделать следующее:
-
Настройте разрешения на файловую систему. Убедитесь, что у пользователей есть полный доступ к их собственному домашнему каталогу, но отсутствует доступ к каталогам выше по дереву. Это можно сделать, изменив разрешения в свойствах папки через интерфейс Windows и удалив доступ для группы "Все" или других групп.
-
Создайте отдельный виртуальный каталог. Если у вас есть возможность использовать более сложные настройки, рассмотрите установку Cygwin и настройку OpenSSH через него, поскольку Cygwin поддерживает chroot окружение более гибко. После установки Cygwin, следуйте руководству по настройке, подобному тому, что указано в данном видео, чтобы настроить более строгие ограничения доступа.
-
Тестируйте настройку. Войдите под учетной записью пользователя и убедитесь, что доступ ограничен только на нужный каталог. Протестируйте возможность чтения и записи файлов и убедитесь, что попытка доступа к другим каталогам приводит к ошибкам.
Заключение
Ограничение домашнего каталога и управление доступом к файловым системам в Win32-OpenSSH требует вдумчивого подхода. Неправильная настройка может привести к серьезным проблемам безопасности. По возможности, учитывайте возможность использования Cygwin для более комплексных решений, если это необходимо для вашего окружения. Делайте резервные копии всех настроек перед внесением изменений и тщательно тестируйте систему после их применения.