Удалить старые наборы шифров

Удалить старые наборы шифров

Я управляю несколькими веб-сайтами, и один из них получил низкий рейтинг безопасности (по шкале безопасности). У меня есть управляемый сервер, поэтому я попросил IT-специалистов помочь, но также хотел бы немного больше разобраться в этой проблеме.

Проблема в том, что существуют старые наборы шифров TLS1.0 и TLS1.1, такие как:

TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_3DES_EDE_CBC_SHA

Моя первая мысль, что они должны быть расположены в файлах конфигурации OpenSSL. Но после нескольких руководств, я полагаю, что это относится к конфигурации Apache. httpd.conf(и виртуальные хосты) не имеют явно установленных наборов шифров. Но включенный httpd-ssl.confимеет что-то.

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
 SSLCipherSuite  ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:!LOW:!MEDIUM:!3DES:!aNULL:!eNULL:!ADH:!DSS!EXP:!MD5:!PSK:!RC4:!SRP

Чего я сейчас не понимаю: Это то самое место? Возможно, нет, или почему это читается по-другому.

Я прочитал на ciphersuite.info, что первые из них — это имена IANA (?), а есть имена OpenSSL. Но что такое, ECDH+AESGCMнапример?

Может понадобиться руководство, где искать дальше. Не хочу копировать и вставлять информацию, но хочу немного больше узнать об этой теме. Однако я не специалист по безопасности или главный ИТ-специалист, поэтому предпочитаю не читать книгу на 300 страниц :-/

решение1

Правильная SSLCipherSuiteдиректива для установки криптографических алгоритмов, которые следует использовать. В TLS 1.2 от вас ожидается установка комбинации из четырех алгоритмов (называемых набором шифров):

  • Алгоритм обмена ключами, который используется для установки общего секрета между клиентом и сервером. Из секрета обе стороны затем могут вывести ключ для симметричного шифрования.
  • Алгоритм подписи для обмена ключами.
  • Симметричный алгоритм шифрования и дешифрования данных, которые необходимо передать.
  • Алгоритм хеширования, который используется для обеспечения целостности сообщений (с помощью кода аутентификации сообщения) или построения криптографически безопасного генератора псевдослучайных чисел.

Каждый набор шифров имеет уникальный идентификатор.зарегистрирован через IANAи начинающиеся с TLS_. Например, есть TLS_DHE_RSA_WITH_AES_128_GCM_SHA256что означает:

  • Алгоритм обмена ключами — DHE, т.е. обмен ключами Диффи-Хеллмана с эфемерными ключами.
  • Алгоритм подписи — RSA.
  • Алгоритм симметричной криптографии — AES с 128-битными ключами в режиме GCM.
  • Алгоритм хеширования — SHA-256.

OpenSSL как поставщик конкретной реализации TLS позволяет вам выбирать наборы шифров IANA черезпользовательский формат, называемый «списком шифров». Этот формат поддерживает сложные правила выбора, например, , ECDH+AESGCMкоторые обозначают все наборы шифров, содержащие оба алгоритма ECDH(для обмена ключами) и AESGCM(для симметричного шифрования). Вы можете проверить точные наборы шифров, которые вы получаете, с помощью команды openssl ciphers "ECDH+AESGCM". В моем случае список включает, например, набор шифров TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(или, как его называет OpenSSL, ECDHE-ECDSA-AES128-GCM-SHA256).

ECDH+AESGCMСама строка - этонетнабор шифров. Это специфичное для OpenSSL правило выбора наборов шифров.

На практике я бы использовал конкретный список безопасных наборов шифров, напримеррекомендации от Mozilla. При использовании правил выбора OpenSSL существует риск включения вами наборов шифров, которые вы на самом деле не планировали (хотя вы всегда можете проверить результат с помощью команды, openssl ciphersупомянутой выше).

Связанный контент