首页主机资讯Node.js Linux服务器如何安全配置

Node.js Linux服务器如何安全配置

时间2025-12-05 01:03:04发布访客分类主机资讯浏览463
导读:Node.js Linux 服务器安全配置清单 一 基础系统与账号加固 保持系统与包管理器为最新:Ubuntu/Debian 执行 sudo apt update && sudo apt upgrade;CentOS/RH...

Node.js Linux 服务器安全配置清单

一 基础系统与账号加固

  • 保持系统与包管理器为最新:Ubuntu/Debian 执行 sudo apt update & & sudo apt upgrade;CentOS/RHEL 执行 sudo yum update,及时获取安全补丁。
  • 启用自动安全更新:安装 unattended-upgrades,编辑 /etc/apt/apt.conf.d/50unattended-upgrades 启用安全更新策略。
  • 强化 SSH:禁用 root 登录、仅允许 密钥认证、可修改默认端口、设置空闲超时;云上同时收紧安全组仅放通必要来源 IP。
  • 最小权限运行:创建专用系统用户运行 Node.js,禁止该用户登录 shell;应用仅授予所需文件系统与网络权限。
  • 可选强制访问控制:启用 SELinuxAppArmor 对进程进行域隔离与权限限制。

二 网络与防火墙策略

  • 云安全组与系统防火墙联动:仅开放 22/SSH、80/HTTP、443/HTTPS;如应用端口为 3000,仅在受控网络或回环代理场景临时放通,生产环境建议仅对 127.0.0.1:3000 开放。
  • Ubuntu/Debian 使用 ufw:sudo ufw allow 22/tcp;sudo ufw allow 80/tcp;sudo ufw allow 443/tcp;sudo ufw enable。
  • CentOS/RHEL 使用 firewalld:sudo systemctl start firewalld;sudo firewall-cmd --permanent --add-service=http;sudo firewall-cmd --permanent --add-service=https;sudo firewall-cmd --reload。

三 Node.js 运行时与应用安全

  • 运行时与依赖:使用 nvm 管理版本(如 nvm install --lts),定期执行 npm audit fix、npm outdated,必要时配合 Snyk 监控依赖漏洞;避免全局安装不必要的包。
  • 运行身份与进程管理:以非 root 用户运行,使用 PM2 托管进程(pm2 start app.js --name “my-app”;pm2 save;pm2 startup 生成 systemd 自启)。
  • 传输加密与反向代理:优先用 Nginx 终止 TLS,Node 监听 127.0.0.1:3000;Nginx 配置示例:
    • 监听 80 并反向代理到本地 3000:proxy_pass http://127.0.0.1:3000;设置 Upgrade/Connection 以支持 WebSocket
    • 获取可信证书:使用 Certbot 自动申请与续期(sudo certbot --nginx -d yourdomain.com),证书通常位于 /etc/letsencrypt/live/your-domain.com/(fullchain.pem/privkey.pem)。
  • 安全响应头与 CORS:使用 Helmet 设置 CSP、X-Frame-Options、X-XSS-Protection 等;CORS 仅允许受信源与必要方法/头。
  • 输入校验与速率限制:对请求参数与内容严格校验,使用 express-rate-limit 限制请求频率,防范暴力与滥用。
  • 错误处理与日志:生产环境不暴露堆栈,记录结构化日志(如 JSON),便于审计与告警。

四 快速检查清单与常用命令

  • 版本与依赖:node -v;npm -v;npm audit;npm outdated;必要时 nvm install --lts。
  • 防火墙:ufw status(Ubuntu);firewall-cmd --list-all(CentOS)。
  • 进程与自启:pm2 list;pm2 logs;pm2 startup。
  • Nginx:sudo nginx -t;sudo systemctl restart nginx。
  • HTTPS:sudo certbot renew --dry-run(测试自动续期);证书路径 /etc/letsencrypt/live/your-domain.com/。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Node.js Linux服务器如何安全配置
本文地址: https://pptw.com/jishu/764175.html
Linux中Node.js版本如何选择 ubuntu域名怎么转移流程

游客 回复需填写必要信息