INTEGRITY Документация

Клиентские сертификаты (mTLS)

Стандартный TLS подтверждает клиенту подлинность сервера. Mutual TLS (mTLS) добавляет вторую проверку: сервер, в свою очередь, подтверждает подлинность клиента с помощью клиентского сертификата. Это позволяет ограничить доступ только для устройств или служб, которые предъявляют действительный сертификат.

Используйте инфраструктуру открытых ключей (PKI) Cloudflare, чтобы создавать клиентские сертификаты, или использование собственного центра сертификации (BYOCA).

Взаимный TLS (mTLS) аутентификация представляет собой распространенную практику безопасности: она использует клиентские сертификаты для обеспечения взаимной защищенности и доверия трафика между клиентом и сервером. mTLS также позволяет запросам, не прошедшим аутентификацию через поставщика удостоверений, например от устройств интернета вещей (IoT), подтвердить, что они могут обращаться к нужному ресурсу.


Как это работает

Если у имени хоста есть mTLS включён, Cloudflare требует от подключающихся клиентов предъявить действительный сертификат. Клиентские сертификаты устанавливаются на устройствах или в сервисах, которым нужно предоставить доступ.

Cloudflare проверяет клиентские сертификаты по CA, заданным на уровне аккаунта. Поскольку проверка выполняется на уровне аккаунта, одни и те же сертификаты работают для нескольких доменов в рамках вашего аккаунта, если mTLS включён для каждого имени хоста (например, host.example.com, name.example.net, secure.anotherdomain.test).

На уровне аккаунта удостоверяющими центрами (CA) могут быть:

Затем Cloudflare сохраняет результат проверки в поле cf.tls_client_auth.cert_verified:


Сценарии использования

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

Помимо привязки mTLS для Workers, любая из перечисленных выше реализаций может использовать собственный удостоверяющий центр вместо управляемого Cloudflare. Подробнее см. Bring your own CA.

mTLS и Workers

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

flowchart LR
        accTitle: mTLS from client to worker versus mTLS from worker to external service
        accDescr: Diagram showing two different implementations that can be considered for mTLS with Cloudflare Workers.
        A[Client] <--App security mTLS--> B((Cloudflare))<--mTLS worker binding--> C[(External service)]

Дополнительные ресурсы