Bật xác thực và thêm người dùng Admin
Trong các phiên bản trước, MongoDB dễ bị tấn công tự động vì mặc định không bật xác thực. Phiên bản 3.x đã khắc phục nhưng xác thực vẫn tắt mặc định. Chúng ta sẽ tạo user admin và bật xác thực.
Thêm Admin User
Kết nối Mongo shell:
$ mongo
Chuyển sang database admin và tạo user:
> use admin
switched to db admin
> db.createUser({
user: "DBAdmin",
pwd: "DBAdmin'sSecurePassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
Successfully added user: {
"user": "DBAdmin",
"roles": [ { "role": "userAdminAnyDatabase", "db": "admin" } ]
}
Bật xác thực trong cấu hình MongoDB
Sửa file /etc/mongod.conf, bỏ comment phần security và thêm authorization: "enabled":
# security security: authorization: "enabled"
Khởi động lại dịch vụ:
$ sudo systemctl restart mongod
Kiểm tra trạng thái:
$ sudo systemctl status mongod
Kiểm tra xác thực
Kết nối không credential sẽ bị từ chối khi chạy show dbs (lỗi Unauthorized).
Kết nối với admin user:
$ mongo -u DBAdmin -p --authenticationDatabase admin Enter password: > show dbs admin 0.000GB local 0.000GB
Bài viết hướng dẫn bảo mật MongoDB bằng cách tạo admin user và bật xác thực.