匿名化 nginx 日志的最佳方法

匿名化 nginx 日志的最佳方法

我正在寻找一种匿名化 nginx 日志(错误日志和访问日志)的方法,它应该具有以下属性:

  • 无法找到用户的 IP 地址

  • 应该有办法知道该网站有多少不同的用户

地理位置跟踪很好但不是必需的。

我的第一个想法是创建 IP 地址的哈希值,但考虑到大多数 IP 都是 IP4,因此大约有 40 亿个选项,可以很容易地进行逆向。

是否存在现有的解决方案或策略以及如何实施它们?

答案1

这里他们将 IP 地址映射到缩短版本:

https://stackoverflow.com/questions/6477239/anonymize-ip-logging-in-nginx

我个人会使用带有匿名 IP 的 Google Analytics 进行所有计数、跟踪等,然后从日志中完全删除 IP。

https://developers.google.com/analytics/devguides/collection/analyticsjs/ip-anonymization

ga('set', 'anonymizeIp', true);

答案2

模块ipscrub让您记录使用临时盐散列的 IP 地址。

但是,这无助于满足计算不同用户的第二个要求,因为哈希值时常会发生变化,所以如果您计算不同的哈希值,则会计数过多。

答案3

您可以使用自己的日志格式http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format使用自定义变量代替 $remote_addr,它几乎可以是任何内容。

相关内容