Текущая страница: ГлавнаяРазное → Контроль доступа в SSH и vsFTPd

Контроль доступа в SSH и vsFTPd

Файл конфигурации vsFTPd:

whereis vsftpd
/etc/vsftpd.conf

Основные директивы:

userlist_file=/etc/vsftpd.userlist

Задает список пользователей которым разрешен/запрещен доступ к FTP
(каждый пользователь должен быть указан в файле с новой строки)

userlist_enable=YES

Разрешает использование списка доступа

userlist_deny=YES

Запрещает доступ к FTP пользователям из файла определяемого в userlist_file

userlist_deny=NO

Разрешает доступ к FTP только пользователям из файла определяемого в userlist_file

anonymous_enable=NO

Разрешает/Запрещает анонимный доступ к FTP

local_enable=YES

Любой пользователь указанный в файле /etc/passwd, сможет авторизоваться, используя свой пароль.

write_enable=YES

Разрешает пользователям создавать/изменять файлы

Как использовать в режиме chroot — Версия vsftpd 3.0.2

Устанавливаем опцию:

chroot_local_user=YES

При попытке подключения получаем:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Устанавливаем опцию:

allow_writeable_chroot=YES

Подключаемся нормально, но непонятно в какой каталог мы при этом chroot…..
Устанавливаем опции:

local_root=/home
passwd_chroot_enable=yes

Меняем домашний каталог пользователя:

usermod -d /home/./user_name -m user_name

Пояснение. Фактически /home/./user_name и /home/user_name одно и тоже и изменение в некотором роде фиктивное, но для vsftpd важно чтобы домашний каталог пользователя определялся в файле /etc/passwd именно таким образом….
Теперь все ок. chroot-мся мы туда куда надо — в /home/user_name
На просторах инета видел еще одну настройку для снятия ошибки 500 OOPS:
Отключаем в SELinux:

setsebool -P ftpd_disable_trans 1

Мне не понадобилась, но на всякий случай надо запомнить….

Файл конфигурации SSH: /etc/ssh/sshd_config

DenyUsers user1 user2 user3

Запрещает доступ по SSH указанным пользователям

DenyGroups group1

Запрещает доступ по SSH указанной группе

AllowUsers setevoy tester otheruser

Разрешает доступ по SSH указанным пользователям

AllowGroups wheel ssh

Разрешает доступ по SSH указанной группе

PermitRootLogin no

Запрещает root доступ по SSH

LoginGraceTime 30s

Время ожидания ввода пароля

ClientAliveInterval 1200

Разрываем соединение при неактивности более 1200 секунд

MaxStartups 5

Определяет сколько неавторизованных сессий может висеть одновременно

Примечание:
В debian/ubuntu при ошибках в конфиге демон ssh не даст себя перезапустить, так что какой-то специальной проверки на возможные синтаксические ошибки не требуется.

Пример того, как можно ограничивать доступ к сервисам по IP средствами iptables

Добавить комментарий