Интернет
→ Устанавливаем FTP сервер ProFTPd с TLS шифрованием.
Сегодня я расскажу как устанавить FTP сервер ProFTPd с TLS шифрованием.
ProFTPD является бесплантным FTP сервером который разрабатываемым группой энтузиастов.
Для установки FTP сервера ProFTPd откройте консоль и выполните команду:
apt-get install proftpd openssl

Нажмите "Y"

Мастер установки предлагает выбрать как во время загрузи система будет запускать ProFTPd.
Выбирайте - самостоятельно.

После установки, необходимо произвести до настройки ProFTPd.
Выполните в консоли команду:
sudo gedit /etc/proftpd/proftpd.conf

Открылся текстовый редактор Gedit c правами супер пользователя и открытым конфигурационным файлом ProFTPd.
Через поиск найдите "UseIPv6", установите значение "off"

Опуститесь в самый низ конфигурационного файла

и добавьте пару строчек
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
Сохраните и закройте текстовый редактор Gedit.

Теперь, необходимо, создать SSL сертификат для TLS.
Выполните комманду
Sudo mkdir /etc/proftpd/ssl

Эта команда, создала директорию для хранения сертификатов.

Теперь, сгенерируйте SSL сертификат. Командой:
sudo openssl req -new -x509 -days 365 -nodes -out
/etc/proftpd/ssl/proftpd.cert.pem -keyout
/etc/proftpd/ssl/proftpd.key.pem
Следуйте инструкциям мастера создания сертификатов:
Country Name (2 letter code) [AU]: RU
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []: spb
Organization Name (eg, company) [Internet Widgits Pty Ltd]: название организации
Organizational Unit Name (eg, section) []: =)
Common Name (eg, YOUR name) []: Ваше имя
Email Address []: Ваш емейл

Вновь внесём изминения в файл конфиграции ФТП сервера
sudo gedit /etc/proftpd/proftpd.conf

Надите строчки:
<IfModule mod_tls.c>
TLSEngine
off
</IfModule>

Замените их на:
<IfModule mod_tls.c>
TLSEngine
on
TLSLog
/var/log/proftpd/tls.log
TLSProtocol
SSLv23
TLSOptions
NoCertRequest
TLSRSACertificateFile
/etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile
/etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient
off
TLSRequired
on
</IfModule>

Сохраните и закройте текстовый редактор Gedit.
Перезапустите ProFTPd командой:
sudo /etc/init.d/proftpd restart

Ну вот и всё =))) сервер установлен!
Проверим как он работает?
В заметке я написал, как настроить FileZilla.
Откройте, менеджер хостов и введите параметры своей компьютера.
В качестве имени пользователя и пароля, введите свой логин и пароль или создайте нового пользователя используя утилиту "Пользователи и группы".
Укажите тип сервера FTP через явный TLS/SSL

=) Примите сертификат безопасности.

=) Всё, Вы соединились.



Добрый день подскажите в чем может быть причина.
Я установил proftpd по вашей статье, сама установка прошла гладко, но когда я делаю рестарт, то получаю вот такую ошибку:
Fatal: TLSLog: missing arguments on line 92 of ‘/etc/proftpd/proftpd.conf’
Поскольку я в линуксе совсем новичок самостоятельно устранить ее не могу.
Помогите pls.
Vladimir
Откройте косноль и выполните
gedit /etc/proftpd/proftpd.conf
Что написано в 92 линии?
Vladimir записывайте таким образом!
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
Кстати у меня FileZilla при такой настройке, соединился только в режиме “FTP over TLS”
Прикольно ещё настроить ProFTPd доступ анонимусам
ProFTPd очень мощьный ФТП сервер… но я рекомендую настраивать ProFTPd так, чтобы файлы который заливаются проверялись на вирусы ClamAV
Не могу соединиться. Connection timed out
Status: Resolving address of localhost
Status: Connecting to 127.0.0.1:21…
Status: Connection established, waiting for welcome message…
Response: 220 FTP Server ready.
Command: AUTH TLS
Response: 234 AUTH TLS successful
Status: Initializing TLS…
Status: Verifying certificate…
Command: USER andrexus
Status: TLS/SSL connection established.
Error: Connection timed out
Error: Could not connect to server
linux@linux:~$ Sudo mkdir /etc/proftpd/ssl
bash: Sudo: команда не найдена
linux@linux:~$ sudo su
root@linux:/home/linux# mkdir /etc/proftpd/ssl
root@linux:/home/linux# sudo openssl req -new -x509 -days 365 -nodes -out
req [options] outfile
where options are
-inform arg input format – DER or PEM
-outform arg output format – DER or PEM
-in arg input file
-out arg output file
-text text form of request
-pubkey output public key
-noout do not output REQ
-verify verify signature on REQ
-modulus RSA modulus
-nodes don’t encrypt the output key
-engine e use engine e, possibly a hardware device
-subject output the request’s subject
-passin private key password source
-key file use the private key contained in file
-keyform arg key file format
-keyout arg file to send the key to
-rand file:file:…
load the file (or the files in the directory) into
the random number generator
-newkey rsa:bits generate a new RSA key of ‘bits’ in size
-newkey dsa:file generate a new DSA key, parameters taken from CA in ‘file’
-newkey ec:file generate a new EC key, parameters taken from CA in ‘file’
-[digest] Digest to sign with (md5, sha1, md2, mdc2, md4)
-config file request template file.
-subj arg set or modify request subject
-multivalue-rdn enable support for multivalued RDNs
-new new request.
-batch do not ask anything during request generation
-x509 output a x509 structure instead of a cert. req.
-days number of days a certificate generated by -x509 is valid for.
-set_serial serial number to use for a certificate generated by -x509.
-newhdr output “NEW” in the header lines
-asn1-kludge Output the ‘request’ in a format that is wrong but some CA’s
have been reported as requiring
-extensions .. specify certificate extension section (override value in config file)
-reqexts .. specify request extension section (override value in config file)
-utf8 input characters are UTF8 (default ASCII)
-nameopt arg – various certificate name options
-reqopt arg – various request text options
root@linux:/home/linux# /etc/proftpd/ssl/proftpd.cert.pem -keyout
bash: /etc/proftpd/ssl/proftpd.cert.pem: No such file or directory
root@linux:/home/linux# /etc/proftpd/ssl/proftpd.key.pem
Что дальше?
2Иван
В топике всё написано.