Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


Наш опыт показывает, что современное использование протокола Diffie-Hellman не настолько надежное, как предполагалось ранее. В данной статье вы узнаете, как правильно использовать Diffie-Hellman на вашем сервере.

Есть три способа корректного использования Diffie-Hellman для TLS:

  1. Отключить экспорт шифров (Export Cipher Suites). Не смотря на то, что современные браузеры больше не поддерживают экспорт наборов, атаки FREAK и Logjam позволяют атакам посредника обмануть браузер и использовать export-grade, после чего соединение TLS может быть расшифровано. Экспорт шифров является отголоском политики эры 90-х, которая заключалась в предотвращении вывода мощных криптографических протоколов за пределы США. Современные пользователи не полагаются на экспорт шифров и поэтому есть небольшой недостаток в их отключении.

  2. Использование (Эфимерной) эллиптической кривой Diffie-Hellman (ECDH). Ключ обмена эллиптической кривой Diffie-Hellman обходит всем известные реальные криптоаналитические атаки, также современные браузеры предпочитают ECDH ограниченному пространству Diffie-Hellman. Дискретные логарифмические алгоритмы, которые мы используем для атаки стандартных групп Diffie-Hellman, не получают сильных преимуществ от предварительных вычислений, и индивидуальным серверам не нужно генерировать уникальные эллиптические кривые.

  3. Используйте сильную группу Diffie Hellman. Несколько 1024-битных групп используются миллионами серверов, что делает их идеальной целью для предвычислений и прослушивания. Администраторам следует использовать 2048-битные или более сильные группы Diffie-Hellman с «безопасными» простыми числами.

Пункты (1) и (2) могут быть выполнены одновременно настройкой вашего сервера, таким образом, чтобы он использовал только современные наборы шифров. Ниже мы описываем, как определить современные шифры и создать группу Diffie-Hellman для известных серверов. Вы можете проверить свой сервер здесь или, используя Qualsys SSL Server Test.Если вы знаете другие способы, пожалуйста, сообщите нам.

Использование сильной DH группы

Сначала вам нужно создать новую группу Diffie-Hellman, независимо от того, какое программное обеспечение используется на сервере. Современные браузеры, включая Google Chrome, Mozilla Firefox и Microsoft Internet Explorer, увеличили минимальный размер группы до 1024 бит. Мы рекомендуем создать 2048-битную группу. Простейший способ создания новой группы это OpenSSL:

Общие серверные продукты

Для каждого серверного продукта мы предоставляем две опции конфигурации: (1) безопасные наборы шифра, которые вам следует использовать и (2) как определить параметры Diffie Hellman, которые вы сгенерировали выше.

Apache HTTP Server (mod_ssl)

SSL параметры могут быть глобально установлены в httpd.conf или в пределах особого виртуального хоста.

Наборы шифра

Отключите поддержку SSLv2 и SSLv3, включите поддержку TLS, таким образом, разрешая/запрещая особые шифры в приведенном порядке:

Параметры DH

В более новых версиях Apache (2.4.8 and newer) и OpenSSL 1.0.2 или более поздних, вы можете точно определить параметры DH (далее DHparams) следующим образом:

Если вы используете Apache с LibreSSL, или Apache 2.4.7 и OpenSSL 0.9.8a или более поздние версии, вы можете добавлять созданные ранее DHparams к концу вашего файла сертификата.

Перезагрузите конфигурацию

nginx

Для размещения в конфигурацию сайта server/block in/etc/nginx/sites-enabled/default:

Набор шифров

Параметры DH

Перезагрузите конфигурацию

Microsoft IIS

  1. Откройте Group Policy Object Editor (т.е. запустите gpedit.msc в командной строке).

  2. Раскрыть Настройки Компьютера, Административные шаблоны, Сеть, и затем выберете настройки конфигурации SSL.

  3. Согласно настройкам конфигурации SSL, откройте настройки порядка набора шифра SSL.


    Codeby Security School от Сodeby

    Мы запустили свою онлайн школу по информационной безопасности. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного в курсе Paranoid


  4. Установите строгий порядок набора шифра. Посмотрите список шифров, поддерживаемых Microsoft, и инструкции конфигурации Mozilla TLS .

Lighttpd

Изменения должны быть сделаны в  /etc/lighttpd/lighttpd.conf

Наборы кодов

Параметры DH

Перезагрузите конфигурацию

Apache Tomcat

В server.xml (для JSSE)

Наборы шифра

Примечание: чтобы использовать 256-битные шифры AES, необходимо установить JCE Unlimited Strength Jurisdiction Policy Files, которые можно найти здесь.

Postfix SMTP

Оба параметра должны быть установлены в  /etc/postfix/main.cf.

Наборы шифра

Параметры DH

Перезагрузите конфигурацию

Sendmail

Эти изменения могут быть произведены в разделе LOCAL_CONFIG вашего  /etc/mail/sendmail.mc

Наборы шифра

Параметры DH

O DHParameters={path to dhparams.pem}

Перезагрузите конфигурацию

Dovecot

Эти изменения должны быть произведены в  /etc/dovecot.conf

Наборы шифра

Параметры DH

#regenerates every week

Перезагрузите конфигурацию

HAProxy

Эти изменения должны быть произведены в глобальном разделе вашей конфигурации.

Наборы шифра

Параметры DH

Добавьте файл параметра DH, созданный с помощью OpenSSL, к вашему сертификату (crt файл).

Примечание: Так как для установки максимального размера первичных файлов, используемых для DHE, существует опция конфигурации под названием tune.ssl.default-dh-param , размещение стандартных параметров в вашем сертификате файла обнуляет его.

Перезагрузите конфигурацию

Amazon Elastic Load Balancing

Последний набор встроенных параметров SSL (2015-05) использует не DHE, а ECDHE шифры, и поэтому не является уязвимым к Logjam. Смотрите документацию Amazon.

OpenSSH

Протокол SSH не подвержен LogJam атаке, в которой активный взломщик может прервать соединение с криптографией export-grade. Однако, многие применения SSH, вместе с OpenSSH используют фиксированные простые числа, включая 1024-bit Oakley Group 2. Есть пара опций. Первая и самая легкая опция — это заставить пользователей использовать эллиптическую кривую Diffie-Hellman. Особенно кривую 25519. Это может быть выполнено настройкой вашего алгоритма обмена ключами следующим образом:

Если вы хотите продолжать поддерживать неэллиптическую кривую Diffie-Hellman, по крайней мере, вам следует отключить поддержку Group 1, удалив diffie-hellman-group1-sha1 Key Exchange. Можете оставить diffie-hellman-group14-sha1, который использует 2048-битное простое число.

Существует еще одна опция для создания новых групп Diffie-Hellman:

Затем вам необходимо установить moduli-2048 на ваш системный модульный файл. В Debian/Ubuntu, он находится в /etc/ssh/moduli. SSH выбирает из этого файла (практически хаотично), поэтому вам следует заменить существующий модульный файл на новые группы, которые вы создали, вместо добавления этих новых групп.

Перевод: Анна Давыдова

Источник: weakdh.org


Безопасная сделка с гарантом Сodeby

Гарант является доверенным посредником между Участниками при проведении сделки.​ Услуга сайта «Проведение сделок через Гаранта» предоставляется всем зарегистрированным пользователям codeby.net Подробнее ...


Похожие темы

Как установить PHP программу Сегодняшняя заметка рассчитана на совсем начинающих веб-мастеров. Что нужно, чтобы запустить PHP скрипт? Для этого нужен веб-сервер и интерп...
Logjam атака: доказательство концепции с наглядным... Мы описали технические детали наших атак в нашей научной статье, Несовершенная секретность: Неудачи Diffie-Hellman на практике. В разделах ниже мы пре...
Решение проблемы с QS_SrvMinDataRate в libapache2-... libapache2-mod-qos – это один из модулей Apache для защиты от атак Slowloris (разновидность DoS атак). QS_SrvMinDataRate – один из п...
Описание модулей Apache (часть 1)... Общая информация о модулях веб-сервера Apache Модули веб-сервера Apache (или как их ещё называют Dynamic Shared Object (DSO), т. е. динамич...
Как зарегистрировать реальный IP пользователя с по... Мой сервер nginx находится за балансировщиком обратной прокси-загрузки. Как я могу показать правильный IP-адрес клиента в файлах журнала nginx, когда ...