MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Ba điểm A của Bảo mật MongoDB - Xác thực, Ủy quyền &Kiểm toán

MongoDB đã có những bước tiến ấn tượng trong 18 tháng qua. Một trong những lĩnh vực MongoDB được cải thiện đáng kể nhất là tính bảo mật. Bảo mật có tầm quan trọng chung đối với một cơ sở dữ liệu sản xuất. Cơ sở dữ liệu quan hệ hiện tại cung cấp một số nút và điều khiển để giúp Quản trị viên cơ sở dữ liệu (DBA) quản lý bảo mật cơ sở dữ liệu của họ và MongoDB cũng đang tiến tới một vị trí tương tự. Trong bài đăng này, chúng tôi sẽ đi sâu hơn vào các tính năng bảo mật trong các lĩnh vực xác thực, ủy quyền và kiểm tra.

  1. Xác thực

    MongoDB cung cấp nhiều cơ chế khác nhau để xác thực kết nối của người dùng với cơ sở dữ liệu. Chọn cơ chế cung cấp sự cân bằng tốt nhất về bảo mật và quản lý. Mặc dù là tùy chọn, nhưng phương pháp bảo mật được khuyến nghị là tất cả các hệ thống sản xuất đã bật xác thực.

    • Xác thực phản hồi thử thách (MongoDB-CR)

      Đây là xác thực dựa trên tên người dùng / mật khẩu truyền thống. Người dùng có thể được tạo ở phạm vi cơ sở dữ liệu hoặc toàn bộ cụm. Nếu người dùng chỉ cần truy cập dữ liệu trong một cơ sở dữ liệu cụ thể, thì bạn chỉ nên tạo người dùng cụ thể cho cơ sở dữ liệu đó. Quyền truy cập cấp độ cụm nên bị hạn chế đối với quản trị viên.

    • Xác thực chứng chỉ X.509

      Người dùng có thể xác thực cơ sở dữ liệu MongoDB của họ bằng chứng chỉ X.509. Để thực hiện việc này, máy chủ MongoDB cần phải bật SSL. Theo mặc định, các bản dựng cộng đồng của MongoDB không được bật SSL. Bạn cần triển khai bản dựng của riêng mình hoặc đăng ký để sử dụng phiên bản Enterprise. Bạn có thể tạo người dùng trong MongoDB cho mỗi chứng chỉ X.509 với một chủ đề duy nhất. Để biết thêm hướng dẫn từng bước, hãy tham khảo thiết lập chứng chỉ MongoDB X.509.

    • Xác thực Kerberos

      Phiên bản Enterprise của MongoDB hỗ trợ xác thực bằng cách sử dụng Kerberos, đây là tiêu chuẩn ngành để xác thực máy chủ khách. Ví dụ:nếu bạn là doanh nghiệp có cài đặt Active Directory, việc sử dụng có thể sử dụng cơ chế xác thực Kerberos để xác thực người dùng của bạn. Điều này tránh rắc rối khi quản lý tên người dùng, mật khẩu hoặc chứng chỉ. Nhấp vào đây để xem hướng dẫn tích hợp MongoDB với Active Directory.

  2. Ủy quyền

    Hệ thống Ủy quyền xác định những thao tác nào mà người dùng có thể thực hiện sau khi họ đã hoàn tất Xác thực. MongoDB hỗ trợ mô hình Kiểm soát truy cập dựa trên vai trò (RBAC). Mỗi người dùng được giao các vai trò cụ thể xác định các hoạt động mà họ được phép thực hiện. MongoDB có một tập hợp các vai trò tích hợp sẵn và bạn cũng có thể tạo các vai trò tùy chỉnh của riêng mình. Mỗi vai trò được chỉ định một tập hợp các đặc quyền ghép nối tài nguyên với các hoạt động được phép trên tài nguyên đó. MongoDB cung cấp các vai trò tích hợp ở các phạm vi sau:

    • Vai trò của người dùng cơ sở dữ liệu

      read, readWrite

    • Vai trò của quản trị viên cơ sở dữ liệu (DBA)

      dbAdmin, dbOwner, userAdmin

    • Vai trò của quản trị viên cụm

      clusterAdmin, clusterManager, clusterMonitor, hostManager

    • Vai trò sao lưu và khôi phục

      sao lưu, khôi phục

    • Tất cả các vai trò cơ sở dữ liệu

      readAnyDatabase, readWriteAnyDatabase, userAdminAnyDatabase

    • Vai trò siêu người dùng

      root

    Tham khảo tài liệu Vai trò tích hợp để hiểu chi tiết hơn về các vai trò cần được chỉ định cho người dùng của bạn.

  3. Kiểm toán

    Bản phát hành MongoDB Enterprise 2.6 đã bổ sung hỗ trợ cho việc kiểm tra. Bạn có thể định cấu hình máy chủ MongoDB để tạo các sự kiện kiểm tra cho các hoạt động MongoDB thú vị, như đăng nhập người dùng, thay đổi DDL, thay đổi cấu hình thiết lập bản sao, v.v. Điều này cho phép bạn sử dụng công cụ kiểm tra doanh nghiệp hiện có của mình để chọn và xử lý các sự kiện cần thiết. Để biết thêm thông tin, hãy tham khảo danh sách các sự kiện MongoDB có thể được kiểm tra.

Để biết thêm mẹo về cải thiện bảo mật cho cơ sở dữ liệu MongoDB của bạn, vui lòng tham khảo bài đăng trên blog khác của chúng tôi - 10 mẹo để cải thiện bảo mật MongoDB của bạn.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Phần tử mảng cập nhật Mongo (trình điều khiển .NET 2.0)

  2. Bản ghi ngẫu nhiên từ MongoDB

  3. MongoDB $ toDouble

  4. mongo - không thể kết nối với máy chủ 127.0.0.1:27017

  5. Sự khác biệt giữa việc trang trí một thuộc tính trong C # với BsonRepresentation (BsonType.ObjectId) so với BsonId và ObjectId