debian

Debian系统中MongoDB安全设置指南

小樊
46
2025-03-31 08:52:21
栏目: 云计算

在Debian系统中配置MongoDB以增强安全性是一个重要的步骤,以下是一个详细的指南:

安装MongoDB

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

sudo apt update && sudo apt upgrade -y

然后,导入MongoDB公钥并添加MongoDB存储库:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ archamd64,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
sudo apt update
sudo apt install -y mongodb-org

配置MongoDB

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

sudo nano /etc/mongod.conf

启用认证

在配置文件中添加或修改以下内容以启用认证:

security:
  authorization: enabled

绑定IP地址

将MongoDB绑定到本地接口,只允许本机访问:

net:
  bindIp: 127.0.0.1

设置监听端口

默认情况下,MongoDB监听27017端口。你可以根据需要更改端口,但请确保端口未被其他服务占用。

net:
  port: 27017

启用SSL

为了加密客户端和服务器之间的通信,启用SSL:

net:
  ssl:
    mode: requireSSL

启动和启用MongoDB服务

启动MongoDB服务并设置其开机自启:

sudo systemctl start mongod
sudo systemctl enable mongod

创建管理员用户

使用MongoDB shell创建管理员用户:

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

验证配置

退出MongoDB shell并尝试使用新创建的管理员用户重新连接:

mongo -u myAdmin -p myStrongPassword --authenticationDatabase admin

安全审计

启用安全审计功能以记录数据库操作:

security:
  auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb/audit.json

防火墙配置

使用 iptables 或其他防火墙软件限制对MongoDB端口的访问:

sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
sudo service iptables save

参考文档

0
看了该问题的人还看了