У меня есть веб-сервер под управлением Apache 2.0 на RHEL4. Этот сервер недавно не прошел сканирование PCI.
Причина: Уязвимость протокола SSLv3.0 / TLSv1.0, слабая в режиме CBC Решение: эта атака была обнаружена в 2004 году и более поздних версиях протокола TLS, в которых есть исправление. Если возможно, обновите до TLSv1.1 или TLSv1.2. Если обновление до TLSv1.1 или TLSv1.2 невозможно, отключение шифров режима CBC устранит уязвимость. Использование следующей конфигурации SSL в Apache устраняет эту уязвимость: SSLHonorCipherOrder On SSLCipherSuite RC4-SHA: HIGH:! ADH
Простое исправление, подумал я. Я добавил строки в конфигурацию Apache, и это не сработало. Очевидно,
«SSLHonorCipherOrder On» будет работать только на Apache 2.2 и более поздних версиях. Я попытался обновить Apache, вскоре попал в ад зависимостей, и, похоже, мне придется обновить всю ОС, чтобы перейти на Apache 2.2. Мы удалим этот сервер через несколько месяцев, так что это того не стоит.
В решении говорится: «Если обновление до TLSv1.1 или TLSv1.2 невозможно, отключение шифров режима CBC устранит уязвимость».
Как бы я сделал это на Apache 2.0? Это вообще возможно? Если нет, есть ли другие способы обхода?
источник
Ответы:
Кроме компиляции более нового Apache вручную, единственное, о чем я могу думать, это сделать RC4-SHA единственным поддерживаемым шифром (проверено
openssl ciphers RC4-SHA
на текущем openssl, чтобы убедиться, что он печатает только один шифр, вы можете сделать то же самое). чтобы убедиться, что он не совпадает с каким-то странным старым шифром на вашем старом openssl):MS говорит, что Windows XP поддерживает TLS_RSA_WITH_RC4_128_SHA, поэтому у вас не должно быть проблем с совместимостью.
источник
Есть только два способа «исправить» BEAST на уровне сервера.
Лучше всего обновить библиотеку SSL вашего сервера до библиотеки, поддерживающей TLS v1.1 или новее (и убедиться, что ваши клиенты тоже ее поддерживают, чтобы вы могли заставить их использовать ее).
Другой вариант - отключить любые алгоритмы шифрования CBC (Cypher-Block-Chaining) и переключиться на шифр en ECB (Electronic Code Book) или что-то вроде RC4 (алгоритмы ECB теоретически "менее безопасны", потому что данный ввод открытого текста зашифрован для данного Ключ всегда отображается обратно в один и тот же зашифрованный текст, что облегчает разрыв с известными атаками открытого текста, но с практической точки зрения это вряд ли будет большой проблемой. Google (в качестве примера) по-прежнему использует RC4).
Поскольку сервер, на котором вы работаете, мёртв, похоронен, и его декомпозиция, вероятно, не стоит того количества усилий, которое потребуется для сборки пропатченного Apache (вам нужно будет перестраивать Apache и OpenSSL изолированно, чтобы не расстраивать что-либо, что по умолчанию требуется версия OpenSSL, установленная в вашей системе - если вы делаете так много работы, вы можете также обновить всю систему до того, что действительно поддерживается), так что в значительной степени вы оставите вас с «Switch to ECB Cyphers» как Ваше жизнеспособное решение.
BEAST - это на самом деле ничто иное, как атака - в наши дни все популярные браузеры (IE, Chrome, Safari, Opera) внедрили эффективный обходной путь , и из-за того, как атака работает , реализовать ее довольно сложно вне браузера (так
apt
иyum
все еще в значительной степени безопасны).В начале этого года Адам Лэнгли из Google выступил с отличной речью, в которой излагаются некоторые болевые точки, на которых вы должны сосредоточиться: SSL и безопасность - хотя BEAST заслужил упоминание, он был в нижней части списка проблем, о которых нужно беспокоиться.
источник
Единственное найденное мной решение, которое поможет вам пройти тест ssllabs.com, - добавить следующие четыре строки в ваш файл apache httpd.conf и файлы ssl.conf:
Убедитесь, что у вас нет ни одной из этих настроек, опубликованных дважды в файле ssl.conf.
Теперь мои сайты проходят с А.
источник