Исправление уязвимости BEAST в Apache 2.0, работающем на RHEL 4

11

У меня есть веб-сервер под управлением 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? Это вообще возможно? Если нет, есть ли другие способы обхода?

Debianuser
источник
3
Поскольку расширенная поддержка обновлений для RHEL4 (.7) закончилась год назад, я советую, возможно, удалить сервер раньше, чем позже. В противном случае вам, вероятно, понадобится собрать apache 2.2 из исходного кода.
DerfK
Новый сервер готов, но мы не можем мигрировать до декабря. Да, компиляция и установка Apache 2.2 из исходных текстов - последний вариант на данный момент. Интересно, есть ли более легкое решение?
Debianuser

Ответы:

11

Кроме компиляции более нового Apache вручную, единственное, о чем я могу думать, это сделать RC4-SHA единственным поддерживаемым шифром (проверено openssl ciphers RC4-SHAна текущем openssl, чтобы убедиться, что он печатает только один шифр, вы можете сделать то же самое). чтобы убедиться, что он не совпадает с каким-то странным старым шифром на вашем старом openssl):

SSLCipherSuite RC4-SHA

MS говорит, что Windows XP поддерживает TLS_RSA_WITH_RC4_128_SHA, поэтому у вас не должно быть проблем с совместимостью.

DerfK
источник
1
Именно то, что я искал. Я успешно протестировал, используя beast-check.googlecode.com/files/beast.pl . Я запланирую сканирование PCI и сообщу, как только это будет сделано.
Debianuser
Я могу подтвердить, что это сработало. Сервер прошел сканирование PCI. Большое спасибо.
Debianuser
6

Есть только два способа «исправить» 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 заслужил упоминание, он был в нижней части списка проблем, о которых нужно беспокоиться.

voretaq7
источник
RC4 не является шифром режима ECB. Использование режима ECB было бы огромной ошибкой, и есть веские причины, по которым у TLS нет поддерживаемых наборов шифров ECB. Использование потокового шифра, такого как RC4, является гораздо менее плохой идеей, хотя недавние результаты означают, что он выглядит не так хорошо, как это было isg.rhul.ac.uk/tls
armb
4

Единственное найденное мной решение, которое поможет вам пройти тест ssllabs.com, - добавить следующие четыре строки в ваш файл apache httpd.conf и файлы ssl.conf:

SSLHonorCipherOrder On

SSLProtocol -all + TLSv1 + SSLv3

SSLCipherSuite RC4-SHA: ВЫСОКИЙ:! MD5:! ANULL:! EDH:! ADH

SSLInsecureRenegotiation off

Убедитесь, что у вас нет ни одной из этих настроек, опубликованных дважды в файле ssl.conf.

Теперь мои сайты проходят с А.

user2183769
источник