Node.js在CentOS上的安全配置包括以下几个方面:
账户安全及权限管理
-
禁用root以外的超级用户:
- 查看口令文件:
cat /etc/passwd
- 锁定不必要的超级账户:
passwd -l <用户名>
- 删除不必要的账号:
userdel username
,groupdel groupname
- 查看口令文件:
-
用户口令设置:
- 生产环境口令要求:包含大写字母、小写字母、数字和特殊字符四种中的三种,长度大于10位
-
root账户自动注销时限:
- 修改
/etc/profile
中的tmout
参数:tmout=300
- 修改
-
禁止su切换为root:
- 编辑
/etc/pam.d/su
文件,增加安全策略
- 编辑
Node.js安装与配置
-
安装Node.js:
- 使用NodeSource安装Node.js:
curl --silent --location https://rpm.nodesource.com/setup_14.x | bash -
- 安装Node.js:
yum install -y nodejs
- 使用NodeSource安装Node.js:
-
全局配置Node.js:
- 设置Node.js的安装路径:在安装时选择自定义路径或在
/etc/profile
中配置NODE_HOME
- 设置Node.js的安装路径:在安装时选择自定义路径或在
防火墙配置
-
使用firewalld配置防火墙:
- 设置防火墙规则:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
- 重启防火墙服务:
systemctl restart firewalld
- 设置防火墙规则:
-
允许必要的端口:
- 允许HTTP(端口80)和HTTPS(端口443)流量:
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
- 允许SSH访问(端口22):
sudo firewall-cmd --add-port=22/tcp --permanent sudo firewall-cmd --reload
- 允许HTTP(端口80)和HTTPS(端口443)流量:
SSL证书管理
-
安装SSL证书:
- 获取SSL证书并解压。
- 将证书的公钥和私钥文件路径指定到Node.js的配置文件中
-
测试SSL证书:
- 使用浏览器访问
https://yourdomain.com
,查看安全锁标志
- 使用浏览器访问
安全更新
- 升级Node.js版本:
- 使用Node Version Manager(nvm)升级Node.js:
nvm install latest nvm use latest
- 验证新版本:
node -v
- 使用Node Version Manager(nvm)升级Node.js:
通过以上配置,可以显著提高Node.js在CentOS上的安全性。建议定期检查和更新配置,以应对新的安全威胁。