gpt4 book ai didi

linux - nginx 从包含特定值的 access_log 中删除 POST

转载 作者:太空宇宙 更新时间:2023-11-04 12:10:53 28 4
gpt4 key购买 nike

如何从 access_logs 中删除某些包含敏感信息的行。信息通过 POST 提供并在 $request_body

中发送

以下方式都失败了:

1>

log_format filter             '[$time_iso8601] $remote_addr "$request" $status $body_bytes_sent $upstream_response_time "$http_referer" "$http_user_agent" $request_body';

set $temp $request;
if ($temp ~* '{\\x22username\\x22:\\x22*.*\\x22,\\x22password\\x22:\\*.*\\x22}') {
set $temp $1password:****$2;
}

access_log /var/log/nginx/access_kibana.log filter if=$request;
proxy_pass http://kibana;

结果:什么都没发生,敏感数据仍在 access_log 中

2>

   set $sensitive $request;
if ($sensitive ~ ("password")) {
set $sensitive $1test:test$2;
}
access_log /var/log/nginx/access_kibana.log filter if=$request;
proxy_pass http://kibana;

这种传统方法在过去可能行得通,但在我的情况下行不通

3> 作品。但完全删除所有 $request_body 日志..

if ($sensitive ~ ("password")) {
set $loggable 0;
}

有没有人有解决这个问题的文档/经验?希望能够在这方面得到教育。提前谢谢你

最佳答案

在你们接受专业建议之前,我将分享解决方案。

访问日志中的日志条目如下所示:

2018-02-27T06:56:10-08:00] 10.10.10.10 - "POST /api/security/v1/login HTTP/1.1" 200 0 0.012 "http://10.10.10.10/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:57.0) Gecko/20100101 Firefox/57.0" {\x22username\x22:\x22user\x22,\x22}

为了从访问日志中仅删除此条目,我们必须搜索包含 api 安全登录名和版本的 POST 条目,并在位置配置中进行设置。

 if ($request ~ "POST \/api\/security\/v1\/login HTTP\/{1,9}.{1,9}") {
set $loggable 0;
}

谢谢你的帮助

关于linux - nginx 从包含特定值的 access_log 中删除 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49027046/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com