Недавно была опубликована новая уязвимость в Diffie-Hellman, неофициально называемая «logjam», для которой была составлена эта страница , предлагающая, как противостоять уязвимости:
У нас есть три рекомендации для правильного развертывания Diffie-Hellman для TLS:
- Отключить Экспорт наборов шифров. Несмотря на то, что современные браузеры больше не поддерживают наборы экспорта, атаки FREAK и Logjam позволяют злоумышленнику обмануть браузеры с помощью криптографии экспортного уровня, после чего соединение TLS можно расшифровать. Экспортные шифры являются остатком политики эры 1990-х годов, которая препятствовала экспорту надежных криптографических протоколов из Соединенных Штатов. Ни один современный клиент не полагается на наборы для экспорта, и есть небольшие недостатки в их отключении.
- Развернуть (эфемерно) Диффи-Хеллмана с эллиптической кривой (ECDHE). Обмен ключами Диффи-Хеллмана с эллиптической кривой (ECDH) позволяет избежать всех известных возможных криптоаналитических атак, и современные веб-браузеры теперь предпочитают ECDHE оригинальному конечному полю, Диффи-Хеллману. Алгоритмы дискретного журнала, которые мы использовали для атаки на стандартные группы Диффи-Хеллмана, не получают столь сильного преимущества от предварительного вычисления, и отдельным серверам не нужно генерировать уникальные эллиптические кривые.
- Создайте сильную, уникальную группу Диффи-Хеллмана . Несколько фиксированных групп используются миллионами серверов, что делает их оптимальной целью для предварительных вычислений и потенциального прослушивания. Администраторы должны генерировать уникальные 2048-битные или более сильные группы Диффи-Хеллмана, используя «безопасные» простые числа для каждого веб-сайта или сервера.
Каковы наилучшие практические шаги, которые я должен предпринять для защиты своего сервера в соответствии с приведенными выше рекомендациями?
apache-2.2
ssl
apache-2.4
httpd
vulnerability
Кристоф Де Тройер
источник
источник
Ответы:
Из статьи, на которую вы ссылаетесь , есть три рекомендуемых шага, чтобы защитить себя от этой уязвимости. В принципе, эти шаги применимы к любому программному обеспечению, которое вы можете использовать с SSL / TLS, но здесь мы рассмотрим конкретные шаги, чтобы применить их к Apache (httpd), поскольку речь идет о программном обеспечении.
Разобраться с изменениями конфигурации, которые мы сделаем в 2. ниже (
!EXPORT
ближе к концуSSLCipherSuite
строки, как мы отключим экспорт комплектов шифров)Для этого вам необходимо изменить несколько параметров в конфигурационных файлах Apache - а именно
SSLProtocol
,SSLCipherSuite
,SSLHonorCipherOrder
чтобы иметь «передовые методы» установку. Достаточно что-то вроде следующего:Примечание: в отношении того, какой
SSLCipherSuite
параметр использовать, он всегда меняется, и рекомендуется проконсультироваться с такими ресурсами, как этот, чтобы проверить последние рекомендуемые конфигурации.Для этого вы можете запустить
openssl dhparam -out dhparams.pem 2048
,Обратите внимание, что это создаст значительную нагрузку на сервер во время генерации параметров - вы всегда можете обойти эту потенциальную проблему, создав параметры на другом компьютере и используя
scp
или аналогично передавая их на рассматриваемый сервер для использования.Чтобы использовать эти вновь созданные
dhparams
в Apache из документации Apache :(акцент мой)
за которым следует стандартный 1024-битный параметр DH. Из этого мы можем сделать вывод , что пользовательские генерируемые параметры DH могут быть просто добавлены к соответствующему
SSLCertificateFile
в вопросе.Для этого запустите что-то похожее на следующее:
cat /path/to/custom/dhparam >> /path/to/sslcertfile
В качестве альтернативы, в соответствии с подразделом Apache статьи, которую вы изначально связали, вы также можете указать созданный вами специальный файл dhparams, если вы предпочитаете не изменять сам файл сертификата, таким образом:
SSLOpenSSLConfCmd DHParameters "/path/to/dhparams.pem"
в зависимости от того, какие конфигурации Apache имеют отношение к вашей конкретной реализации SSL / TLS - обычно в
conf.d/ssl.conf
или,conf.d/vhosts.conf
но это будет отличаться в зависимости от того, как вы настроили Apache.Стоит отметить , что, согласно этой ссылке ,
В Debian Wheezy обновите apache2 до 2.2.22-13 + deb7u4 или новее и openssl до 1.0.1e-2 + deb7u17. Вышеупомянутый SSLCipherSuite не работает идеально, вместо этого используйте следующее согласно этому блогу :
Вы должны проверить, является ли ваша версия Apache более поздней, чем эти номера версий, в зависимости от вашего дистрибутива, и если нет - обновить ее, если это вообще возможно.
Выполнив описанные выше шаги для обновления конфигурации и перезапустив службу Apache, чтобы применить изменения, вы должны проверить, что конфигурация соответствует требованиям, запустив тесты на SSLLabs и в статье, связанной с этой конкретной уязвимостью.
источник
На основе патча Winni Neessen я опубликовал исправление для Apache / 2.2.22 (Debian Wheezy, возможно, также можно использовать в Ubuntu): https://flo.sh/debian-wheezy-apache2-logjam-fix/ - thx , за ваш отзыв.
источник
Вместо того, чтобы идти по сложному пути вышеупомянутых «хаков», рассмотрите возможность переключения на nginx в качестве основного программного обеспечения веб-сервера (а не только для кэширования или прокси). С точки зрения безопасности это, очевидно, более соответствует современным стандартам, чем старые Apache-движки. Используя репозиторий nginx, вы получаете более стабильную версию движка веб-сервера, чем apache.
Я полностью переключился. Это сэкономило мне много времени на решение проблем, связанных с TLS, и - для наших конфигураций - также освободило много оперативной памяти за один раз. Фактически, я нашел применение nginx очень простым и понятным по сравнению с множеством сложностей с конфигурацией httpd / apache, к которым я привык. Может быть, дело вкуса, до того, как я обернулся, я довольно быстро освоил httpd / apache rewrite / config / maintenance, и это было проще, чем я опасался. В Интернете доступна соответствующая свежая информация о конфигурации nginx, и ее пользовательская база огромна, очень активна и удобна для поддержки. https://news.netcraft.com/wp-content/uploads/2018/11/wpid-wss-top-1m-share.png
источник