Конфигурация ftps сервера на базе Centos Linux и vsftpd

Введение.

Как то раз возникла задача организовать ftps сервер со входом по логину паролю
Было принято решение использовать vsftpd и ОС - Linux Centos 5.8

Конфигурация

1. Установка пакетов

yum install vsftpd db4 db4-utils openssl  

2. Генерация self-signed SSL сертификата

openssl genrsa -out key.pem 1024

openssl req -new -key key.pem -out req.pem
 
 Country Name (2 letter code) [AU]:RU
 State or Province Name (full name) [Some-State]:
 Locality Name (eg, city) []:Moscow
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:Test Company
 Organizational Unit Name (eg, section) []:IT dept
 Common Name (eg, YOUR name) []:ftps.example.ru
 Email Address []:adm@example.ru
 
 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []:
 An optional company name []:

openssl req -x509 -days 365 -key key.pem -in req.pem -out cert.pem

Перемещение сертификата в конфигурационную директорию vsftpd.

mv cert.pem /etc/vsftpd/cert.pem

3. Конфигурация vsftpd

Файл /etc/vsftpd/vsftpd.conf

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
require_ssl_reuse=NO
implicit_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/cert.pem
listen=YES
listen_address=212.1.1.1
listen_port=990
background=YES
log_ftp_protocol=YES
guest_enable=YES
guest_username=ftp
syslog_enable=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
local_enable=YES
chroot_local_user=YES
pam_service_name=vsftpd
secure_chroot_dir=/usr/share/vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES

Создание тестового пользователя login/password

Файл /etc/vsftpd/login

test
password

Создание бызы Berkley DB

db_load -T -t hash -f login login.db
chmod 600 login.db

Создание PAM файла , использующего базу login.db
Файл /etc/pam.d/vsftpd

#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login
session    required     pam_loginuid.so

Создание FTP directory для пользователя test и конфигурация правил доступа.

mkdir /test_ftp
chmod 775 /test_ftp
chgrp nobody /test_ftp

Файл /etc/vsftpd/vsftpd_user_conf/

write_enable=YES
local_root=/test_ftp

Запуск сервиса и проверка наличие настройки на запуск при загрузке ОС.

service vsftpd start
temp=`chkconfig --list | grep vsftp | grep on`;if [ "$temp" ]; then echo ok; else chkconfig vsftp on; fi  

PS: Если будут проблемы с доступом необходима selinux (chcon semanage) или просто отключение

Пример подключения

Для примера возьмем winSCP клиент. (Можно использовать Filezilla и т.д)

Пример настройки:

500

Жмем логин и работаем.

Об авторе

Profile автора

ru/jobs/ftps_on_vsftpd.txt · Last modified: 2015/03/12 17:12 by admin
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki