阅读量:2
一、严格设置日志文件权限
日志文件的权限是基础安全防线,需确保仅授权用户(如Nginx运行的用户)可访问。通常,Nginx以nginx或www-data用户运行,日志目录(如/var/log/nginx)及文件应遵循以下设置:
- 目录权限:设置为
755(所有者可读、写、执行,组和其他用户可读、执行),避免其他用户修改目录结构; - 文件权限:设置为
640(所有者可读、写,组用户可读,其他用户无权限),防止未授权用户读取敏感日志内容; - 所有权确认:使用
chown命令将日志文件所有者设为Nginx运行用户(如sudo chown nginx:nginx /var/log/nginx/*.log)。
例如,针对WordPress站点,可通过find /var/www/html -type f -exec chmod 644 {} \;(文件设为644)和find /var/www/html -type d -exec chmod 755 {} \;(目录设为755)统一权限,再调整日志文件所有权。
二、过滤敏感信息,避免日志泄露
日志中可能包含用户隐私(如Cookie、手机号)、系统路径(如404错误暴露的绝对路径)或业务敏感信息(如未公开API端点),需通过以下方式过滤:
- 自定义日志格式:使用
log_format指令仅记录必要字段,排除敏感信息。例如,定义main格式时,避免包含$request_body(请求体,可能含密码)或$http_cookie(Cookie):log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'; access_log /var/log/nginx/access.log main; - 请求过滤规则:通过
if指令拦截含恶意代码或敏感参数的请求,防止其写入日志。例如,拦截含、eval、shell等字符的请求:if ($request_uri ~* "(\<\?php|\ jindouyun.cn. All Rights Reserved. 筋斗云 版权所有 | 粤ICP备13013545号 | 增值电信业务经营许可证: 粤B1-20215235 |
粤公网安备 44070302000974号
违法和不良信息举报中心 24 小时违法和不良信息举报热线:4006783389,举报邮箱:jubao@jindouyun.cn