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

Параметры настройки

Spectrum представляет собой глобальный TCP- и UDP-прокси, работающий на пограничных узлах Cloudflare. Он не завершает соединение в смысле прикладного уровня. Однако на уровне L4 Spectrum действительно завершает TCP- и UDP-сокеты в обоих направлениях. Полезные данные L4 в TCP-сегментах и UDP-дейтаграммах передаются в обе стороны без изменений.

Это означает, что Spectrum не проверяет, не изменяет и не повышает протоколы уровня приложений. Например, Spectrum не может преобразовать HTTP-соединение в HTTPS, добавить HTTP-заголовки или применить правила WAF к TCP-трафику. Чтобы добавить функциональность уровня L7, такую как CDN, Workers или Bot Management, задайте тип приложения к HTTP/HTTPS.

Сведения о распространённых проблемах и их устранении см. в Устранение неполадок Spectrum.

Тип приложения

Тип приложения определяет протокол, по которому данные передаются от периферийной сети к вашему источнику. Выберите TCP/UDP если требуется проксировать запросы напрямую на источник. Если вы хотите настроить такие продукты, как CDN, Workers или Bot management, выберите HTTP/HTTPS. В этом случае трафик направляется через конвейер обработки Cloudflare, а не подключается напрямую к вашему источнику.

IP-адреса

При создании приложения Spectrum ему присваивается уникальный адрес IPv4 и IPv6, либо приложение можно настроить только на IPv6. Эти адреса не статические и могут со временем меняться. Лучше всего проверять текущие адреса через DNS: имя DNS приложения Spectrum всегда возвращает IP-адреса, которые в данный момент закреплены за этим приложением.

Адреса анонсируются по технологии anycast из всех дата-центров Cloudflare, за исключением дата-центров в Китае.

SMTP

Spectrum может выступать в роли TCP-балансировщика нагрузки перед SMTP-сервером, но не будет действовать как промежуточный почтовый сервер. Вместо этого Spectrum передает данные напрямую на источник. IP-адрес клиента, указанный в письме, будет пограничным IP-адресом Cloudflare. Если почтовому серверу нужно знать настоящий IP-адрес клиента, он должен использовать Proxy Protocol, чтобы получить исходный IP-адрес от Cloudflare. Cloudflare рекомендует включать Proxy Protocol для приложений, настроенных на проксирование SMTP.

SMTP-серверы могут выполнять ряд проверок серверов, пытающихся отправить через них сообщения. Эти проверки предназначены для отсеивания запросов от нелегитимных серверов.

Сообщения могут быть отклонены, если:

У приложений Spectrum нет записей обратного DNS.

Кроме того, SMTP-серверы могут выполнять DNS-поиск для нахождения MX-записей домена. Сообщения с вашего сервера могут быть отклонены, если MX-запись вашего домена связана с приложением Spectrum, поскольку IP-адрес сервера не будет совпадать с IP-адресом Spectrum.

Порты

Cloudflare поддерживает все TCP-порты.

Диапазоны портов

Приложения Spectrum можно настроить на проксирование трафика в диапазонах портов.

Для прямых источников:

{
	"protocol": "tcp/1000-2000",
	"dns": {
		"type": "CNAME",
		"name": "range.example.com"
	},
	"origin_direct": ["tcp://192.0.2.1:3000-4000"]
}

Для DNS-источников:

{
	"protocol": "tcp/1000-2000",
	"dns": {
		"type": "CNAME",
		"name": "range.example.com"
	},
	"origin_dns": {
		"name": "origin.example.com",
		"ttl": 1200
	},
	"origin_port": "3000-4000"
}

Количество портов в диапазоне портов источника должно совпадать с количеством портов, указанных в protocol поле. Подключения к порту в диапазоне портов на периферийной сети будут проксироваться на соответствующий порт со смещением в диапазоне источника. Например, в приведенных выше конфигурациях подключение к range.example.com:1005 будет проксироваться на порт 3005 на источнике.

IP Access rules

Если IP Access rules включены для приложения Spectrum, Cloudflare будет учитывать правила IP Access, настроенные для этого домена. Для приложений Spectrum Cloudflare учитывает только правила, созданные для конкретных IP-адресов, блоков IP, стран или ASN. Spectrum также учитывает только правила, созданные с действиями allow или block.

Argo Smart Routing

После включения Argo Smart Routing для вашего приложения трафик будет автоматически направляться по самому быстрому и надежному доступному сетевому пути. Argo Smart Routing доступен для приложений TCP и UDP (в бета-версии).

Источник в виртуальной сети

Приложения Spectrum могут маршрутизировать origin_direct трафик к приватному источнику через Cloudflare Tunnel виртуальная сеть. Задайте virtual_network_id в приложении на идентификатор виртуальной сети, в пределах которой маршрутизируется IP-адрес источника. Трафик к приложению доставляется через коннектор, связанный с этой виртуальной сетью, обычно Cloudflare Tunnel или Cloudflare WAN (ранее Magic WAN) подключение.

Инструкции по созданию виртуальной сети и добавлению маршрута, охватывающего IP-адрес источника, см. в Управление виртуальными сетями и Подключите IP/CIDR.

Следующие ограничения действуют, когда virtual_network_id задано:

Коды ошибок валидации, возвращаемые при нарушении этих ограничений, см. в Коды ошибок.

Источники в виртуальной сети Spectrum предназначены только для TCP- и UDP-трафика. Для HTTP- и HTTPS-трафика к частным источникам используйте Application Services for Private Origins, который обеспечивает WAF, кеширование CDN и полный стек прокси Cloudflare.

Edge TLS Termination

Если включить Edge TLS Termination для приложения Spectrum Cloudflare будет шифровать трафик приложения на периферийной сети Cloudflare. Переключатель Edge TLS Termination применяется только к приложениям TCP.

Spectrum предлагает три режима завершения TLS-соединения: 'Flexible', 'Full' и 'Full (Strict)'.

Режим 'Flexible' завершает соединение с клиентом на границе сети, но не включает TLS от Cloudflare к вашему источнику. Трафик от клиента к Cloudflare передаётся по зашифрованному соединению, а от Cloudflare к источнику нет.

Режим 'Full' означает, что трафик от Cloudflare к источнику также шифруется, но без проверки сертификата. При значении 'Full (Strict)' трафик от Cloudflare к источнику шифруется со строгой проверкой сертификата источника.

Spectrum поддерживает версии TLS 1.1, TLS 1.2 и TLS 1.3.

Управлять этим можно через приложение Spectrum в панели управления Cloudflare или с помощью Конечная точка Spectrum API.

Origin TLS Termination

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

Наборы шифров ниже перечислены в том порядке, в котором они указаны в ClientHello, что сообщает источнику наш приоритет. Клиенты не могут изменять наборы шифров, которые использует Spectrum.

Поддерживаемые наборы шифров по протоколам

Название в OpenSSL TLS 1.1 TLS 1.2 TLS 1.3
AEAD-AES128-GCM-SHA2561 ❌ ❌ ✅
AEAD-AES256-GCM-SHA3841 ❌ ❌ ✅
AEAD-CHACHA20-POLY1305-SHA2561 ❌ ❌ ✅
ECDHE-ECDSA-AES128-GCM-SHA256 ❌ ✅ ❌
ECDHE-RSA-AES128-GCM-SHA256 ❌ ✅ ❌
ECDHE-RSA-AES128-SHA ✅ ✅ ❌
AES128-GCM-SHA256 ❌ ✅ ❌
AES128-SHA ✅ ✅ ❌
AES256-SHA ✅ ✅ ❌

Сноски

  1. Хотя TLS 1.3 использует то же пространство наборов шифров, что и предыдущие версии TLS, наборы шифров TLS 1.3 определяются иначе: указываются только симметричные шифры, поэтому их нельзя использовать с TLS 1.2. Аналогично, наборы шифров TLS 1.2 и более ранних версий нельзя использовать с TLS 1.3 (RFC 8446 ↗). BoringSSL также жёстко задаёт порядок предпочтения шифров для TLS 1.3. См. Наборы шифров TLS 1.3 для подробностей. ↩ ↩2 ↩3