Предыстория
Сканирование на предмет уязвимостей обнаружило эту проблему.
Некоторые ssl/tls порты используют небезопасные наборы шифров, такие как:
- ECDHE-RSA-AES256-SHA
- ECDHE-RSA-AES256-SHA384
Описание
На удаленном хосте открыты порты SSL/TLS, на которых установлены нежелательные шифр-схемы.
Рекомендуется включить поддержку только следующих наборов шифров:
TLSv1.3:
– 0x13,0x01 TLS13_AES_128_GCM_SHA256
– 0x13,0x02 TLS13_AES_256_GCM_SHA384
– 0x13,0x03 TLS13_CHACHA20_POLY1305_SHA256
TLSv1.2:
– 0xC0,0x2B ECDHE-ECDSA-AES128-GCM-SHA256
– 0xC0,0x2F ECDHE-RSA-AES128-GCM-SHA256
– 0xC0,0x2C ECDHE-ECDSA-AES256-GCM-SHA384
– 0xC0,0x30 ECDHE-RSA-AES256-GCM-SHA384
– 0xCC,0xA9 ECDHE-ECDSA-CHACHA20-POLY1305
– 0xCC,0xA8 ECDHE-RSA-CHACHA20-POLY1305
– 0xCC,0xAA DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
Это рекомендуемая конфигурация для подавляющего большинства сервисов, поскольку она очень безопасна и совместима почти со всеми клиентами, выпущенными за последние пять (или более) лет.
Решение
Включите поддержку только рекомендованных наборов шифров.
Верификация
Найдем шифр с помощью Chrome
- Запустите Chrome.
- Введите в браузер URL-адрес, который вы хотите проверить.
- Нажмите на многоточие, расположенное в правом верхнем углу браузера.
- Выберите Дополнительные инструменты > Инструменты разработчика > Безопасность.
- Найдите строку «Подключение…». В ней описана версия используемого протокола TLS или SSL.
Тестирование с помощью бесплатных онлайн-сервисов
https://hackertarget.com/ssl-check
Устранение
Поскольку это служба Nginx далее показан пример конфигурации исправления для этой проблемы, возникающей на порту 443.
server { listen 443 default_server ssl; ) ssl_certificate /usr/local/nginx/conf/ssl/*.cer; ssl_certificate_key /usr/local/nginx/conf/ssl/*key; ssl_session_timeout 5m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:20m; # 403 Forbidden location / { return 403; } } server { listen 80 default; return 301 https://$host$request_uri; }
см. также:
- #️⃣ 10 лучших бесплатных чекеров SSL на 2021 год, проверка установки сертификатов и уязвимостей
- 📦 Обнаружение устаревших общих библиотек в памяти с помощью UChecker
- 10 онлайн инструментов для тестирования SSL, TLS и последних уязвимостей