Gateway 支持使用数据包属性对网络协议进行检测、记录日志和过滤。
协议检测仅适用于在流量和 DNS 模式下通过 Cloudflare One Client 连接到 Cloudflare One 的设备。
要开启协议检测:
- 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Traffic policies(流量策略) > Traffic settings(流量设置) > Proxy and inspection settings(代理和检测设置)。
- 打开 Allow protocol detection(允许协议检测)。
您现在可以在网络策略中使用 Detected Protocol 作为选择器。
默认情况下,Gateway 仅通过端口 80 检查 HTTP 流量。此外,如果您开启 TLS 解密,Gateway 将检查通过端口 443 的 HTTPS 流量。
要在 80 和 443 以外的端口上检测并检查 HTTP 和 HTTPS 流量,under Manage HTTP inspection by port, choose Inspect on all ports。
在所有端口上进行 TLS 拦截:当您启用此设置时,Gateway 将尝试在每个端口(不仅是端口 443)上拦截 TLS 流量。这意味着在非标准端口上使用 TLS 的所有应用程序的流量都将被 Gateway 代理拦截。如果您只想为网络策略过滤启用 SNI 检测而不需要完整的 TLS 拦截,则需要为在非标准端口上使用 TLS 的特定应用程序或域名创建 Do Not Inspect(不检测)策略。
在使用默认的 Block 网络策略时,若要使用 HTTP 策略过滤所有端口上的所有 HTTPS 流量,请创建一条网络策略以明确允许 HTTP 和 TLS 流量。
Gateway 支持对以下协议的检测和过滤:
| 协议 | 说明 |
|---|---|
| HTTP | 超文本传输协议 (HTTP/1.1)。 |
| HTTP2 | 超文本传输协议版本 2。 |
| SSH | Secure Shell 协议 —— 远程登录和命令执行。 |
| TLS | 传输层安全。Gateway 使用 TLS 值检测 TLS 1.1 到 1.3 版本。 |
| DCERPC | 分布式计算环境/远程过程调用。 |
| MQTT | 消息队列遥测传输 —— 轻量级物联网消息传送协议。 |
| TPKT | TPKT 通常启动 RDP 会话,因此您可以使用它来识别和过滤 RDP 流量。 |
| IMAP | 互联网邮件访问协议 —— 电子邮件检索。 |
| POP3 | 邮局协议 v3 —— 电子邮件检索。 |
| SMTP | 简单邮件传输协议 —— 电子邮件发送。 |
| MYSQL | MySQL 数据库有线协议。 |
| RSYNC-DAEMON | rsync 守护进程协议。 |
| LDAP | 轻量级目录访问协议。 |
| NTP | 网络时间协议。 |
您可以创建基于协议检测而不是常见端口来过滤流量的网络策略。例如,您可以阻止网络上的所有 SSH 流量,而无需阻止端口 22 或任何其他非默认端口:
| 选择器 | 运算符 | 值 | 操作 |
|---|---|---|---|
| Detected Protocol(检测到的协议) | in | SSH | Block(阻止) |