Как отключить SSLv3
Протокол SSL и его преемник TLS - это криптографические протоколы, предназначенные для обеспечения безопасности сетевых соединений в интернет. Кроме распространенного HTTPS, предназначенного для веб-соединений, они используются и многими другими приложениями. SSLv1 никогда публично не выпускался, SSLv2 быстро оказался небезопасным. Был создан SSLv3, он все еще используется для защиты транспортного уровня интернет соединений вместе с TLSv1 / 1.1 / 1.2.
Не так давно инженеры Google обнаружили уязвимость протоколе SSLv3, благодаря которой данная версия SSL подвержена POODLE атаке , и его использование крайне не желательно. Существует патч, но он не решает данную проблему полностью, поскольку исправлены должны быть обе стороны соединения, клиент и сервер.
Протоколу SSLv3 почти 18 лет, тем не менее он все еще очень распространен в сети, не смотря на это, необходимо как можно скорее отказаться от использование данной версии протокола SSL, как на стороне сервера так и клиента. Хотя существует небольшая часть интернет-пользователей, которые используют очень устаревшие системы и вообще не поддерживают TLS, в связи с этим они ограничены в возможности подключения к вашему сайту или сервису.
Основные вопросы и ответы касаемо протокола SSLv3
Почему следует отключить SSLv3 на сервере?
Если вы владелец или администратор сервера, вам действительно нужно отключить SSLv3 как можно скорей, что-бы обезопасить ваших пользователей. После отключения протокола SSLv3, клиенты не смогут использовать эту уязвимую версию SSL протокола для подключения и будут вынуждены использовать более новую, более безопасную альтернативу.
Почему нужно отключить SSLv3 на клиенте?
Как пользователь, вы должны отключить SSLv3 в своем браузере, чтобы обезопасить себя при посещении сайтов, которые все еще поддерживают SSLv3. Сделав это, вы можете быть уверены что ваше веб-приложение не будет пытаться установить соединение с SSLv3 и будет использовать более безопасную альтернативу.
Является ли POODLE уязвимостью реализации, такой-же как уязвимость OpenSSL Heartbleed?
Нет, POODLE это уязвимость протокола. Это означает, что это касается внутренней работе SSLv3, и вы не можете ее исправить.
Нужно ли отозвать сертификаты после POODLE?
Нет, вам не нужно выпускать новые сертификаты. Атака POODLE - это не утечка памяти, это атака восстановления данных в открытом тексте, которая нацелена на HTTP заголовки и использует слабость протокола SSLv3 при работе с блочными шифрами.
Отключение SSLv3 в распространенных веб серверах
Отключить SSLv3 на веб сервере Apache
Добавить в файл конфигурации apache, или изменить если уже есть но не соответствует, следующую директиву:
SSLProtocol All -SSLv2 -SSLv3
после чего перезагпустить apache:
service apache2 restart
# или
apachectl restart
Отключить SSLv3 на веб сервере IIS
Создайте файл реестра disable_ssl3.reg со следующим содержимым:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000
и запустите его.
Отключить SSLv3 на веб сервере nginx
Добавьте в файл конфигурации nginx.conf директиву:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
если такая уже есть и отличается, исправьте, после чего перезагрузите nginx
nginx -s reload
Отключить SSLv3 на веб сервере Lighttpd
Релизы Lighttpd сервера до версии 1.4.28 позволяют отключать только SSLv2. Если вы используете версию 1.4.29 и выше, пропишите в конфиг:
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
после чего перезапустите сервер
service lighttpd restart
Отключение протокола SSLv3 в основных веб браузерах
Chrome и Chromium
Если вы используете Chrome 40 и выше, вы в безопасности, поскольку с версии 40 Chrome/Chromium полностью отключил поддержку SSLv3.
В Chrome и Chromium используются параметры, позволяющие пользователю самостоятельно указывать предпочтительный протокол, однако многие ошибочно считают что SSLv3 является более свежей версией нежели TLS 1.0, и по ошибке отключают последний.
Таким образом, пока не был объявлен браузер Google Chrome или Chromium с отключенным по умолчанию SSLv3, необходимо запустить данные браузеры с параметром командной строки --ssl-version-min = tls1 . Для этого можно изменить ярлык приложения, что-бы браузер запускался с нужным параметром.
windows
- Щелкните правой кнопкой мыши по ярлыку Google Chrome/Chromium на рабочем столе, вкладка Properties.
- В строке объект, после последнего символа двоеточия, добавьте пробел а затем --ssl-version-min=tls1.
- Нажмите ОК и подтвердите если будут запрошены права администратора.
Имейте в виду, что данная настройка защитит только сеансы браузера запущенные ярлыком на рабочем столе, на сеансы запущенные нажатием на ссылку в документе или письме данная настройка не влияет. Что-бы это исправить нужно отредактировать параметр реестра HKEY_CLASSES_ROOT/ChromeHTML/shell/open/command, приведя его к такому виду:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --ssl-version-min=tls1 -- "%1"
убедитесь что путь до chrome.exe соответствует вашей системе.
Linux
Изменение символических ссылок рабочего стола и меню приложений зависят от графического окружения. Например в Ubuntu нужно отредактировать файл /usr/share/applications/google-chrome.desktop, дописав параметр --ssl-version-min=tls1 в строчки начинающиеся с "exec=", например до изменения:
Exec=/usr/bin/google-chrome-stable %U
привести к такому виду:
Exec=/usr/bin/google-chrome-stable --ssl-version-min=tls1 %U
теперь нужно сохранить файл и перезапустить браузер.
Только для Chromium на стабильных релизах Debian и Ubuntu, нужно в файл /etc/chromium-browser/default добавить строку:
CHROMIUM_FLAGS="--ssl-version-min=tls1"
На нестабильных версиях Debian нужно создать файл /etc/chromium.d/disable-sslv3, содержащий строку:
CHROMIUM_FLAGS="${CHROMIUM_FLAGS} -ssl-version-min=tls1"
MacOS X
Открыть редактор AppleScript и прописать строку:
do shell script "open '/Applications/Google Chrome.app' --args --ssl-version-min=tls1"
затем сохранить как приложение и добавить в Dock.
Mozilla Firefox
Если версия Firefox ниже 34, в адресной строке браузера набрать about:config и установить значение параметра security.tls.version.min равным 1.
Safari
Apple выпустила обновление безопасности 2014-005, которое отключает шифры CBC по согласованию с SSLv3. Патч доступен для Mac OS Mavericks, Mountain Lion и Yosemite, и после обновления никаких действий с вашей стороны не потребуется.
Internet Explorer
Перейти в меню Пуск >> Свойства обозревателя.
Вкладка Дополнительно.
Снимите флажок Использовать SSL 3.0.
Подтвердите, нажав OK.
Если у вас установлена более старая версия Windows, например Windows XP, убедитесь что установлен пакет обновления 3 (SP3), чтобы иметь доступ к сайтам с отключенным протоколом SSLv3.
Opera
Если вы используете Opera 12.17 или старше:
Нажмите ctrl + f12.
Перейдите на вкладку "Дополнительно".
Нажмите "Безопасность" в меню слева.
Нажмите "Протоколы безопасности".
Снимите флажок "Включить SSL 3".
Нажмите ОК.
Отключение протокола SSLv3 на почтовых серверах
Отключить SSLv3 в Sendmail
Пропишите следующие строки в файл конфигурации sendmail.mc, в секцию LOCAL_CONFIG:
LOCAL_CONFIG
O CipherList=HIGH
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_CIPHER_SERVER_PREFERENCE
O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3
после чего перезагрузите sendmail
service sendmail restart
Отключить SSLv3 в Postfix
Пропишите в файл конфигурации postfix или исправьте следующие строки:
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3
перезагрузите postfix
service postfix restart
Отключить SSLv3 в Dovecot
Пропишите в файл конфигурации /etc/dovecot/local.conf следующую строку, или исправьте если есть:
ssl_protocols = !SSLv2 !SSLv3
перезапустите dovecot
service dovecot restart
Отключить SSLv3 в Courier-imap
Пропишите в файл конфигурации /etc/courier/imapd-ssl, или исправьте если есть:
IMAPDSSLSTART=NO
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
перезапустите courier-imap
service courier-imap restart
Отключение протокола SSLv3 в некоторых других сетевых сервисах
Отключить SSLv3 для Java
В контрольной панели java перейти: Start -> Java -> Configure Java, вкладка Advanced, прокрутить вниз, снять флажок Use SSL 3.0.
Отключить SSLv3 для NodeJS
Если вы используете NodeJS в качестве веб сервера ( не лучшая идея ), установите secureOptions:
constants.SSL_OP_NO_SSLv3 | constants.SSL_OP_NO_SSLv2
Отключить SSLv3 для OpenVPN
OpenVPN использует TLSv1.0 или, начиная с версии 2.3.3, опционально TLSv1.2, поэтому не подвержен POODLE атаке
Отключить SSLv3 для Puppet
Puppet агенты не подвержены POODLE атаке.
Если-же вы все равно хотите отключить SSLv3, используйте stephenrjohnson/puppetmodule модуль для настройки мастер процесса который не использует SSLv3.
Отключить SSLv3 для HAProxy
Отредактируйте директиву bind в файле конфигурации /etc/haproxy.conf, добавив no-sslv3. Получаем что-то вроде:
bind :443 ssl crt ciphers no-sslv3
Более подробно в документации по haplroxy .
Онлайн сервисы для тестирования SSL протокола
Комментарии
Отправить комментарий