Как создать и настроить свой веб-сервер на VDS (05 сен 2024)

Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?

Openssh. SFTP: Chroot в home directory

Больше
13 года 11 мес. назад - 13 года 11 мес. назад #1 от Aleksej
Aleksej создал тему: Openssh. SFTP: Chroot в home directory
Давайте попытаемся ограничить действия пользователя, работающего посредством openssh, домашней директорией только (в подсистеме sftp). Иными словами - зададим ему ChrootDirectory.

SFTP (англ. SSH File Transfer Protocol) — протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Протокол разработан группой IETF как расширение к SSH-2, однако SFTP допускает реализацию и с использованием иных протоколов сеансового уровня.

Существует заблуждение, что SFTP это просто обычный FTP, работающий поверх SSH. В действительности SFTP — это новый протокол, разработанный с нуля. Иногда его путают с Simple File Transfer Protocol.


1. Создаем группу sftpusers (результаты наших усилий будут применены к участникам данной группы, only):
Code:
addgroup --system sftpusers

2. Заменяем подсистему sftp в /etc/ssh/sshd_config:
Code:
-Subsystem sftp /usr/lib/openssh/sftp-server +Subsystem sftp internal-sftp

3. В этот же файл запишем ряд ограничений:
Code:
Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no

4. Перечитываем конфиг:
Code:
invoke-rc.d ssh reload

5. Берем на заметку, что при создании нового юзера совершенно не обязательно указываеть его шелл; т.к. воспользоваться таковым теперь невозможно.

В качестве шелла указываем /bin/false; а каталог, указанный в качестве ChrootDirectory, обязательно должен принадлежать root, иначе получим следующую ошибку:
Code:
fatal: bad ownership or modes for chroot directory "/home/%username%"

Группу-владельца chroot-директории возможно задавать любую. Но доступна на запись она должна быть только root.

6. И - создаем юзера:
Code:
useradd -G sftpusers -s /bin/false -d /home/user1 user1 mkdir /home/user1 chown root:user1 /home/user1 chmod 750 /home/user1
Последнее редактирование: 13 года 11 мес. назад пользователем Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 2
Работает на Kunena форум