Нужна помощь в установлении безопасного соединения ftp от linux до сервера z/OS FTPS

Мне нужна помощь, чтобы установить безопасное FTP-соединение от клиента Linux к хосту z/OS, на котором работает FTPS-сервер.

От администратора сервера FTPS я получил следующую информацию: IP-адрес хоста, порт, файл сертификата CA с расширением.der. Сервер FTPS поддерживает TLS v1.1 и v1.2

Я пытаюсь использовать клиент lftp на стороне Linux. (Это правильный выбор?). Не имея опыта работы с безопасными протоколами, я пытаюсь угадать из man-страниц lftp, какие параметры я могу использовать для предоставления информации о сервере, которую имею.

С максимальным уровнем отладки 9 для lftp я получаю следующее:

lftp -u us15030,******** -p 990 ftps://9.17.211.10

---- Resolving host address...

---- 1 address found: 9.17.211.10

lftp us15030@9.17.211.10:~> set ssl:ca-file "/home/leonid/CERT/carootcert.der"

lftp us15030@9.17.211.10:~> ls

---- Connecting to 9.17.211.10 (9.17.211.10) port 990

gnutls_x509_crt_list_import: No certificate was found.

**** gnutls_handshake: An unexpected TLS packet was received.

---- Closing control socket

ls: Fatal error: gnutls_handshake: An unexpected TLS packet was received.

lftp us15030@9.17.211.10:~> quit

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


Тем временем я прочитал больше о сертификатах и ​​понял, что я, вероятно, обработал сертификат.der, который я получил от администратора, не правильно. Следующие инструкции о том, как добавить сертификат CA в Linux (я использую Ubuntu 16.04), сделали следующие шаги: 1. Преобразовал сертификат.der в.pem openssl x509 -inform der -in carootcert.der -out carootcert.pem 2. Скопировал его в /usr/local/share/ca-сертификаты с расширением crt sudo cp carootcert.pem /usr/local/share/ca-certificates/carootcert.crt 3. Запустите sudo update-ca-Certificates

Теперь повторил мою попытку: lftp -u us15030,******** -p 990 ftps://9.17.211.10 ---- Разрешение адреса хоста...

---- 1 адрес найден: 9.17.211.10

lftp us15030@9.17.211.10: ~>

lftp us15030@9.17.211.10: ~> установить ssl:ca-file "/etc/ssl/certs/ca- Certificates.crt"

lftp us15030@9.17.211.10: ~> ls

---- Подключение к 9.17.211.10 (9.17.211.10) порту 990

**** gnutls_handshake: неожиданный пакет TLS был получен.

---- Закрытие контрольной розетки

ls: фатальная ошибка: gnutls_handshake: получен неожиданный пакет TLS.

lftp us15030@9.17.211.10: ~> выйти

Теперь у меня на одно сообщение об ошибке меньше. Нет сообщений о том, что сертификат не найден, но все еще имеется неожиданный пакет TLS.


Только что выяснилось, что можно получить больше отладочной информации путем дальнейшего повышения уровня отладки. Надеюсь, поможет.

lftp -u us15030, ******* -p 990 ftps: //9.17.211.10 закрытый FD 5 ---- Разрешение адреса хоста... буфер: EOF на FD 5 ---- 1 найденный адрес: 9.17.211.10 lftp us15030@9.17.211.10:~> set ssl:ca-file "/etc/ssl/certs/ca-certificates.crt" lftp us15030@9.17.211.10:~> ls FileCopy(0x2197970) переходит в состояние INITIAL FileCopy(0x2197970) переходит в состояние DO_COPY ---- попадание в кэш dns ---- попытка номер 1 (max_retries=1000) ---- подключение к порту 9.17.211.10 (9.17.211.10) 990 GNUTLS: REC[0x259e240]: выделение эпохи #0 GnuTLS: REC [0x259e240]: Выделение эпоха #1 GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256 (C0.2B) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384 (C0.2C) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256 (C0.86) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384 (C0.87) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA1 (С 0.09) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256 (C0.23) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA1 (C0.0A) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384 (C0.24) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256 (C0.72) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384 (C0.73) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_128_CCM (C0.AC) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_AES_256_CCM (C0.AD) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1 (C0.08) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256 (C0.2F) GnuTLS: HSK [ 0x259e240]: ведение шифрованного набора: GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384 (C0.30) GNUTLS: HSK[0x259e240]: ведение шифрованного набора: GNUTLS_ECDHE_RSA_CAMELLIA_128_GCM0HA (GA) NUTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_CAMELLIA_256_GCM_SHA384 (C0.8B) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_AES_128_CBC_SHA1 (C0.13) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256 (C0.27) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_AES_256_CBC_SHA1 (C0.14) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384 (C0.28) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_CAMELLIA_128_CBC_SHA256 (C0.76) GnuTLS: HSK [ 0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 (C0.77) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA1 (C0.12) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_AES_128_GCM_SHA256 (00.9C) GnuTLS: HSK [0x259e240]: Сохранение зашифрованного набора: GNUTLS_RSA_AES_256_GCM_SHA384 (00.9D) GNUTLS: HSK[0x259e240]: Сохранение зашифрованного набора: GNUTLS_RSA_CAMELLIA_128_GCM_SHA256 (C0.7A) GNUTLS: HSK[0x25e]: 0x25e eeping CipherSuite: GNUTLS_RSA_CAMELLIA_256_GCM_SHA384 (C0.7B) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_AES_128_CBC_SHA1 (00.2F) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_AES_128_CBC_SHA256 (00.3C) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_AES_256_CBC_SHA1 (00.35) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_AES_256_CBC_SHA256 (00.3D) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_CAMELLIA_128_CBC_SHA1 (00.41) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_CAMELLIA_128_CBC_SHA256 (00.BA) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_CAMELLIA_256_CBC_SHA1 (00.84) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_CAMELLIA_256_CBC_SHA256 (00.C0) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_RSA_AES_128_CCM (C0.9C) GnuTLS: HSK [0x259e240]: Хранение шифровального набора: GNUTLS_RSA_AES_256_CCM (C0.9D) GNUTLS: HSK[0x259e240]: Сохранение шифровального набора: GNUTLS_RSA_3DES_EDE_CBC_SHA1 (00.0A) GNUTLS: HSK[0x259e240]: пинг-CipherSuite: GNUTLS_DHE_RSA_AES_128_GCM_SHA256 (00.9E) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_AES_256_GCM_SHA384 (00.9F) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_CAMELLIA_128_GCM_SHA256 (C0.7C) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_CAMELLIA_256_GCM_SHA384 (C0.7D) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_AES_128_CBC_SHA1 (00.33) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_AES_128_CBC_SHA256 (00.67) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_AES_256_CBC_SHA1 (00.39) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_AES_256_CBC_SHA256 (00.6B) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 (00.45) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA256 (00.BE) GnuTLS: HSK [0x259e240]: Хранение набор шифров: GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 (00.88) GNUTLS: HSK[0x259e240]: сохранение набора шифров: GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA256 (00.C4) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_AES_128_CCM (C0.9E) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_AES_256_CCM (C0.9F) GnuTLS: HSK [0x259e240]: Ведение CipherSuite: GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1 (00.16) GNUTLS: EXT[0x259e240]: отправка расширения EXT MASTER SECRET (0 байт) GNUTLS: EXT [0x259e240]: отправка расширения ENCRYPT THEN MAC (0 байтов) GNUTLS: EXT [0x259e240]: отправка расширения STREUS REQUUTLS (5 по: EXT [0x259e240]: отправка расширения ИМЯ СЕРВЕРА (16 байт). GNUTLS: EXT [0x259e240]: отправка расширения. БЕЗОПАСНОЕ ПЕРЕГОВОРЕНИЕ (1 байт). GNUTLS: EXT [0x259e240]: отправка билета SESSION (0 байт). GNUTLS: EXT [0x]: Отправка расширения SUPPORTED ECC (12 байтов) GNUTLS: EXT [0x259e240]: отправка расширения SUPPORTED ECC POINT FORMATS (2 байта) GNUTLS: EXT [0x259e240]: отправленная подпись algo (4.1) RSA-SHA256 GNUTLS: EXT[0x259e240]: сигнатура algo (4.3) ECDSA-SHA256 GNUTLS: EXT[0x259e240]: отправлено подпись ure algo (5.1) RSA-SHA384 GNUTLS: EXT[0x259e240]: отправленная подпись algo (5.3) ECDSA-SHA384 GNUTLS: EXT[0x259e240]: отправленная подпись algo (6.1) RSA-SHA512 GNUTLS: EXT[0x259e240]: отправленная подпись algo (6.3) ECDSA-SHA512 GNUTLS: EXT[0x259e240]: отправленная подпись algo (3.1) RSA-SHA224 GNUTLS: EXT[0x259e240]: отправленная подпись algo (3.3) ECDSA-SHA224 GNUTLS: EXT[0x259e240]: отправленная подпись algo (2.1) RSA-SHA1 GNUTLS: EXT[0x259e240]: алгоритм отправки подписи (2.3) ECDSA-SHA1 GNUTLS: EXT[0x259e240]: отправка расширения Алгоритмы подписи (22 байта) GNUTLS: HSK [0x259e240]: КЛИЕНТ HELLO [был объявлен GNUTLS: REC [0x259e240]: подготовка пакетного рукопожатия (22) длиной: 247 и минимальной площадки: 0 GNUTLS: REC[0x259e240]: отправленный пакет [1] рукопожатие (22) в эпоху 0 и длиной: 252 GNUTLS: REC[0x259e240]: SSL 50.48 Получен неизвестный пакетный пакет. Эпоха 0, длина: 11590 GNUTLS: полученный пакет записей неизвестного типа 50 **** gnutls_handshake: был получен неожиданный пакет TLS. GNUTLS: REC[0x259e240]: начало очистки эпохи GNUTLS: REC [0x259e240]: очистка конца эпохи GNUTLS: REC [0x259e240]: освобождение эпохи #0 GNUTLS: REC [0x259e240]: освобождение эпохи # 1 ---- Управление закрытием socket ls: фатальная ошибка: gnutls_handshake: получен неожиданный пакет TLS.

1 ответ

Решение

Я нашел ответ. Администратор сервера FTPS обновил мне дополнительную информацию. Сервер настроен для явного AT-TLS.

Поэтому следующие команды сделали эту работу за меня:

lftp -u us15030, ******** ftp://bldbmsa.boulder.ibm.com

установите ftp: ssl-force true

установить ftp: ssl-protect-data true

set ssl: ca-file "/etc/ssl/certs/ca-certificates.crt"

получить /tmp/ttt.txt.gz

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

lftp -u us15030, ******** ftp://9.17.211.10

Сбой проверки сертификата:

Неустранимая ошибка: проверка сертификата: общее имя сертификата не соответствует запрашиваемому имени хоста '9.17.211.10'

Другие вопросы по тегам