bur*_*rsk 6 nginx log-files logging web-server gdpr
欧盟的通用数据保护条例 (GDPR) 和德国的 DSGVO 实施在涉及个人相关数据(例如 IP 地址)时非常严格。但是这个问题是不是对GDPR,但如何实现与nginx的HTTP访问日志的监管,同时保持“识别”用户旅途中的匿名用户(边境从其他的用户旅程)的可能性。
我目前的实现是,我根本不记录远程 IP 和端口。我清除了上游/代理/等的环境变量,并且 simple 没有带有访问日志的远程 IP 和端口信息。
现在我面临的问题是我需要遵循用户旅程的路径。我只是没有任何方法可以“识别”哪些请求在哪个用户旅程中。我想指出的是,我也不使用 cookie 等。
“识别”“匿名用户”的传统方法是查找远程 IP 和日期信息。在同一天,同一个远程 IP 很可能是同一个用户。但是,如上所述,我不记录远程 IP 和端口信息。而且我现在也不想要。
我目前的做法是使用远程端口和请求日期散列远程 IP 地址。我会有日志的日期信息而不是远程端口,所以我不能 - 没有强力的蛮力 - 恢复远程 IP,一个与个人相关的数据。这种方法将有助于回馈一定程度的用户旅程识别,这对我有很大帮助。
完成此方法的一般工作流程是:
md5_hex("$remote_addr $remote_port $current_date"))执行散列操作,并将散列存储在新变量中(例如$remote_ip_anonymous),由于当前日期 salt,即使远程 IP 和远程端口相同,哈希也会改变。当远程端口改变时,它会改变。因此,这对于 GDPR 或至少是最低的数据安全类别应该没问题,而实际的远程 IP 将是具有 GDPR 的市长数据安全类别。
理论已经足够了……我将如何实现这种远程 IP 匿名化?我是否必须使用 nginx Perl 模块或 Lua 模块,或者是否有另一种(更快)方法来获取该哈希并将其存储到 nginx 变量中?
欧盟的《通用数据保护条例》(GDPR) 是关于“在个人数据处理方面保护自然人以及与个人数据自由流动相关的规则”。这与如何破坏 IT 系统无关。最好的方法是冷静下来,看看在个人数据保护方面什么是可以的,什么是不可以的。
Web 服务器处理浏览器/客户端的 IP 地址在技术上至关重要。如果没有这种能力,网络服务器将无法将响应发送回浏览器/客户端。
避免处理个人数据是没有选择的。(实际上当然有选择。例如,TOR 浏览器或使用匿名代理都是一个选择。但这必须由客户端完成。)
关于您的网络服务器和 GDPR 投诉设置,您应该:
然而,Nginx 中有一种匿名 IP 日志记录的正确方法。我不会推荐它,但它确实有效。
如何删除 7 天后的日志文件:
安装日志轮换服务后,您必须按如下方式更改 Nginx 配置文件...
vim /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi \
endscript
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3634 次 |
| 最近记录: |