Оглавление:

Улучшение служб SSL на вашем веб-сервере (Apache / Linux): 3 шага
Улучшение служб SSL на вашем веб-сервере (Apache / Linux): 3 шага

Видео: Улучшение служб SSL на вашем веб-сервере (Apache / Linux): 3 шага

Видео: Улучшение служб SSL на вашем веб-сервере (Apache / Linux): 3 шага
Видео: 1С + Apache + SSL от Let's Encrypt! 2024, Ноябрь
Anonim
Улучшение служб SSL на вашем веб-сервере (Apache / Linux)
Улучшение служб SSL на вашем веб-сервере (Apache / Linux)

Это очень короткое руководство, посвященное одному аспекту кибербезопасности - силе службы ssl на вашем веб-сервере. Предыстория заключается в том, что службы ssl на вашем веб-сайте используются, чтобы гарантировать, что никто не сможет взломать данные, которые передаются на ваш веб-сайт и с него. Были широко освещены атаки на уязвимые службы SSL, такие как ошибка Heartbleed в OpenSSL и ошибка Poodle, которая использовала уязвимости SSL 3.0. (Эта область является подвижной целью, поэтому вам необходимо встроить тестирование SSL в свой цикл планирования-выполнения-проверки-действия (PDCA) по стандарту ISO 27001.)

Когда ssl установлен на вашем веб-сайте с использованием сертификата от признанного провайдера, вы увидите, что доступ к вашему веб-сайту можно получить с https://yourdomain.com. Это означает, что данные передаются назад и вперед в зашифрованном формате. Напротив, https://yourdomain.com или слабое шифрование раскрывают передаваемые данные в виде открытого текста, что означает, что даже детский хакер может получить доступ к данным вашего пароля и т. Д. С помощью легкодоступных инструментов, таких как Wireshark.

В оставшейся части этого руководства я предполагаю, что вы будете использовать Apache в качестве веб-сервера в Linux и что у вас есть доступ к своему веб-серверу через эмулятор терминала, такой как putty. Для простоты я также предполагаю, что ваш интернет-провайдер предоставил ваш сертификат SSL, и у вас есть возможность перенастроить некоторые его аспекты.

Шаг 1. Проверка надежности вашего SSL-сервиса

Проверка надежности вашего SSL-сервиса
Проверка надежности вашего SSL-сервиса

Просто перейдите на https://www.ssllabs.com/ssltest/ и введите имя своего домена рядом с полем «Имя хоста», установите флажок «Не показывать результаты на досках» и нажмите кнопку «Отправить». (Обратите внимание, что вы не должны тестировать какие-либо домены без предварительного разрешения, и вы никогда не должны показывать результаты на досках.)

После выполнения тестов вам будет присвоена оценка от F до A +. Вам будут предоставлены подробные результаты теста, которые, надеюсь, сделают для вас очевидным, почему вам поставили заданный балл.

Обычно причиной сбоя является использование устаревших компонентов, таких как шифры или протоколы. Вскоре я сосредоточусь на шифрах, но сначала пару слов о криптографических протоколах.

Криптографические протоколы обеспечивают безопасность связи в компьютерной сети. … Соединение является частным (или безопасным), поскольку для шифрования передаваемых данных используется симметричная криптография. Два основных протокола - это TLS и SSL. Последнее запрещено использовать, и, в свою очередь, TLS развивается, поэтому на момент написания этой статьи последняя версия - 1.3, хотя и в черновом формате. С практической точки зрения, по состоянию на январь 2018 года у вас должен быть только TLS версии 1.2. включено. Вероятно, будет переход на TLV v 1.3. в течение 2018 года. В тесте Qualys будет указано, какие криптографические протоколы вы применили, и в настоящее время, если вы используете TLS ниже 1.2, вы получите плохую оценку.

И последнее, что нужно сказать о криптографических протоколах. Когда вы покупаете веб-пакет и сертификат SSL у основного интернет-провайдера, такого как GoDaddy, это будет TLS v 1.2. что хорошо, но в дальнейшем вам может быть сложно выполнить обновление, чтобы сказать, TLS v 1.3. Лично я устанавливаю свои собственные SSL-сертификаты и, так сказать, сам контролирую свою судьбу.

Шаг 2. Перенастройка Apache для внесения изменений SSL

Перенастройка Apache для внесения изменений SSL
Перенастройка Apache для внесения изменений SSL

Одна из важных областей, которая проверяется в тесте Qualys SSL и в центре внимания этого раздела, - это наборы шифров, которые определяют стойкость шифрования ваших передаваемых данных. Вот пример результатов теста Qualys SSL на одном из моих доменов.

Шифров # TLS 1.2 (люкс в серверной предпочтительный заказ) TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp256r1 (экв. 3072 бит RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH secp256r1 (экв. 3072 бит RSA) FS128TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH secp256r1 (экв. 3072 бит RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH secp256r1 (экв. 3072 бит RSA) FS128

Вы можете потратить много времени на повторную настройку конфигурации Apache, чтобы удалить красные линии (сбой) из отчета о тестировании Qualys, но я рекомендую следующий подход, чтобы получить лучшие настройки Cipher Suite.

1) Посетите веб-сайт Apache и получите их рекомендации по использованию Cipher Suite. На момент написания я перешел по этой ссылке -

2) Добавьте рекомендуемый параметр в файл конфигурации Apache и перезапустите Apache. Это была их рекомендуемая настройка, которую я использовал.

SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305ES: ECDA-GCA20-POLY1305ES: ECDA-GCA20-POLY1305ES: ECDA-GCHE-POLY1305ES: ECDA-GCA-GCA-POLY1305ES: ECDA-GCHE-POLY1305ES: ECDA-GCA-GCHE-ACDA-GCHE-ACDA-GC-25 -AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256

Примечания. Одна из задач - найти, в каком файле вам нужно изменить директиву SSLCipherSuite. Для этого войдите в Putty и войдите в каталог etc (sudo cd / etc) Найдите каталог apache, такой как apache2 или http. Затем выполните поиск в каталоге apache следующим образом: grep -r "SSLCipherSuite" / etc / apache2 - это даст вам результат, подобный этому:

/etc/apache2/mods-available/ssl.conf:#SSLCipherSuite HIGH: MEDIUM:! aNULL:! MD5:! RC4:! DES / etc / apache2 / mods-available / ssl.conf: #SSLCipherSuite HIGH:! aNULL: ! MD5:! RC4:! DES /etc/apache2/mods-available/ssl.conf:#SSLCipherSuite ECDH + AESGCM: DH + AESGCM: ECDH + AES256: DH + AES256: ECDH + AES128: DH + AES: ECDH + 3DES: DH + 3DES: RSA + AESGCM: RSA + AES: RSA + 3DES:! ANULL:! MD5:! DSS

Важно отметить файл /etc/apache2/mods-available/ssl.conf или любой другой ваш. Откройте файл с помощью редактора, такого как nano, и перейдите в раздел # SSL Cipher Suite:. Затем замените существующую запись в директиве SSLCipherSuite на указанную выше с веб-сайта Apache. Не забудьте закомментировать старые директивы SSLCipherSuite и перезапустить Apache - в моем случае я сделал это, набрав sudo /etc/init.d/apache2 restart

Обратите внимание, что иногда вам может потребоваться удалить определенные шифры, которые дают вам низкий результат теста Qualys SSL (например, потому что были обнаружены новые уязвимости), даже если вы использовали рекомендуемые настройки Apache. Например, следующая строка отображается красным цветом (сбой) в вашем отчете Qualys TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) Первый шаг - найти, какой код вам нужно изменить в вашей директиве Apache SSLCipherSuite. Чтобы найти код, перейдите на https://www.openssl.org/docs/man1.0.2/apps/ciphers… - здесь показан код следующим образом: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384

Возьмите ECDHE-RSA-AES256-GCM-SHA384 и удалите его из записи, которую вы добавили в качестве директивы Apache Apache SSLCipherSuite, а затем добавьте ее в конец, поставив перед ней:!

Снова перезапустите Apache и повторите попытку.

Шаг 3: Заключение

Я знаю, что вы кое-что узнали о тестировании SSL. Об этом можно еще много узнать, но, надеюсь, я указал вам правильное направление. В своих следующих уроках я расскажу о других областях кибербезопасности, так что следите за обновлениями.

Рекомендуемые: