nmap & ssl-enum-ciphers

Вопрос или проблема

Я пытаюсь проверить предложенные шифры с помощью nmap:

$ nmap -Pn --script ssl-enum-ciphers host1.example.org -p 443
Начинаю Nmap 7.92 ( https://nmap.org ) в 2021-12-13 14:52 CET
Отчет сканирования Nmap для host1.example.org (129.132.65.51)
Хост доступен (0.0070s задержка).

ПОРТ    СТАТУС СЕРВИС
443/tcp открыт  https
| ssl-enum-ciphers: 
|   TLSv1.3: 
|     шифры: 
|       TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_128_CCM_SHA256 (ecdh_x25519) - A
|     предпочтение шифра: сервер
|_  минимальная сила: A

Nmap завершен: 1 IP-адрес (1 хост доступен) просканирован за 1.39 секунд

Это работает нормально, но для одного случая:

  • Fedora 35 (host1.example.org) из macOS
$ nmap -Pn --script ssl-enum-ciphers host1.example.org -p 443
Начинаю Nmap 7.92 ( https://nmap.org ) в 2021-12-13 14:52 CET
Отчет сканирования Nmap для host1.example.org (129.132.65.51)
Хост доступен (0.0070s задержка).

ПОРТ    СТАТУС СЕРВИС
443/tcp открыт  https
| ssl-enum-ciphers: 
|   TLSv1.3: 
|     шифры: 
|       TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_128_CCM_SHA256 (ecdh_x25519) - A
|     предпочтение шифра: сервер
|_  минимальная сила: A

Nmap завершен: 1 IP-адрес (1 хост доступен) просканирован за 1.39 секунд
  • Fedora 35 (host1.example.org) из Fedora 35 (host2.example.org)
$ nmap -Pn --script ssl-enum-ciphers host1.example.org -p 443
Обнаружение хоста отключено (-Pn). Все адреса будут помечены как 'включены', и время сканирования будет больше.
Начинаю Nmap 7.91 ( https://nmap.org ) в 2021-12-13 14:55 CET
Отчет сканирования Nmap для host1.example.org (129.132.65.51)
Хост доступен (0.013s задержка).

ПОРТ    СТАТУС СЕРВИС
443/tcp открыт  https

Nmap завершен: 1 IP-адрес (1 хост доступен) просканирован за 0.35 секунд
  • Те же машины в другом направлении. Fedora 35 (host2.example.org) из Fedora 35 (host1.example.org)
$ nmap -Pn --script ssl-enum-ciphers host2.example.org -p 443
Обнаружение хоста отключено (-Pn). Все адреса будут помечены как 'включены', и время сканирования будет больше.
Начинаю Nmap 7.91 ( https://nmap.org ) в 2021-12-13 14:56 CET
Отчет сканирования Nmap для host2.example.org (138.201.94.172)
Хост доступен (0.013s задержка).
Другие адреса для host2.example.org (не сканировались): 2a01:4f8:c17:cbd8::2

ПОРТ    СТАТУС СЕРВИС
443/tcp открыт  https
| ssl-enum-ciphers: 
|   TLSv1.2: 
|     шифры: 
|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (secp256r1) - A
|     компрессоры: 
|       NULL
|     предпочтение шифра: клиент
|_  минимальная сила: A

Nmap завершен: 1 IP-адрес (1 хост доступен) просканирован за 0.65 секунд

Я действительно не понимаю, почему обе машины Fedora дают результат от macOS, но не при сканировании с host1.example.org на host2.example.org, когда обе должны быть настроены одинаково.

Как я могу отладить проблему?

host1 предлагает только TLS 1.3. Я использовал две разные версии nmap: 7.91 (без поддержки TLS 1.3) и 7.92 (с поддержкой TLS 1.3).

Ответ или решение

Вопрос, который вы подняли, касается использования Nmap для определения поддерживаемых шифров при помощи скрипта ssl-enum-ciphers, и в частности, разницы в результатах, полученных при сканировании с разных операционных систем. Мы также видим, что версии Nmap могут оказывать влияние на полученные результаты. Давайте разберемся в этом вопросе более подробно.

1. Описание проблемы

Вы провели сканирование двух различных машин под управлением Fedora 35, используя Nmap, чтобы определить, какие шифры поддерживаются на порту 443 (HTTPS). Сканирование с macOS выдало поддерживаемые шифры TLS 1.3, в то время как сканирование с одной Fedora на другую продемонстрировало только поддержку TLS 1.2. Важным моментом является использование разных версий Nmap: 7.91, которая не поддерживает TLS 1.3, и 7.92, с поддержкой TLS 1.3.

2. Объяснение различий в результатах

  • Версия Nmap: Версия Nmap 7.91 не поддерживает TLS 1.3, поэтому при попытке сканирования хоста, предлагающего только шифры TLS 1.3, вы не получаете никаких данных. Когда вы используете 7.92 из macOS, результат отображает доступные шифры, потому что эта версия может взаимодействовать с TLS 1.3.

  • Коммуникационная среда: Возможно, проблемы могут быть вызваны различиями в сетевой конфигурации между macOS и Fedora. Сетевые настройки, такие как фаерволы или сетевые политики, могут влиять на доступность портов и протоколов.

3. Как отладить ситуацию

Для отладки ситуации и определения причин, почему одни сканирования проходят успешно, а другие нет, можно предпринять следующие шаги:

  • Проверка версий Nmap: Убедитесь, что на всех машинах установлены последние версии Nmap. Это особенно важно, если вы хотите иметь возможность сканировать шифры TLS 1.3.

  • Анализ сетевой конфигурации: Проверьте настройки фаерволов (например, firewalld или iptables) на Fedora. Возможно, какой-то из портов или протоколов блокируется. Сравните сетевые настройки между macOS и Fedora.

  • Тестирование локальные подключения: Попробуйте выполнить nmap и openssl команды локально на каждой машине, чтобы проверить доступность и конфигурацию на уровне хоста. Например, вы можете использовать openssl s_client -connect host2.example.org:443 для проверки шифров и протоколов.

  • Логи и диагностика: Проверьте журналы на обеих Fedora для поиска ошибок или другой информации, которая может указывать на причину проблемы (например, журналы httpd или системные журналы).

4. Заключение

Проблема, с которой вы столкнулись, скорее всего, связана с различием в версиях Nmap и, возможно, сетевыми ограничениями. Улучшение документации и использование однородных сред для тестирования может помочь избежать подобных проблем в будущем. Внимательное тестирование на локальных машинах и использование актуальных инструментов даст наиболее полное представление о работе шифров и конфигурации ваших серверов.

Оцените материал
Добавить комментарий

Капча загружается...