什么是通信日志
互联网上的通信不一定会在当场完全消失。
网站、服务器、DNS、通信运营商、路由器、防火墙等位置,有时会留下与通信有关的记录。
这种通信记录通常称为“通信日志”。
通信日志不仅可能包含通信内容本身,也可能包含通信时刻、连接源 IP 地址、连接目标、被访问的 URL、浏览器信息、、DNS 查询等通信周边信息。
思考匿名性时,仅看“通信内容是否加密”是不充分的。
因为即使通信内容无法读取,伴随通信产生的元数据也可能成为跟踪线索。
通信日志会留在哪里
通信日志是与通信有关的记录。
例如访问网站时,Web 服务器侧可能记录“什么时候”“从哪个 IP 地址”“访问哪个 URL”“用什么样的浏览器信息”进行了访问。
不过,通信日志并不是在所有环境中都以相同方式留下。记录哪些信息,会因服务器设置、应用设计、使用的云服务、网络结构、日志保存方针而变化。
重要的是,互联网通信有多个观察点。网站侧、DNS、通信运营商、路由器、公司内网络、云基础设施等,各个不同位置都可能留下不同种类的日志。
| 可能留下日志的位置 | 可能记录的信息 | 主要目的 |
|---|---|---|
| Web 服务器 | 访问时刻、IP 地址、URL、User-Agent、参照来源等 | 访问分析、故障处理、攻击检测 |
| 应用 | 登录历史、操作历史、错误内容、账号 ID 等 | 不正当使用对策、服务运营 |
| DNS 解析器 | 查询的域名、查询时刻、查询源信息等 | 名称解析、网络管理 |
| 通信运营商 | 连接时刻、分配的 IP 地址、通信量、连接目标信息的一部分等 | 线路运营、连接管理 |
| 路由器、防火墙 | 连接目标、通信量、被阻断的通信、内部终端信息等 | 网络管理、安全对策 |
为什么会留下日志
日志并不是只为了监视使用者而存在。很多情况下,日志是为了稳定运营服务和网络而记录的。
网站发生错误时,管理员可以通过查看日志,调查在哪个 URL、哪个时间段、发生了什么错误。
另外,发生不正当登录、大量访问、漏洞扫描、恶意软件感染、疑似信息泄露等情况时,日志也是调查的重要材料。
| 目的 | 使用方式 | 例 |
|---|---|---|
| 故障处理 | 调查错误或停止的原因 | 确认特定 URL 是否 500 错误增加 |
| 安全对策 | 检测可疑访问 | 确认短时间内是否有大量登录尝试 |
| 不正当使用对策 | 调查违反条款或攻击线索 | 确认异常请求或不自然访问源 |
| 服务改善 | 把握使用情况 | 确认经常浏览的页面或访问较多的时间段 |
日志是保护服务的基本机制。另一方面,日志可能包含与使用者行为有关的信息,因此根据管理方式,也会成为隐私风险。
网站侧留下的日志
访问网站时,Web 服务器侧可能留下访问日志。
代表性的访问日志包含访问源 IP 地址、访问时刻、HTTP 方法、URL、状态码、User-Agent、参照来源等。
URL 示例是下面这样的。
URL 示例 : https[:]//example.com/article/network-log
这里的 example.com 是说明中常用的示例域名。
网站侧即使使用 HTTPS 通信,也会接收被访问 URL 的路径和查询、Cookie、发送的请求信息。HTTPS 是让通信路径上不容易读取内容的机制,并不会让访问目标网站自身无法接收请求信息。
不过,Web 服务器接收的信息,与实际作为日志保存的信息并不相同。Cookie、请求正文等,可能根据服务器或应用设置被记录,也可能不被记录。
| 信息 | 内容 | 注意点 |
|---|---|---|
| 访问时刻 | 何时访问 | 有时成为按时间与其他日志照合的线索 |
| 访问源 IP 地址 | 从哪个 IP 地址连接 | 经由 CDN 或代理时,直接连接源可能是中继服务器 |
| URL | 访问了哪个页面或 API | 查询字符串中可能包含标识符 |
| User-Agent | 浏览器、OS、应用种类等 | 有时成为推测使用环境的材料 |
| Cookie | 网站让浏览器保存并发送的识别信息 | 有时用于识别同一浏览器的再访问或登录状态 |
| 参照来源 | 从哪个页面移动而来 | 可能因 Referrer-Policy 等不发送,或只发送一部分 |
| 状态码 | 请求结果 | 可从 200、301、403、404、500 等知道处理结果 |
如果网站使用 CDN、负载均衡器、反向代理,Web 服务器看到的连接源 IP 地址有时不是实际使用者,而是中继服务器的 IP 地址。这种情况下,原始客户端 IP 地址可能记录在 X-Forwarded-For 等头或 CDN 侧日志中。
应用和认证系统中留下的日志
服务器侧日志不只有 Web 服务器访问日志。
登录功能、支付功能、管理画面、API、数据库、错误监控工具等,也可能留下与使用者操作或系统行为有关的记录。
例如,具有登录功能的服务可能记录下面这些信息。
- 登录成功
- 登录失败
- 密码变更
- 双因素认证尝试
- 会话签发
- 账号设置变更
- 访问管理画面
提供 API 的服务,有时会记录哪个 API 端点,在什么时刻,被哪个账号或 IP 地址发送了请求。
这些日志用于检测不正当登录、账号劫持、权限滥用、异常 API 使用等。
通信运营商侧可能留下的记录
连接互联网时,使用者通信通常会经过通信运营商或线路运营商的网络。
通信运营商侧可能留下与连接有关的记录,例如签约线路何时连接、被分配了哪个 IP 地址、通信量有多少。
家庭线路或移动线路中,分配给使用者的 IP 地址有时不是固定的,而是会随时间变化。因此,“某个时刻使用这个 IP 地址的是哪条签约线路”这一信息,与通信运营商侧记录有关。
另外,在移动线路和部分线路中,会使用许多使用者共享一个全局 IP 地址的机制。这种情况下,不仅 IP 地址,时刻和端口号等信息也可能关系到连接识别。
不过,通信运营商侧有记录,与任何人都能自由查看这些信息,是两回事。通信运营商日志通常不是普通使用者可以自由浏览的东西。
与 DNS 有关的记录
访问网站时,浏览器和 OS 需要把域名转换成 IP 地址。这个机制称为 DNS。
例如访问下面的 URL 时,终端会查询与 example.com 对应的 IP 地址。
URL 示例 : https[:]//example.com
DNS 查询记录中,可能留下从哪个终端或网络、对哪个域名进行了查询。
DNS 日志不是记录 Web 页面正文本身的东西。但是,它可能表示“试图访问哪个域名”这一信息。
需要注意的是,DNS 查询记录在哪里,会因环境而变化。使用通信运营商 DNS 时,查询可能到达通信运营商侧 DNS 解析器。另一方面,如果浏览器或 OS 使用其他 DNS 解析器或加密 DNS,查询目标就会改变。
也就是说,思考 DNS 日志时,需要看“查询了哪个 DNS 解析器”。
路由器和防火墙日志
通信日志并不只留在网站或通信运营商处。
家用路由器、公司或学校的网络设备、云上的防火墙、代理服务器、 网关等,也可能留下与通信有关的记录。
组织内部网络中,有时会记录哪台终端在什么时候连接了哪个外部服务器。这用于调查恶意软件感染、不正当访问、信息泄露、内部违规等。
服务器侧也可能存在 OS 认证日志、防火墙日志、SSH 日志、应用日志、云审计日志等多种日志。
例如,服务器管理中下面这些日志很重要。
| 日志种类 | 可能记录的内容 | 使用方式 |
|---|---|---|
| 认证日志 | 登录成功、登录失败、连接源 IP 地址等 | 确认不正当登录或暴力破解攻击 |
| 防火墙日志 | 被允许或阻断的通信、端口号、连接目标等 | 检测可疑通信或攻击 |
| 代理日志 | 内部终端对外部网站的访问 | 组织内通信管理和调查 |
| 云审计日志 | 管理操作、API 执行、权限变更等 | 追踪设置变更或权限滥用 |
| 应用日志 | 错误、操作历史、处理结果等 | 故障处理或不正当使用调查 |
这样,通信日志并不只是“访问网站的记录”,而是跨越网络和系统整体存在。
HTTPS 与日志的关系
HTTPS 是用于加密通信内容,并确认通信对象是否是预期对象的重要机制。
但是,并不是因为使用 HTTPS,所有通信信息就都不会被任何人知道。
HTTPS 主要保护的是通信路径上的第三方可见的内容。例如,表单中输入的内容、页面正文、许多 HTTP 头、URL 的路径和查询等,通常在通信路径上不容易被读取。
另一方面,访问目标 Web 服务器会解密并处理请求。因此,网站侧会收到被访问的 URL、Cookie、User-Agent、登录信息、发送的表单内容等。
另外,在通信路径上,也可能观察到连接时刻、连接源 IP 地址、连接目标 IP 地址、通信量、TLS 连接相关的一部分信息等。
也就是说,HTTPS 非常重要,但它不是消除所有日志问题的机制。
| 观察方 | 可能看到的信息 | 不容易看到的信息 |
|---|---|---|
| 网站侧 | URL、Cookie、User-Agent、发送内容、登录操作等 | 不想让通信路径上第三方看到的内容 |
| 通信路径上的第三方 | 连接源 IP、连接目标 IP、通信时刻、通信量等 | 页面正文、表单内容、URL 的路径和查询等 |
| DNS 解析器 | 查询的域名、查询时刻等 | Web 页面正文或具体操作内容 |
| 路由器、防火墙 | 连接目标、通信量、允许或阻断结果等 | HTTPS 内部正文和许多 HTTP 头 |
日志并不一定是坏东西
从匿名性和隐私角度看,通信日志是需要注意的信息。但是,日志本身并不是坏东西。
没有日志,就难以调查服务器故障原因、检测不正当访问、应对账号劫持、调查恶意软件感染、稳定运营服务。
重要的是日志为了什么目的保存、记录到什么范围、保存多久、谁可以访问。
存在日志和任何人都能自由查看日志是两回事。适当管理的日志是保护服务的重要信息,但过度保存的日志或管理不充分的日志,会成为隐私风险。
匿名性中日志会成为线索
思考匿名性时,只看“通信内容是否加密”是不充分的。
即使通信内容无法读取,通信时刻、连接源 IP 地址、连接目标、DNS 查询、Cookie、User-Agent、参照来源等信息,也可能以其他形式被记录。
这些信息单独看,有时无法直接识别个人。但是,多条记录组合起来后,可能成为推测同一使用者特征、访问路径、行为时间线、连接源网络等的材料。
| 信息 | 可能知道什么 | 匿名性上的注意点 |
|---|---|---|
| 访问时刻 | 何时通信 | 可能按时间与其他记录照合 |
| IP 地址 | 从哪个网络连接 | 有时成为推测线路、地区、组织等的材料 |
| DNS 查询 | 试图访问哪个域名 | 即使不知道页面正文,也会成为连接目标线索 |
| Cookie | 是否来自同一浏览器 | 有时用于识别再访问或登录状态 |
| User-Agent | 浏览器和 OS 种类 | 有时作为使用环境特征处理 |
| 参照来源 | 从哪个页面而来 | 有时可以知道移动路径的一部分 |
| URL 查询 | 可能包含搜索词、标识符、会话信息等 | 留在服务器侧日志时,会成为行为内容线索 |
在匿名性中,“通信内容不被读取”和“通信痕迹不留下”不是同一回事。
即使通信内容被加密,通信周边信息也可能留下。因此,思考匿名性时,不仅要考虑加密,还需要整理哪些位置可能留下什么日志。
总结
通信日志是与通信有关的记录。
网站、应用、DNS、通信运营商、路由器、防火墙、云基础设施等位置,都可能留下与通信有关的各种信息。
代表性信息包括访问时刻、访问源 IP 地址、URL、User-Agent、Cookie、参照来源、DNS 查询、连接目标、通信量、认证历史、操作历史等。
日志用于故障处理、安全对策、不正当使用调查、服务改善等。因此,日志本身是安全运营互联网服务的重要机制。
另一方面,从匿名性角度看,日志可能成为跟踪线索。因为即使通信内容被加密,连接源、连接目标、时刻、DNS 查询、Cookie、User-Agent 等也可能以其他形式被记录。
理解通信日志的基本后,就更容易整理互联网上可能记录什么。并且,思考匿名性时,也能不仅考虑“通信内容是否可见”,还考虑“通信周边信息可能留在哪里”。