Пару месяцев назад в протоколе TLS обнаружили уязвимость, которая получила название Logjam. Проведенные исследования показали, что большое число серверов подвержено этой уязвимости, так как, применяя защищенные соединения, используют типичные и наиболее распространенные простые ключи шифрования размером 512 бит. Ранее, такой длины вполне могло хватить для защиты соединения клиента с сервером. На сегодняшний же день, проведены исследования по вычислению наиболее распространенные ключей. Host-tracker предлагает функционал, который позволяет моментально проверить данную уязвимость.



Logjam в действии

Выявлено три способа проведения Logjam атаки. Один из способов обусловлен настройками веб-сервера, который по умолчанию использует 512-битные DH-ключи. Для взлома таких ключей достаточно лишь «прослушать» трафик этого сервера, а затем заняться расшифровкой. Два других способа предполагают проведение атаки «человек посередине». Первый случай предполагает использование специального механизма ускорения TLS-соединения, TLS False Start; во втором же случае этот механизм не требуется. Однако оба случая предполагают принуждение сервера к понижению криптостойкости ключей до 512-битных.

Большинство серверов и клиентов, устанавливая защищенное соединение, используют механизм шифрования, основанный на алгоритме Диффи-Хеллмана (DH). Запрашивая соединение, клиент может понизить стойкость шифрования до уровня экспортных шифров, использующих 512-битные DH-ключи. Это возможно, если сервер поддерживает набор экспортных шифров. Соответственно, подключившийся между клиентом и сервером, злоумышленник способен перехватить трафик и от имени клиента запросить понижение стойкости шифра. Исследователи также сообщают, что при наличии производительных машин легко можно вычислить 768-битные ключи, а спецслужбы способны расшифровать и 1024-разрядные ключи.

Быстрая проверка Logjam

ХостТрекер предлагает функцию проверки Logjam уязвимости сервера. Этот функционал очень прост и доступен как опция сервиса быстрой проверки. Чтобы им воспользоваться, достаточно лишь установить флажок в опции Logjam, а в текстовое поле внести адрес сервера, который должен быть проверен. Спустя некоторое время проверка Logjam выдаст результат, основанный на проверке используемых сервером наборов шифров.



Если сервер поддерживает экспортные шифры, EDH шифры, временный DH-ключ длиной 512 бит, то сервис Logjam обнаружит данные настройки и укажет их как уязвимости. Эти параметры следует исправить на сервере. Исследователи даже предложили инструкцию для правильной настройки SSL-параметров для разных серверов. Так, для сервера Apache предложено в параметре SSLHonorCipherOrder установить значение «On» — данная директива выставляет приоритет на использование шифров, заданных сервером. Также, в директиве SSLCipherSuite следует отключить экспортные наборы шифров, а директивой SSLProtocol запретить использование протоколов SSLv2 и SSLv3.

Комментарии (9)


  1. fleaump
    17.07.2015 06:12
    +2

    Мда. Там дырка, тут дырка, это отключайте, то отключайте.
    Такими темпами перейдем на передачу текста в ребусах.


    1. foboss
      17.07.2015 16:13

      На депеши с курьером.


  1. cynovg
    17.07.2015 07:44
    +14

    А почему не тут проверять: www.ssllabs.com/ssltest/index.html?


    1. linjan
      17.07.2015 13:59
      +4

      Для тех, кто параноит не любит онлайн-сервисы, есть утилита ssltest.sh, рекомендую.


  1. Meklon
    17.07.2015 16:37

    Так что в конфиге nginx фиксить-то?


    1. dikkini
      17.07.2015 17:12

      … и апача



    1. KorDen32
      17.07.2015 21:35
      +2

      Коротко:
      Если у вас HTTPS, то у вас должен быть сгенерирован файл кастомных параметров DH и прописан путь к нему в конфиге энжинкса.
      Генерация файла:

      openssl dhparam 2048 -out dh2048.pem

      В конфиг HTTPS-сервера в nginx добавить
      ssl_dhparam dh2048.pem


      1. Meklon
        17.07.2015 22:37

        Спасибо, поправлю обязательно.