Что такое сшивание OCSP и как его использовать?

Действительный SSL-сертификат, подписанный доверенным центром сертификации, сегодня обязателен для всех сайтов. Если срок действия Вашего сертификата истек или он был отозван, браузеры больше не будут ему доверять. Браузеры используют протокол Online Certificate Status Protocol (OCSP), чтобы определить действительность Вашего SSL-сертификата. Однако оригинальный OCSP имеет несколько недостатков, которые технология сшивания OCSP успешно преодолевает.

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


Оглавление

  1. Что такое OCSP?
  2. Что такое сшивание OCSP?
  3. Как работает сшивание OCSP
  4. Каковы преимущества сшивки OCSP?
  5. Каковы ограничения OCSP Stapling?
  6. Какие браузеры поддерживают сшивание OCSP?
  7. Как проверить, включено ли на Вашем сервере сшивание OCSP?
  8. Как включить сшивание OCSP?

Что такое OCSP?

Проще говоря, OCSP – это способ, с помощью которого Ваше устройство (мобильное или настольное) может проверить, действителен ли цифровой сертификат, используемый веб-сайтом.

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

Именно здесь на помощь приходит OCSP. Когда Вы посещаете сайт, использующий HTTPS, Ваш браузер проверяет центр сертификации (ЦС) сайта, чтобы убедиться, что сертификат все еще действителен.

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


Что такое сшивание OCSP?

Сшивание OCSP – это технология, повышающая производительность и безопасность проверки Online Certificate Status Protocol (OCSP), которую выполняет веб-браузер для подтверждения SSL-сертификата сайта.

При использовании сшивки OCSP сервер веб-сайта получает ответ OCSP от центра сертификации и “сшивает” его с SSL-сертификатом во время процесса SSL-квитирования. Сшитый ответ затем отправляется в браузер вместе с сертификатом, избавляя браузер от необходимости выполнять отдельную проверку OCSP.

Что такое OCSP Must-Staple?

OCSP Must-Staple – это расширение безопасности, которое может быть добавлено к SSL-сертификату для обеспечения проверки статуса сертификата при каждом посещении веб-сайта. Если в сертификате включена опция OCSP Must-Staple, сервер веб-сайта обязан предоставлять клиенту OCSP-степлер каждый раз, когда получает SSL-сертификат.

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


Чем сшивка OCSP отличается от CRL?

Сшивка OCSP и списки отзыва сертификатов (CRL) используются для проверки статуса отзыва SSL-сертификатов. Однако они работают и влияют на процесс рукопожатия SSL по-разному.

Списки отзыва сертификатов (CRL) – это хранилища, содержащие список отозванных сертификатов. Когда клиент подключается к серверу по протоколу SSL, сервер отправляет клиенту свой цифровой сертификат.

Затем клиент проверяет статус отзыва сертификата, загружая CRL из хранилища эмитента сертификата и сравнивая серийный номер сертификата со списком отозванных сертификатов. Если сертификат находится в CRL, клиент отклонит сертификат и прервет рукопожатие.

С другой стороны, сшивание OCSP – это механизм, который позволяет серверу предоставлять подписанный, отмеченный временем ответ OCSP (Online Certificate Status Protocol) вместе со своим цифровым сертификатом во время запроса статуса сертификата.

Поскольку в нем уже содержится статус отзыва сертификата, клиенту нужно проверить только OCSP-ответчик, непосредственно предоставленный сервером, вместо того, чтобы загружать CRL и проверять статус сертификата по списку отозванных сертификатов.


Почему сшивание OCSP имеет значение?

Когда Вы заходите на HTTPS-сайт, Ваш браузер проверяет статус цифрового сертификата. Чтобы подтвердить, что Ваш сертификат все еще действителен, браузер использует OCSP для связи с его издателем, т.е. Центром сертификации. Поскольку ЦС является единственной организацией, которая владеет важной информацией о SSL-сертификате, он должен отвечать на большое количество OCSP-запросов в режиме реального времени, особенно от сайтов с высокой посещаемостью.

С финансовой точки зрения, такая практика обходится ЦС недешево, но и конечные пользователи тоже страдают, поскольку многочисленные ответы OCSP замедляют скорость загрузки. При использовании обычного OCSP браузеру приходится запрашивать сертификат у веб-сервера и Центра сертификации. Сшивание OCSP упрощает весь процесс.


Как работает сшивание OCSP

Как Вы уже знаете, когда браузер подключается к защищенному сайту, он должен связаться с серверами OCSP центра сертификации, чтобы проверить действительность SSL-сертификата. Этот процесс может затянуть время загрузки страницы, поскольку браузеру приходится ждать ответа сервера OCSP.

Сшивание OCSP улучшает протокол OCSP, позволяя веб-серверу вместо браузера запрашивать ЦС о состоянии SSL-сертификата. Когда веб-сервер обращается к поставщику SSL, ЦС предоставляет высокозащищенный ответ с цифровой меткой времени. Теперь, когда веб-сервер подключается к браузеру, он связывает подписанную временную метку с сертификатом SSL, что ускоряет проверку. Вместо того, чтобы обращаться к ЦС, браузер проверяет временную метку сервера и, поскольку она формирует надежный ЦС, доверяет сертификату.


Каковы преимущества сшивки OCSP?

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

  • Повышенная безопасность. Сшивание OCSP предотвращает атаки безопасности, которые могут возникнуть из-за отозванных сертификатов. Сшитый ответ гарантирует, что клиент имеет самый свежий статус отзыва сертификата, что снижает риск атак типа “человек посередине” и других уязвимостей, связанных с сертификатами.
  • Улучшенная производительность. Сшивание OCSP повышает производительность, уменьшая задержку, связанную с проверкой отзыва сертификата. Вместо того, чтобы клиент запрашивал OCSP-сервер ЦС напрямую, сервер может предоставить сшитый ответ во время SSL-хендшейка, сокращая количество обходов и ускоряя установление соединения.
  • Снижение сетевого трафика. Благодаря отсутствию необходимости напрямую обращаться к OCSP-серверу ЦС, сшивание OCSP может значительно снизить сетевой трафик и нагрузку на сервер. Это поможет улучшить масштабируемость и надежность сайта, особенно в периоды высокой посещаемости.

Каковы ограничения OCSP Stapling?

Хотя сшивание OCSP обеспечивает ряд преимуществ, у него есть ограничения и потенциальные недостатки. Вот несколько из них:

  • Возможные риски для безопасности. Сшивание OCSP предполагает отправку конфиденциальной информации открытым текстом по сети, что может создать потенциальные риски для безопасности. Например, злоумышленник может перехватить и изменить сшитый ответ, что приведет к ложному чувству безопасности у клиента.
  • Зависимость от центра сертификации. Сшивание OCSP требует, чтобы веб-сервер получил сшитый ответ от сервера OCSP центра сертификации. Если OCSP-сервер ЦС не работает или испытывает проблемы, веб-сервер не сможет предоставить корректный сшитый ответ.
  • Проблемы с кэшированием. Ответы на сшивание OCSP кэшируются клиентами и серверами, что может создать проблемы, если кэш не обновляется регулярно. Если сертификат был отозван после того, как ответ на сшивание был записан в кэш, клиент может продолжать доверять сертификату до тех пор, пока кэш не будет обновлен.

Какие браузеры поддерживают сшивание OCSP?

Большинство современных веб-браузеров, таких как Chrome, Firefox, Safari и Microsoft Edge, поддерживают сшивание OCSP. Однако некоторые старые или менее распространенные браузеры могут не поддерживать его, или уровень поддержки может варьироваться в зависимости от конкретной версии и конфигурации.


Как проверить, включено ли на Вашем сервере сшивание OCSP?

Вы можете использовать онлайн-инструмент или утилиту командной строки, например, OpenSSL, чтобы проверить, включено ли на сервере сшивание OCSP по умолчанию. Точные шаги для этого зависят от типа используемого Вами сервера. В следующем разделе мы дадим инструкции о том, как проверить статус сшивания OCSP и включить его в Windows, Apache и Nginix.


Как включить сшивание OCSP?

Ниже мы привели инструкции по включению сшивки OCSP на всегда популярных серверах Windows, Apache и Nginx.

Включите сшивание OCSP в Windows

Сшивание OCSP включено по умолчанию в Windows Server 2008 и более поздних версиях. Если Вы используете более раннюю версию Windows Server, включение сшивки OCSP невозможно. Пожалуйста, обновите Windows 2008 или более позднюю версию.


Включите сшивание OCSP на Apache

Apache поддерживает сшивание OCSP, начиная с Apache HTTPD Web Server 2.3.3+. Если Вы не знаете, какая версия у Вас установлена, воспользуйтесь следующими командами:

apache2 -v
httpd -v

Далее проверьте, включен ли OCSP. Выполните следующие действия:

  1. В OpenSSL введите следующую команду:

    openssl.exe s_client -connect [yourdomain .com]:443 -status

    Если OCSP включен, Вы получите следующий ответ в разделе “Данные ответа OCSP”: “Статус ответа OCSP: успешно (0x0)”. Если OCSP не включен, Вы не увидите никаких данных ответа OCSP. В этом случае убедитесь, что Ваш промежуточный сертификат установлен правильно.
  2. Проверьте, успешно ли Ваш сервер Apache подключился к серверу OCSP. Выполните приведенную ниже команду:

    curl ocsp.digicert.com/ping.html
  3. Чтобы включить сшивание OCSP, Вам необходимо отредактировать файл конфигурации виртуального хоста для Вашего сайта (your-domain.com-ssl.conf) с помощью выбранного Вами редактора. Файл конфигурации обычно находится в следующей директории: etc/apache2/sites-available/your-domain.com-ssl.conf
  4. Откройте этот файл и внесите следующие изменения:
    • Добавьте следующие строки внутри тегов <VirtualHost>:

      SSLUseStapling on
      SSLStaplingResponderTimeout 5
      SSLStaplingReturnResponderErrors off

    • Добавьте строку внутри тегов, указывающую на файл цепочки доверенных сертификатов. Он должен содержать промежуточный и корневой сертификаты по порядку:

      SSLCACertificateFile /etc/apache2/ssl/full_chain.pem
    • Добавьте следующую строку за пределами тегов <VirtualHost>:

      SSLStaplingCache shmcb:/var/run/ocsp(128000)
  5. Проверьте свою конфигурацию:

    apachectl -t
  6. Перезапустите сервер Apache

    apachectl restart

Включите сшивание OCSP на NGINX

Сшивание OCSP доступно на NGINX 13,7 или более поздней версии. Проверьте версию Вашего веб-сервера NGINX:
nginx-v

Используйте следующие командные строки OpenSSL OCSP stapling:

  1. Проверьте, включено ли сшивание OCSP. В OpenSSL выполните следующую команду:

    openssl s_client -connect [yourdomain .com]:443 -status
  2. Если OCSP включен, в разделе “Данные ответа OCSP” должно быть написано: Статус ответа OCSP: успешно (0x0)
  3. Если он не включен, Вы не увидите никаких данных ответа OCSP. Если Вы не получаете подтверждения того, что OCSP включен, воспользуйтесь этим руководством по устранению неполадок.
  4. Чтобы включить сшивание OCSP, сначала отредактируйте файл конфигурации серверных блоков для Вашего сайта (или nginx.conf, если серверные блоки не используются):

    nano /etc/nginx/sites-enabled/my-domain.com-ssl.conf

    или

    nano /etc/nginx/nginx.conf

    Примечание: Если Вам нужно включить сшивание OCSP только на одном блоке сервера, это должен быть “default_server”. Если Вам нужно включить его на нескольких серверных блоках, сначала его нужно включить на ‘default_server’. Затем его можно включить на любом другом блоке сервера.
  5. Включите сшивание OCSP и разрешите серверу проверять сшивание OCSP, добавив две строки внутри блока сервера:

    ssl_stapling on;
    ssl_stapling_verify on;

  6. Укажите файл доверенной цепочки сертификатов, который содержит промежуточный и корневой сертификаты в порядке их следования:

    ssl_trusted_certificate /etc/nginx/ssl/full_chain.pem
  7. Проверьте свою конфигурацию:

    sudo service nginx configtest
  8. Перезапустите NGINX:

    sudo service nginx reload

Заключение

Сшивание OCSP – это еще одно полезное дополнение к постоянно растущему списку расширений SSL/TLS. По мере развития Интернета развивается и технология управления сертификатами. Включая ответ с цифровой подписью в начальное рукопожатие, сервер избавляет клиентов от необходимости запрашивать OCSP-ответчик ЦС, что сокращает время ожидания и потенциальные проблемы с конфиденциальностью.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Написано

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