Linux服务器JS日志安全实践
一 风险与影响
二 日志收集与定位
grep -i "error" /var/log/sysloggrep -i "failed" /var/log/nginx/error.logtail -f /var/log/nodejs/app.log | grep "ERROR"三 防护与配置清单
chmod 640 logs/app.log,chown app:app logs/。/var/log/nodejs/*.log四 监测 告警与响应
五 快速检查清单
| 检查项 | 推荐做法/命令示例 |
|---|---|
| 权限最小化 | chmod 640 logs/app.log; chown app:app logs/ |
| 目录隔离 | 日志目录不在 Web 根下;Nginx 配置禁止访问 location /logs { deny all; } |
| 敏感信息脱敏 | 日志前处理遮蔽 `password |
| 日志轮转 | 使用 logrotate 按日/大小轮转、压缩、保留 30 天 |
| 传输加密 | 全站启用 HTTPS |
| 集中采集 | Filebeat → ELK/Splunk,统一索引与保留策略 |
| 运行时安全 | 使用 winston/morgan/pino;生产不输出堆栈;启用 helmet 安全头 |
| 依赖安全 | 定期 npm audit / npm outdated |
| 完整性监控 | Tripwire 对日志目录做基线校验与告警 |
| 告警与响应 | SIEM 规则 + IDS/IPS,告警即处置与取证闭环 |