Как включить совершенная прямая секретность по умолчанию на Apache?

Внимание: пожалуйста, используйте только рекомендации по настройке Apache из ответов ниже. Для алгоритма(ов), для использования - нормы безопасности меняются с течением времени и некоторые советы по безопасности ниже уже устарело.

В свете последних событий, я пересматриваю свои установки Apache. В настоящее время, мой Апач сайте конфиг выглядит примерно так:

 <IfModule mod_ssl.c>
    <VirtualHost *:80>
            ServerName example.com
            ServerAlias www.example.com
            Redirect permanent / https://example.com
    </VirtualHost>

    <VirtualHost *:443>
            ServerAdmin webmaster@localhost
            ServerName example.com

            DocumentRoot /var/www-wordpress
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /var/www-wordpress>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride FileInfo
                    Order allow,deny
                    allow from all
            </Directory>

            ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
            <Directory "/usr/lib/cgi-bin">
                    AllowOverride None
                    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                    Order allow,deny
                    Allow from all
            </Directory>

            ErrorLog ${APACHE_LOG_DIR}/error.log
            LogLevel warn

            CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
            SSLCertificateFile    /etc/ssl/certs/example.com.crt
            SSLCertificateKeyFile /etc/ssl/private/example.com.key
            SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.ca.pem
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                    SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                    SSLOptions +StdEnvVars
            </Directory>

            BrowserMatch "MSIE [2-6]" \
                    nokeepalive ssl-unclean-shutdown \
                    downgrade-1.0 force-response-1.0
            BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    </VirtualHost>

Что я должен сделать, чтобы поддержать совершенная прямая секретность? Как я могу включить SSL совершенная прямая секретность по умолчанию? Как я могу воспрепятствовать этому?

Комментарии к вопросу (4)
Решение

Как насчет:

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+RC4:EDH+RC4:RC4-SHA:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5

Обратите внимание на добавление -протокол SSLv3 флаг, чтобы отключить SSLv3. Это добавлено для защиты от атака пудель.

Это предпочитают совершенной прямой секретности, но не в ущерб уязвимости к атаке зверя. Поскольку Apache не хватает способ настроить шифр предпочтение, основанное на версию протокола, я поддельные это, обратившись к шифрам доступна только в новых протоколов. В частности, ОПЗ был доступен только с хеширования SHA1, пока в протоколе TLSv1.2. Таким образом, список начинается с протоколе TLSv1.2 эфемерный открытый ключ Диффи-Хеллмана шифры, затем алгоритм RC4 (первый с эфемерными ЦТ, то без), и, наконец, зверя-уязвимых AES выбор. Кроме нет авторизации / шифрования слабый / слабый хэширования в конце просто для хорошей гигиены и может быть пропущен, поскольку без таких шифров были введены. Если производительность является проблемой, используйте EECDH только и опустить Эд.

В сочетании с Apache 2.2 (таким образом, нет EECDH как @Бруно говорит), в https://www.ssllabs.com/ssltest/analyze.html это достигается ПФС для iOS сафари только. IE и Firefox являются протоколе TLSv1.0 так они вам RC4 для избежать зверя. (Увы, нет такого понятия, как шифр RC4 Эд, так и без EECDH, вы даете ПФС). Это, я считаю, лучше одной с этих браузеров на Apache 2.2. Хром-это только одно плохо обслужили, так как она поддерживает протоколе TLSv1.1 и Эд-ня, не будучи уязвимыми для зверя. Вместо этого он получает алгоритм RC4-ОГА, как Firefox и IE. Обновление Apache, чтобы разрешить EECDH алгоритма RC4 должны получить ПФС для Firefox, IE и хром.

Обновление 2013-11-09:

Я'вэ нашел несколько альтернативных рекомендаций в интернете. Они ставят меньше акцента на защиту зверя (возможно, мудрый; зверь в основном сглаживается на стороне клиента теперь) и больший упор на совершенную прямую секретность. В различной степени, они также имеют более сильные предпочтения для GCM и большее нежелание принимать алгоритм RC4.

Особое внимание, я думаю, следующие рекомендации:

Лично я'м собираюсь перейти с Android секретность там'ов. Их аргументация хорошо объяснил на своей странице. Следует отметить, что они предпочитают более AES128 и AES256. В их словами: "[AES128] обеспечивает хорошую безопасность, очень быстро, и, кажется, более устойчивы к атакам сроки.&и"

Примечательно, что в Иван Ристич's и Gramaize Жоффруа's рекомендации заключается в том, что отключен протокол SSLv3. Я думаю, что это в основном просто разрывает ИЕ6, хотя некоторые связанные с безопасностью различия между SSLv3 и TLS В В1.0 это упомянутые в Википедии.

Также, прежде чем я'т поговорить о преступление и нарушение. Для защиты от преступности, отключить сжатие SSL. Это входит в примерах связаны. Чтобы защищен от компрометации, необходимо отключить сжатие на уровне http. Для Apache 2.4, просто сделать это один раз глобально:


  SetEnvIfExpr "%{HTTPS} == 'on'" no-gzip

Для более старых версий Apache, это в каждый хост, где Sslengineна на:


    SetEnv no-gzip

Обновление 2014-10-14: Руководство Службы безопасности компании Mozilla в настоящее время разделен на рекомендации для старые/промежуточные/современная совместимости. С настройками из промежуточных или Современный, вы в конечном итоге с отключен протокол SSLv3. Которые будут защищать от нападения пуделя.

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

Из моего собственного понимания, вы должны активировать SSLHonorCipherOrder и добавить SSLCipherSuite с шифры протокола ECDHE и она с OpenSSL и шифры -в

В файле/etc/apache2 не/модов-доступно и SSL.конф`:

SSLHonorCipherOrder on
SSLCipherSuite ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:AES128-SHA:RC4-SHA:HIGH:!aNULL:!MD5:!ADH

Чтобы проверить ваш сайт, вы можете использовать: https://www.ssllabs.com/ssltest

Примечание: в виде эллипса, кривая она, кажется, только для работы с Apache 2.3.3 или выше (см. Источник и Бруно'ы комментарий).

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

Введите этот шифр в файле httpd.Conf в основной директивы/основной конфы:

SSLCipherSuite AES128+EECDH:AES128+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off 
SSLUseStapling on 
SSLStaplingCache "shmcb:logs/stapling-cache(150000)" 

Вы даже можете проверить статус, как безопасно это, проверив ее на: https://www.ssllabs.com/ssltest/analyze.html?

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

Шифра, который обеспечивает совершенную прямую секретность-это те, которые использовать однодневки форма Диффи-Хэллмана. Их недостатком является их накладные расходы, которые могут быть улучшены с помощью вариантов эллиптических кривых (см. Винсент Бернат's блоге.)

Шифра, в Apache (при условии, что вы're, используя расширением mod_ssl скомпилирован с OpenSSL) настраиваются с помощью SSLCipherSuite, который принимает список, как вы увидите, когда, используя команду OpenSSL шифры. Если вы посмотрите на [в OpenSSL страницы](http://www.openssl.org/docs/apps/ciphers.html), вы&#39;ll найтиkEDH-это то, что вы'вновь ищу. (Вы можете также список шифров индивидуально.)

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

Попробуйте этот код в ваш SSL.конф:

SSLProtocol +TLSv1.2 +TLSv1.1 +TLSv1
SSLCompression off
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:AES256-GCM-SHA384:AES256-SHA256:CAMELLIA256-SHA:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA

Кстати,

Совет эксперта: на (1/п-1) сплит рекордный трюк реализован в Firefox после некоторое время. Таким образом, вы можете безопасно отключить шифрование RC4 в Firefox в меню Дополнительные настройки. Для этого введите о:конфигурации в адресную строку, затем поиска для 'шифрования RC4 и переключить все найденные значения в 'false'. Если вы испытываете проблемы соединения, переключения обратно эти параметры в true.

https://cc.dcsec.uni-hannover.de/

Этот сайт предоставит вам информацию о комплекты шифров SSL, Ваш браузер поддерживает для обеспечения соединения HTTPS.

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

Взгляните на https://cipherli.st

Там вы найдете копировать и усилитель; вставить фрагменты config для несколько сервисов, которые должны обеспечить сильные настройки безопасности SSL.

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

Эта статья поможет вам настроить безопасности и сделать вас в курсе текущих стандартов https://community.qualys.com/blogs/securitylabs/2013/08/05/configuring-apache-nginx-and-openssl-for-forward-secrecy

Как из 09/16/2015, это поможет вам на SSLLabs результаты теста.

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
Комментарии (0)

У меня есть класс (сентябрь. 2016) на SSLLabs до сих пор поддерживает Windows ХР / интернет Explorer 8 с помощью данного SSL.конфигурации на Apache:

SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite EECDH+AESGCM:AES256+EECDH:DES-CBC3-SHA

Вкратце: только ТЛС разрешено: все версии поддерживаются для совместимости и des-CBC3-ша шифр допускается для обеспечения совместимости. Первый, предпочтительный две шифры с помощью эллиптической кривой Диффи-Хеллмана, последний был добавлен в качестве запасного варианта, потому что это хороший вариант среди шифры доступны XP/ИП. Если вы'вэ установлена последняя версия OpenSSL доступен этой смеси достаточно, чтобы получить в свое время я'м пишу.

Надеюсь, что это полезно.

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