FTP-сервер vsftpd на ubuntu 14.04

vsftpd — установка FTP-сервера

vsftpd — это демон FTP, доступный в Ubuntu. Его легко устанавливать, настраивать и поддерживать. Для установки vsftpd вы можете выполнить следующую команду:
sudo apt-get install vsftpd

Настройка анонимного доступа по FTP

Настройка vsftpd по умолчанию не разрешает анонимную загрузку. Если вы хотите разрешить анонимную загрузку, измените в /etc/vsftpd.conf следующее:
anonymous_enable=Yes
В процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Это каталог по умолчанию для FTP.
Если вы желаете поменять его расположение, например, на /srv/files/ftp, просто создайте новый каталог и измените домашний каталог пользователя ftp:
sudo mkdir /srv/files/ftp
sudo usermod -d /srv/files/ftp ftp 
После изменений перезапустите vsftpd:
sudo restart vsftpd
Под конец скопируйте все файлы и каталоги, которые вы хотите сделать доступными для анонимного FTP, в /srv/files/ftp, или /srv/ftp, если вы хотите оставить настройки по умолчанию.

Настройка авторизованного доступа по FTP

По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью скачивать файлы. Если вы хотите разрешить пользователям загружать файлы на сервер, измените в /etc/vsftpd.conf:
write_enable=YES
после чего перезагрузите vsftpd:
sudo restart vsftpd
Теперь при входе системных пользователей по FTP они будут попадать в свои домашние каталоги, где они смогут скачивать и загружать файлы, создавать каталоги и т.д.
Аналогично, по умолчанию анонимный пользователь не имеет возможности загружать файлы на FTP-сервер. Для изменения этой настройки уберите комментарий на следующей строке и перезапустите vsftpd:
anon_upload_enable=YES
Разрешение анонимному пользователю загружать файлы на сервер может оказаться серьёзной угрозой безопасности. Лучше не разрешать анонимную загрузку файлов на серверы с прямым доступом из интернета.
Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде man 5 vsftpd.conf для уточнения деталей по каждому параметру.

Защита FTP

В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, пользователи могут быть ограничены своими домашними каталогами, если раскомментировать:
chroot_local_user=YES
Вы также можете определить список пользователей, имеющих доступ только в домашний каталог:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
После снятия комментариев с этих опций, создайте /etc/vsftpd.chroot_list, содержащий список пользователей по одному на строку. Затем перезапустите vsftpd:
sudo restart vsftpd
Аналогично, файл /etc/ftpusers содержит список пользователей, которым запрещён доступ по FTP. По умолчанию он включает root, daemon, nobody и т.п. Для запрета доступа по FTP для дополнительных пользователей, просто добавьте их в этот список.
FTP может быть зашифрованным при использовании FTPS. В отличие от SFTP, FTPS — это FTP поверх SSL. SFTP — это сессия, подобная FTP, по зашифрованному SSH соединению. Основное отличие заключается в том, что пользователи SFTP должны иметь учётную запись с собственным окружением shell вместо оболочки nologin. Предоставление всем пользователям доступа к оболочке может оказаться не лучшим решением для некоторых систем, таких как веб-сервер общего доступа. Однако есть возможность ограничить такие учетные записи только SFTP и запретить взаимодействие с оболочкой. Смотрите раздел по OpenSSH для дополнительной информации.
Для настройки FTPS, добавьте в конец файла /etc/vsftpd.conf следующее:
ssl_enable=Yes
Также обратите внимание на опции сертификата и ключа:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
По умолчанию эти опции установлены в значения, предоставленные пакетом ssl-cert. Для рабочей среды они должны быть заменены на сертификат и ключ, созданные для определённого компьютера. Для дополнительной информации смотрите раздел Сертификаты.
Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS:
sudo restart vsftpd
Чтобы позволить пользователям с оболочкой /usr/sbin/nologin получить доступ к FTP, но не предоставлять shell доступ, отредактируйте /etc/shells, добавив к оболочке nologin:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin
Это необходимо, поскольку по умолчанию vsftpd использует аутентификацию PAM, а файл настроек /etc/pam.d/vsftpd содержит:
auth    required        pam_shells.so
Модуль PAM shells ограничивает доступ к оболочкам, перечисленным в файле /etc/shells.
Наиболее популярные клиенты FTP могут быть настроены на использование FTPS. FTP-клиент командной строки lftp также имеет возможность использовать FTPS.

Комментариев нет :

Отправить комментарий

Поиск по этому блогу