Mongodb - Giới hạn quyền truy cập cho từng user vào database

dayto.kdh

Administrator
Hôm nay thật không may tất cả data mongodb trên server của mình bị xóa hết, mình chưa tìm hiểu ra nguyên nhân nhưng có thể là do mình bị lộ info của 1 database và user nào đó.

Theo mặc định thì khi các bạn tạo database và user trên mongodb thì nếu chúng ta connect đến một database và user bất kỳ thì nó có thể truy cập được vào tất cả database khác (mình dùng NoSQLBooster). Điều này rất nguy hiểm khi một ai đó biết được thông tin của 1 user và data nào đó thì họ có thể thoải mái làm gì với tất cả database của bạn, buồn buồn họ drop database cũng không ai hay biết.

Đây là cách tạo database và user

use kenhdaihoc_data
db.createUser({ user: "levanthuc", pwd: "kenhdaihoc.com", roles: [ { role: "read", db: "kenhdaihoc_data" } ] })
Và khi bạn connect vào database kenhdaihoc_data thì tất cả database khác đều hiện ra

mongodb://levanthuc:[email protected]:27017/?authSource=kenhdaihoc_data
Cái này ban đầu tiếp xúc với mongodb mình cũng không để ý và bị ai đó chơi xấu xóa hết database. may là có backup chứ không là xong đời :)

Và đây là cách giới hạn quyền truy cập cho từng user vào database


Mở file
sudo nano /etc/mongod.conf

Thêm vào dòng

security.authorization : enabled

Khởi động lại mongodb

sudo systemctl restart mongod
 
Sửa lần cuối:
xây nhà trọn gói tại quảng ngãi xây nhà trọn gói quảng ngãi xây nhà trọn gói tại quảng ngãi nội thất quảng ngãi
Top