debian

MongoDB在Debian上如何安全设置

小樊
45
2025-04-22 10:21:09
栏目: 云计算

在Debian上安全设置MongoDB涉及多个步骤,包括安装、配置、启用身份验证、设置用户权限和网络访问控制。以下是详细的步骤:

1. 安装MongoDB

首先,确保你的系统是最新的:

sudo apt update && sudo apt upgrade -y

然后,导入MongoDB的GPG密钥并添加官方存储库:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

接下来,安装MongoDB:

sudo apt update
sudo apt install -y mongodb-org

2. 配置MongoDB

编辑MongoDB配置文件 /etc/mongod.conf

sudo nano /etc/mongod.conf

启用身份验证并配置其他安全设置:

security:
  authorization: enabled
  enableLocalhostAuthBypass: false

修改默认端口(例如27017):

net:
  port: 27017

3. 启用账户认证

启动MongoDB shell:

mongo

admin 数据库中创建管理员用户:

use admin
db.createUser({
  user: "myUserAdmin",
  pwd: "myStrongPassword",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

启用身份验证:

security:
  authorization: enabled

重启MongoDB服务以使更改生效:

sudo systemctl restart mongod

4. 设置用户权限

连接到MongoDB shell并使用管理员账户:

mongo -u myUserAdmin -p myStrongPassword --authenticationDatabase admin

为需要权限的数据库创建其他用户:

use myDatabase
db.createUser({
  user: "readOnlyUser",
  pwd: "readPassword",
  roles: [ { role: "read", db: "myDatabase" } ]
})

5. 网络访问控制

修改MongoDB配置文件以限制访问:

net:
  bindIp: 127.0.0.1

只允许本机访问MongoDB:

net:
  bindIp: 127.0.0.1

6. 加密通信(TLS/SSL)

配置MongoDB使用TLS/SSL以加密通信。请参考MongoDB官方文档进行详细配置。

7. 审计系统活动

启用系统审计以跟踪数据库配置和数据的访问和更改。MongoDB企业版包括一个系统审计工具,可以记录MongoDB实例上的系统事件。

8. 保持系统和软件更新

定期更新MongoDB和操作系统以修补已知漏洞:

sudo apt update && sudo apt upgrade -y

参考文档

0
看了该问题的人还看了