在CentOS上设置MongoDB的安全措施主要包括以下步骤:
/etc/mongod.conf
,在 security
部分设置 authorization: enabled
。sudo systemctl restart mongod
。连接到MongoDB shell:mongo -u root -p --authenticationDatabase "admin"
。
在 admin
数据库中创建一个管理员用户。例如:
use admin
db.createUser({
user: "admin",
pwd: "your_strong_password",
roles: [ { role: "root", db: "admin" } ]
})
连接到MongoDB shell:使用管理员账户连接到MongoDB shell。
为现有数据库设置密码:切换到需要设置密码的数据库,然后为用户创建密码。例如:
use your_database
db.createUser({
user: "your_username",
pwd: "your_password",
roles: [ { role: "readWrite", db: "your_database" } ]
})
修改配置文件:在 mongod.conf
中设置 bindIp
为你的服务器IP地址,以限制访问。例如,只允许本机访问:
net:
port: 27017
bindIp: 127.0.0.1
重启服务:保存配置文件并重启MongoDB服务。
生成SSL证书:使用OpenSSL生成SSL证书和密钥文件。例如:
openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes -out mongodb-cert.crt -keyout mongodb-cert.key
配置MongoDB使用SSL:在 mongod.conf
中添加以下配置并重启服务。例如:
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/mongodb-cert.pem
使用防火墙:配置防火墙(如iptables或ufw)以限制对MongoDB端口的访问。例如:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
sudo service iptables save
创建专用用户:为运行MongoDB的用户创建专用账户,并限制其权限。例如:
sudo useradd -r -s /sbin/nologin mongodbsudo chown -R mongodb:mongodb /usr/local/mongodb
请注意,上述步骤和配置可能会随着MongoDB版本的更新而发生变化,建议参考最新的MongoDB官方文档进行配置。