Корректная настройка https и получение отметки «A» на Qualys SSL Test
|В связи с тем, что активнее популяризироваться переход с http на https, давайте рассмотрим ситуацию с переходом на безопасный протокол передачи данных.
Ранее я уже описывал сервисы где можно бесплатно получить SSL сертификат и как в некоторых случаях его установить.
Теперь давайте займемся решением проблемы, как правильно использовать наш ssl сертификат во имя благих целей и соответствовать современным требованиям безопасности. Для выполнения проверки конфигурации вашего сайта по https актуально использовать сервис SSL Test от Qualys. Данный сервис покажем вам все возможные слабые стороны вашей конфигурации, если таковые имеются, а так же выставляет оценку по результатам выполненных тестов.
Конфигурация будет описываться для Linux серверов с Apache или Nginx.
При настройке https стоит учитывать актуальность протоколов и алгоритмов шифрования, соответственно нам надо использовать все актуальное и максимально безопасное. В связи с этим, протоколы SSLv2, SSLv3 в нашем случае отпадают, а TLS1.2 должен использоваться как основной. Но из-за того, что не все браузеры могут корректно поддерживать TLS1.2, при некоторых обстоятельствах мы будем использовать TLS1, TLS1.1, так же мы отключим слабые алгоритмы шифрования вроде DES, 3DES, RC4
Дополнительным бонусом в нашем случае, будет получение отметки «A» на сервисе SSL тестов Qualys для нашего сайта.
Первым делом, если у кого-то еще не стоит актуальной версии openssl, то стоит обновиться, желательно до версии OpenSSL 1.0.1t (3 Мая, 2016) или выше.
Обновление проще всего будет выполнить при помощи команд:
sudo apt-get update sudo apt-get upgrade
Но, есть еще один вариант, чуть более сложный. Можно самому скачать и установить нужную версию.
Скачать OpenSSL можно с офиц. сайта: _https://www.openssl.org/source/_
curl https://www.openssl.org/source/openssl-1.0.1t.tar.gz | tar xz && cd openssl-1.0.1t && sudo ./config && sudo make && sudo make install
sudo ln -sf /usr/local/ssl/bin/openssl 'which openssl'
Далее, после того как мы обновили наш OpenSSL, получили и поставили сертификат, следующим действием будет настройка SSL.
Для Apache конфигурация будет следующей:
SSLEngine on SSLProtocol ALL -SSLv2 -SSLv3 SSLHonorCipherOrder On SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
Первой строкой мы включаем наш SSL, далее запрещаем использовать протоколы SSLv2 и SSLv3, просим соблюдать очередность использования для того, чтоб в приоритете сайт работал по TLS1.2, в случае если браузер его не поддерживает, работало по TLS1 или TLS1.1, объясняем с какими алгоритмами шифрования работать.
В случае, если у вас работает SSLCompression — его тоже отключаем:
SSLCompression Off
В случае с Nginx, конфигурация слегка будет отличаться, в nginx мы будем объяснять, какие протоколы можно использоваться.
Конфигурация для Nginx:
ssl_prefer_server_ciphers On; ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS;
После того, как конфигурация была добавлена/обновлена, надо перезапустить веб-сервер:
service apache2 restart
или
service nginx restart
Далее, нам остается только проверить результат наших трудов, заходим на _https://www.ssllabs.com/ssltest/_ и запускаем проверку вашего сайта. На выходе у вас должен получиться результат «A». Для получения «A+» необходимо еще корректно настроить заголовки.
Может быть интересно:
Добавьте комментарий
Для отправки комментария вам необходимо авторизоваться.
кстати да, сейчас когда у гугла выдача еще частично зависит от наличие SSL на сайте, статья как никогда актуальна