The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проблема с подключением FTPS к vsftpd на FreeBSD, !*! Allan Stark, 05-Дек-17, 18:22  [смотреть все]
Здравствуйте

Есть виртуальная машина под FreeBSD 11.0 на WMSphere с адресом IntIP, с проброшенными наружу на адрес RealIP несколькими сервисами.
Проброс через стандартный WMSphere Edge Gateway, сервисы проброшены наружу через DNAT.

Потребовалось поднять vsftpd с ssl на этой машине, с тем, чтобы дать на нее доступ с нескольких внешних IP.

Пакет vsftpd-ssl-3.0.3
В Edge Gateway был выполнен проброс с инета к виртуалке (DNAT TCP) с портов 21 и на всякий случай с TCP 989-990.
Из виртуалки наружу есть SNAT с полным доступом.
В ipfw внесены правила, разрешающие TCP 21,989,990 и диапазон пассивных портов (см. конфиг vsftpd) для нескольких внешних IP.
В сам vsftpd добавлен корректный pem-сертификат с паблик и приват ключами, выданный внешним CA (RapidSSL) с dns именем, совпадающим с внешним именем сервера (ftp.company.ru)

После всех телодвижений подключение по обычному FTP в пассивном режиме и выполнение команд идет прекрасно, а вот по FTPS - нет.

Лог подключения (FileZilla):

15:29:31    Status:    Resolving address of ftp.company.ru
15:29:31    Status:    Connecting to RealIP:21...
15:29:31    Status:    Connection established, waiting for welcome message...
15:29:31    Response:    220 "Welcome to FTP service."
15:29:31    Command:    AUTH TLS
15:29:31    Response:    234 Proceed with negotiation.
15:29:31    Status:    Initializing TLS...
15:29:31    Status:    Verifying certificate...
15:29:31    Status:    TLS connection established.
15:29:31    Command:    USER **********
15:29:31    Response:    331 Please specify the password.
15:29:31    Command:    PASS **********
15:29:31    Response:    230 Login successful.
15:29:31    Command:    OPTS UTF8 ON
15:29:31    Response:    200 Always in UTF8 mode.
15:29:31    Command:    PBSZ 0
15:29:31    Response:    200 PBSZ set to 0.
15:29:31    Command:    PROT P
15:29:31    Response:    200 PROT now Private.
15:29:31    Status:    Logged in
15:29:31    Status:    Retrieving directory listing...
15:29:31    Command:    PWD
15:29:31    Response:    257 "/" is the current directory
15:29:31    Command:    TYPE I
15:29:31    Response:    200 Switching to Binary mode.
15:29:31    Command:    PASV
15:29:31    Response:    227 Entering Passive Mode (IntIP,197,115).
15:29:31    Status:    Server sent passive reply with unroutable address. Using server address instead.
15:29:31    Command:    LIST
15:29:33    Error:    The data connection could not be established: ECONNREFUSED - Connection refused by server
15:29:40    Error:    Directory listing aborted by user
15:29:41    Status:    Disconnected from server


Конфиг vsftpd:

ftpd_banner="Welcome to FTP service."
anonymous_enable=NO
listen=YES
background=YES
chroot_local_user=YES
local_enable=YES
local_umask=0002
file_open_mode=0755
chmod_enable=YES
write_enable=YES
download_enable=YES
force_dot_files=YES
max_clients=12
max_per_ip=4
dirmessage_enable=YES
idle_session_timeout=300
port_enable=YES
pasv_enable=YES
#pasv_address=RealIP
pasv_min_port=50000
pasv_max_port=50999
allow_writeable_chroot=YES
xferlog_enable=YES
# SSL
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/usr/local/etc/cert.pem


Пытался:
+ пробовать подключение explicit/implicit и соотв. настройки в vsftpd
+ задать директивой pasv_address в конфиге vsftpd на RealIP (т.к. в логе подключения было "Server sent passive reply with unroutable address")
+ пробовать другой ftp клиент

В любом случае подключение валится на команде LIST со стороны клиента.
Что-то подсказывает, что проблема именно из-за nat-а...

  • Проблема с подключением FTPS к vsftpd на FreeBSD, !*! shadow_alone, 01:16 , 06-Дек-17 (1)
    так у тебя:
    pasv_min_port=50000
    pasv_max_port=50999


    что ж ты их то не пробросил то?

    уменьши диапазон с 1000 на 10-20 и пробрось.

    • Проблема с подключением FTPS к vsftpd на FreeBSD, !*! Allan Stark, 10:22 , 06-Дек-17 (2)
      > так у тебя:
      > pasv_min_port=50000
      > pasv_max_port=50999
      > что ж ты их то не пробросил то?
      > уменьши диапазон с 1000 на 10-20 и пробрось.

      Прошу прощения, не внес в топик. Добавлены они у меня. Грешил на DNAT, делал полный входящий any проброс - аналогичная ситуация. Причем через простой FTP вход в пассивный режим по логам отчетливо виден:

      227 Entering Passive Mode (***).
      LIST
      150 Here comes the directory listing.
      Download

      Вот кстати лог попытки FTPS с другого ftp клиента:

      Using sChannel for SSL/TLS connection.
      Connect to: (06.12.2017 9:11:27)
      hostname=ftp.company.ru
      username=***********
      startdir=
      ftp.company.ru=RealIP
      220 "Welcome to webserver FTP service."
      AUTH TLS
      234 Proceed with negotiation.
      Method: TLSv1.2
      Cert subject: CN=ftp.company.ru
      Cert issuer: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA
      USER ***********
      331 Please specify the password.
      PASS ***********
      230 Login successful.
      SYST
      215 UNIX Type: L8
      FEAT
      211-Features:
      AUTH TLS
      EPRT
      EPSV
      MDTM
      PASV
      PBSZ
      PROT
      REST STREAM
      SIZE
      TVFS
      UTF8
      211 End
      HELP SITE
      214-The following commands are recognized.
      ABOR ACCT ALLO APPE CDUP CWD  DELE EPRT EPSV FEAT HELP LIST MDTM MKD
      MODE NLST NOOP OPTS PASS PASV PORT PWD  QUIT REIN REST RETR RMD  RNFR
      RNTO SITE SIZE SMNT STAT STOR STOU STRU SYST TYPE USER XCUP XCWD XMKD
      XPWD XRMD
      214 Help OK.
      PBSZ 0
      200 PBSZ set to 0.
      PROT P
      200 PROT now Private.
      OPTS UTF8 ON
      200 Always in UTF8 mode.
      Connect ok!
      PWD
      257 "/" is the current directory
      Get directory
      TYPE A
      200 Switching to ASCII mode.
      PASV
      227 Entering Passive Mode (IntIP,195,87).
      Server reports local IP -> Redirect to: RealIP
      PORT AdminIP,163,155
      500 Illegal PORT command.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру