Гид по технологиям

Защита VSFTP с SSL и двухфакторной аутентификацией

• 4 min read • Безопасность • Обновлено 22 Nov 2025
Защита VSFTP: SSL и двухфакторная аутентификация
Защита VSFTP: SSL и двухфакторная аутентификация

Введение

В недавнем отчёте Finjan отмечалось, что учётные данные администраторов для более чем 9 000 FTP-серверов были выставлены на продажу; F-Secure также зафиксировал рост атак на FTP. Многие компании всё ещё активно используют FTP. Даже если вы добавите шифрование, важно контролировать, кто получает доступ: двухфакторная аутентификация (2FA) повышает безопасность администраторов и пользователей.

Кратко: этот материал показывает, как установить и настроить VSFTPD с SSL и подключить WiKID через RADIUS для 2FA.

Важно: перед изменениями сделайте резервную копию конфигураций и ключей.

Установка и создание SSL-сертификата

Установите пакет vsftpd (для RHEL/CentOS):

yum install vsftpd

Создайте самоподписанный SSL-сертификат, если у вас его нет:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

Подсказка: для производственной среды используйте ключ длиной не менее 2048 бит и подпишите сертификат у доверенного CA.

Пример конфигурации vsftpd

Отредактируйте конфигурационный файл (в некоторых системах путь может быть /etc/vsftpd/vsftpd.conf). Приведённые ниже параметры работали в тестах, но не гарантируют максимальную безопасность — проверьте политику вашей организации.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ftpd_banner=Welcome to blah FTP service.
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=6000
pasv_max_port=7000
ssl_enable=YES
allow_anon_ssl=NO
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem

Примечания по безопасности:

  • Отключите SSLv2/SSLv3 и при возможности используйте только TLSv1.2 или выше (современные сборки vsftpd поддерживают tlsv1_2).
  • Ограничьте диапазон пассивных портов в брандмауэре и пробросьте только эти порты.

Настройка PAM для RADIUS

Чтобы подключить RADIUS-аутентификацию через WiKID, отредактируйте файл PAM для vsftpd. Примерное содержимое /etc/pam.d/vsftpd:

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       required     /lib/security/pam_radius_auth.so
#auth       include     system-auth
account    include      system-auth
session    include      system-auth
session    required     pam_loginuid.so

Убедитесь, что модуль pam_radius_auth установлен в системе и доступен по указанному пути. Права на файл /etc/raddb/clients.conf или аналогичный конфиг RADIUS должны быть ограничены.

Конфигурация RADIUS (raddb)

Отредактируйте серверы RADIUS в конфигурации (например, /etc/raddb/clients.conf или /etc/raddb/servers в зависимости от дистрибутива):

# server[:port] shared_secret      timeout (s)
127.0.0.1             secret             1
WIKID_Server_IP       wikidserver_secret 3

Замените WIKID_Server_IP и shared secret на значения, полученные при создании Network Client в WiKID.

Настройка сервера WiKID

Если у вас ещё нет домена в WiKID, создайте его через интерфейс администратора.

Интерфейс WiKID — добавление домена

После сохранения домена перейдите на вкладку «Network Client» и нажмите «Create New Network Client». Введите имя клиента и IP-адрес сервера VSFTP во внутренней сети. Выберите протокол RADIUS и домен, который вы создали.

Интерфейс WiKID — создание сетевого клиента с выбором домена

Нажмите Add, чтобы перейти к следующей странице, и введите shared secret для RADIUS.

Интерфейс WiKID — ввод секретного ключа RADIUS для клиента

Клиентская поддержка и рекомендации по использованию

VSFTP поддерживается многими FTP-клиентами. Для шифрования в примерах использовался FileZilla, он поддерживает FTP over TLS. Если вы внедряете 2FA для SSH, то SCP/SFTP-клиенты, такие как WinSCP, также могут получить преимущества 2FA (в зависимости от интеграции).

Даже если вы не шифруете содержимое, важно знать, кто загружает файлы. 2FA защищает учётные записи администраторов и критические учётные записи пользователей.

Контрольные списки для внедрения

Роль: администратор сервера

  • Сделать резервную копию конфигураций vsftpd и PAM
  • Установить vsftpd и pam_radius_auth
  • Сгенерировать/установить сертификат TLS
  • Ограничить пассивные порты и настроить брандмауэр
  • Настроить WiKID Network Client и RADIUS secret
  • Протестировать вход под обычным и 2FA-пользователем

Роль: оператор/DevOps

  • Проверить логи аутентификации и авторизации
  • Настроить мониторинг отказов аутентификации и алармы
  • Обновлять vsftpd и зависимости безопасности

Краткая методика внедрения (шаги)

  1. Резервное копирование текущих конфигов.
  2. Установка vsftpd и зависимостей.
  3. Генерация TLS-сертификата.
  4. Настройка /etc/vsftpd/vsftpd.conf (включить ssl_enable и пути к сертификату).
  5. Установка и настройка pam_radius_auth.
  6. Создание Network Client в WiKID и получение shared secret.
  7. Добавление RADIUS-сервера в /etc/raddb/servers.
  8. Тестирование входа и передачи файлов через шифрованное соединение.

Критерии приёмки

  • TLS-соединение устанавливается (проверить через FileZilla или openssl s_client).
  • Аутентификация через RADIUS проходит для обычного пользователя и для пользователя с 2FA.
  • Логирование успешных и неуспешных попыток аутентификации настроено.
  • Порты пассивного диапазона открыты только там, где нужно.

Фактические заметки и ограничения

  • Самоподписанные сертификаты защищают канал, но не подтверждают подлинность сервера; для полного доверия используйте сертификат от CA.
  • Поддержка 2FA на клиентской стороне зависит от механизма WiKID и интеграции с PAM.

Резюме

  • Включите SSL/TLS в vsftpd для защиты трафика.
  • Интегрируйте pam_radius_auth с сервером WiKID для двухфакторной аутентификации.
  • Тестируйте конфигурацию и добавьте мониторинг логов и алерты.

Важно: всегда проверяйте совместимость пакетов и делайте обновления безопасности своевременно.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро