Ubuntu上Node.js安全性增强实操清单
一 系统与基础加固
二 Node.js运行环境与依赖管理
三 网络与应用层防护
四 运行时隔离与系统级防护
五 快速检查清单与常用命令
| 检查项 | 关键操作 | 常用命令或配置 |
|---|---|---|
| 系统与内核补丁 | 自动安装安全更新 | sudo apt install unattended-upgrades && 编辑 /etc/apt/apt.conf.d/50unattended-upgrades |
| 防火墙 | 仅放行22/80/443 | sudo ufw allow 22,80,443/tcp && sudo ufw enable |
| SSH安全 | 密钥登录、禁用root、改端口、超时 | /etc/ssh/sshd_config:Port 2222,PermitRootLogin no,PasswordAuthentication no,ClientAliveInterval 300 |
| Node版本与权限 | nvm管理、非root运行 | nvm install 23 && nvm use 23;应用以nodeuser运行 |
| 依赖安全 | 审计与修复 | npm audit fix;npm outdated;配合 Snyk |
| HTTPS与反向代理 | TLS终止、静态与压缩 | certbot;Nginx server { listen 443 ssl; proxy_pass http://127.0.0.1:3000; } |
| 请求治理与头部 | 限流、CORS、安全头 | express-rate-limit;cors whitelist;helmet |
| 日志与监控 | 集中日志与告警 | tail -f /var/log/syslog;PM2日志;Bunyan/Datadog/New Relic |