Конфигурация с шифрованием SSL
Теперь изменим нашу конфигурацию следующим образом: анонимные пользователи не используются. Используются только виртуальные пользователи, учётные записи которых хранятся в MySQL. Для каждого пользователя можно задать свою конфигурацию. Обеспечено шифрование SSL.
Установим OpenSSL:
# aptitude install openssl
Создаём директорию для сертификата
# mkdir /etc/vsftpd/ssl/
Создадим самоподписанный сертификат, срок действия которого 2 года:
openssl req -x509 -nodes -days 730 -newkey rsa:1024 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem
В процессе создания сертификата заполняем предлагаемые поля:
Country Name: (пишем двухбуквенное название своей страны, например RU)
State or Province Name: (пишем название своего региона)
Locality Name: (пишем название своего города)
Organization Name: (пишем название своей организации)
Organization Unit Name: (пишем название подразделения организации)
Common Name: (пишем доменное имя организации)
Email Address: (пишем адрес электронной почты)
Открываем файл /etc/vsftpd.conf и редактируем его, чтобы получилось следующее:
# Запускать vsftpd в независимом режиме
listen=YES
max_clients=100
max_per_ip=10
hide_ids=YES
idle_session_timeout=600
data_connection_timeout=120
dirmessage_enable=YES
ftpd_banner=Welcome!
# Убираем анонимный доступ
anonymous_enable=NO
# Гостевой вход. Не анонимный вход рассматривается как гостевой
guest_enable=YES
guest_username=ftpuser
nopriv_user=ftpuser
# Виртуальные пользователи будут иметь права локальных пользователей
virtual_use_local_privs=YES
local_root=/var/ftp/$USER
user_sub_token=$USER
# Специальные настройки пользователей находятся в этой директории
user_config_dir=/etc/vsftpd/user_conf
# Разрешаем вход для теперь уже виртуальных пользователей
local_enable=YES
write_enable=YES
local_umask=022
# Виртуальные пользователи будут входить в свои «домашние» каталоги
chroot_local_user=YES
chroot_list_enable=NO
# Сообщения будут записываться в собственный журнал
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
# настройки SSL
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
Рестартуем сервис
/etc/init.d/vsftpd restart
Необходимо помнить, что теперь для подключения к нашему серверу следует использовать ftp — клиент, который поддерживает шифрование. Например File Zilla.
Конфигурационный файл можно скачать здесь.
Автор: Золкин А. Н.


