ubuntu

如何在Ubuntu上安全运行MongoDB

小樊
45
2025-05-20 05:35:39
栏目: 云计算

在Ubuntu上安全运行MongoDB需要考虑多个方面,包括安装、配置、用户认证、网络限制、日志记录等。以下是一些关键步骤:

安装MongoDB

  1. 导入公钥
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  1. 创建源列表文件
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
  1. 更新源
sudo apt-get update
  1. 安装MongoDB
sudo apt-get install -y mongodb-org

配置MongoDB

  1. 创建数据目录
sudo mkdir -p /data/db
sudo chown -R mongodb:mongodb /data/db
  1. 编辑配置文件
sudo nano /etc/mongod.conf

在文件中添加或修改以下内容:

security:
  authorization: enabled
net:
  bindIp: 127.0.0.1
  port: 27017
  1. 重启MongoDB服务
sudo systemctl restart mongod

启用用户认证

  1. 连接到MongoDB Shell
mongo
  1. 切换到admin数据库
use admin
  1. 创建管理员用户
db.createUser({
  user: "yourAdminUsername",
  pwd: "yourAdminPassword",
  roles: [ { role: "root", db: "admin" } ]
})
  1. 退出MongoDB Shell
exit()

限制网络访问

只允许本机访问MongoDB,修改MongoDB配置文件,如果是Debian/Ubuntu,配置文件在 /etc/mongod.conf,然后查找 net 关键字:

net:
  port: 27017
  bindIp: 127.0.0.1

启用TLS/SSL加密

生成或获取有效的SSL证书和私钥文件,在mongod.conf配置文件中添加以下参数:

net:
  ssl:
    mode: requireSSL
    PEMKeyFile: /path/to/your/ssl.pem
    CAFile: /path/to/your/ca.pem

重新启动MongoDB服务使配置生效。

审计日志

在mongod.conf配置文件中添加以下参数以启用审计日志记录所有用户的操作:

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true

定期备份数据

定期备份MongoDB的数据,确保备份数据的完整性和可恢复性。

安全更新和补丁管理

定期检查MongoDB的安全更新和补丁,及时应用最新的安全补丁以修复已知漏洞。

通过以上步骤,可以显著提高MongoDB的安全性,保护数据库中的数据不被未经授权的用户访问或修改。

0
看了该问题的人还看了