В предыдущей заметке, я показывал, как настроить vsFTPD в операционной системе Ubuntu 10.10. Но есть одно, но, передача данных, между клиентом происходим в открытом виде, т. к. ftp-сервис был создан в то время, когда о безопасности и не думали. А сейчас другое время, и никто не может быть на 100% защищён. Я же в свою очередь продемонстрирую, как защитить FTP сервер самоподписанным сертификатом.
Установку опущу, см. раздел «FTP» на моем блоге.
Сгенерируем SSL сертификат для нормальной работы TLS и разместим его в директории /etc/ssl/private:
ekzorchik@ub64amd:~$ sudo -s (повышаем свои права в системе, до пользователя root)
root@ub64amd:~# cd /etc/ssl/private/
root@ub64amd:/etc/ssl/private# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd_ub64amd.pem -out /etc/ssl/private/vsftpd_ub64amd.pem
Generating a 1024 bit RSA private key
….++++++
……..++++++
writing new private key to ‘/etc/ssl/private/vsftpd_ub64amd.pem’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:RUSSIAN – страна
string is too long, it needs to be less than 2 bytes long
Country Name (2 letter code) [AU]:RU – страна (нужно указывать 2 буквы)
State or Province Name (full name) [Some-State]:Moscow – город
Locality Name (eg, city) []:Moscow – город
Organization Name (eg, company) [Internet Widgits Pty Ltd]:www.ekzorchik.ru – имя организации
Organizational Unit Name (eg, section) []:ekzorchik – название организации
Common Name (eg, YOUR name) []:www.ekzorchik.ru – общее имя
Email Address []:ekzorchik@yahoo.com – почтовый адрес
т. к. мы создаём самоподписанный сертификат и не утверждённый кем-либо, то его заполнение правдивыми данными не столь необходимо.
Ограничим права на наш сгенерированный сертификат, только для пользователя root:
root@ub64amd:/etc/ssl/private# chmod 600 vsftpd_ub64amd.pem
Отредактируем основной конфигурационный файл — vsftpd.conf:
root@ub64amd:/etc/ssl/private# nano /etc/vsftpd.conf
в конце файла поправим имя и местоположение сгенерированного сертификата, было так:
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Стало так:
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd_ub64amd.pem
ssl_enable=YES – активируем использование SSL (самоподписанного сертификата)
force_local_data_ssl=YES – принудительный запрос SSL
force_local_logins_ssl=YES – принудительный запрос SSL
Сохраняем вносимые изменения (Ctrl +O) и выходим (Ctrl + X).
Перезагружаем службу vsftpd:
root@ub64amd:/etc/ssl/private# service vsftpd restart
vsftpd start/running, process 5550
Настройка завершена. Этим мы обезопасили подключение к нашему FTP серверу самоподписанным ключом. Теперь перехватить данные передаваемые между наши и сервером будет проблематично. На этом всё, удачи!!!