Настройка PureFTPd + TLS в OpenSUSE 11.3

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

OpenSUSEFTP является очень небезопасным протоколом, потому что все пароли и все данные передаются в открытом виде. С помощью TLS, все связи могут быть зашифрованы, что делает FTP более безопасным. В этом материале объясняется, как настроить PureFTPd с TLS на 11.3 сервера.

Предварительные замечания

Вы должны иметь рабочий PureFTPd установленный на OpenSUSE 11.3 сервер.

Установка OpenSSL

OpenSSL необходим TLS, для установки OpenSSL, просто выполним:

  • yast2 -i openssl

Настройка PureFTPd

Откроем /etc/pure-ftpd/pure-ftpd.conf ...

  • nano /etc/pure-ftpd/pure-ftpd.conf

Если вы хотите разрешить FTP и TLS сессии, используйте 1 набор TLS:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

Если вы хотите разрешить только TLS сессии (без FTP), используйте 2 набор TLS:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      2
[...]

Если вы хотите разрешить только FTP и (без TLS сессии), используйте 3 набор TLS:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      0
[...]

Создание SSL сертификата для TLS

Для того чтобы использовать TLS, мы должны создать SSL-сертификат. Я создаю его в / и т.д. /etc/ssl/private/, поэтому я создал этот каталог первым:

  • mkdir -p /etc/ssl/private/

После этого мы можем cгенерировать SSL сертификат следующим образом:

  • openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Country Name (2 letter code) [AU]: - Название Вашей страны (например "RU")
State or Province Name (full name) [Some-State]: - Введите Ваше государство или название провинции
Locality Name (eg, city) []: - Введите Ваш город
Organization Name (eg, company) [Internet Widgits Pty Ltd]: - Введите название Вашей организации (например имя Вашей компании)
Organizational Unit Name (eg, section) []: - Имя организационного отдела(например "IT Департамент")
Common Name (eg, YOUR name) []: - Введите полное доменное имя системы (например "server1.example.com")
Email Address []: - Введите Ваш e-mail адрес

Изменение разрешения сертификата SSL:

  • chmod 600 /etc/ssl/private/pure-ftpd.pem

Завершим перезапуском PureFTPd:

  • /etc/init.d/pure-ftpd restart

Вот и все. Теперь вы можете попробовать подключиться с помощью вашего FTP-клиента, однако, вы должны настроить свой FTP-клиент для использования TLS.