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

10 mẹo để cải thiện bảo mật MongoDB của bạn

MongoDB cung cấp một số cấu trúc để cải thiện tính bảo mật cho dữ liệu của bạn. Bảo mật dữ liệu của bạn trong MongoDB là điều tối quan trọng - vì vậy điều quan trọng là phải tận dụng các cấu trúc này để giảm diện tích bề mặt của bạn. Dưới đây là 10 mẹo bạn có thể sử dụng để cải thiện tính bảo mật của máy chủ MongoDB tại chỗ và trên đám mây.

  1. Bật xác thực

    Ngay cả khi bạn đã triển khai máy chủ MongoDB của mình trong một mạng đáng tin cậy, thì phương pháp bảo mật tốt là cho phép xác thực. Nó cung cấp cho bạn “khả năng phòng thủ theo chiều sâu” nếu mạng của bạn bị xâm phạm. Chỉnh sửa tệp cấu hình MongoDB của bạn để kích hoạt xác thực:

    auth = true
    
  2. Không để lộ cơ sở dữ liệu sản xuất của bạn lên internet

    Hạn chế quyền truy cập vật lý vào cơ sở dữ liệu của bạn là một khía cạnh quan trọng của bảo mật. Nếu không cần thiết, đừng để cơ sở dữ liệu sản xuất của bạn lên internet. Trong trường hợp có bất kỳ sự xâm phạm nào, nếu kẻ tấn công không thể kết nối vật lý với máy chủ MongoDB của bạn, thì dữ liệu của bạn sẽ an toàn hơn nhiều. Nếu đang sử dụng AWS, bạn có thể đặt cơ sở dữ liệu của mình trong mạng con đám mây riêng ảo (VPC). Đọc bài đăng trên blog Triển khai MongoDB trong VPC để biết thêm thông tin.

  3. Sử dụng tường lửa

    Sử dụng tường lửa để hạn chế các thực thể khác được phép kết nối với máy chủ MongoDB của bạn. Cách tốt nhất là chỉ cho phép các máy chủ ứng dụng của bạn truy cập vào cơ sở dữ liệu. Nếu bạn được lưu trữ trên AWS, hãy sử dụng 'Nhóm bảo mật' để hạn chế quyền truy cập. Nếu bạn được lưu trữ trên một nhà cung cấp không hỗ trợ cấu trúc tường lửa, bạn có thể dễ dàng tự định cấu hình nó bằng cách sử dụng ‘iptables’. Tham khảo tài liệu MongoDB để định cấu hình iptables cho tình huống của bạn.

  4. Sử dụng các tệp chính để thiết lập tập hợp bản sao

    Chỉ định tệp khóa được chia sẻ để cho phép giao tiếp giữa các bản sao MongoDB của bạn trong một tập hợp bản sao. Để kích hoạt điều này, hãy thêm tham số keyfile vào tệp cấu hình như được nêu bên dưới. Nội dung của tệp cần phải giống nhau trên tất cả các máy:

    keyFile = /srv/mongodb/keyfile
    
  5. Tắt giao diện trạng thái HTTP

    MongoDB, theo mặc định, cung cấp giao diện http chạy trên cổng 28017, cung cấp trang trạng thái "trang chủ". Giao diện này không được khuyến khích sử dụng trong sản xuất và tốt nhất là nên tắt. Sử dụng cài đặt cấu hình “nohttpinterface” để tắt giao diện http:

    nohttpinterface = true
    
  6. Tắt giao diện REST

    Giao diện MongoDB REST không được khuyến nghị cho sản xuất. Nó không hỗ trợ bất kỳ xác thực nào và bị tắt theo mặc định. Nếu bạn đã bật tính năng này bằng tùy chọn cấu hình "nghỉ ngơi", bạn nên tắt tính năng này cho các hệ thống sản xuất.

    rest = false
    
  7. Định cấu hình bind_ip

    Nếu hệ thống của bạn có nhiều giao diện mạng, bạn có thể sử dụng tùy chọn “bind_ip” để hạn chế máy chủ MongoDB của bạn chỉ nghe trên các giao diện có liên quan. Theo mặc định, MongoDB sẽ liên kết với tất cả các giao diện:

    bind_ip = 10.10.0.25,10.10.0.26
    
  8. Bật SSL

    Nếu bạn không sử dụng SSL, dữ liệu của bạn đang di chuyển giữa ứng dụng khách Mongo và máy chủ Mongo của bạn không được mã hóa và dễ bị nghe trộm, giả mạo và các cuộc tấn công "kẻ ở giữa". Điều này đặc biệt quan trọng nếu bạn đang kết nối với máy chủ MongoDB của mình qua các mạng không an toàn như Internet.

  9. Ủy quyền dựa trên vai trò

    MongoDB hỗ trợ xác thực dựa trên vai trò để cung cấp cho bạn khả năng kiểm soát chi tiết đối với các hành động có thể được thực hiện bởi mỗi người dùng. Sử dụng cấu trúc dựa trên vai trò để hạn chế quyền truy cập thay vì đặt tất cả người dùng của bạn làm quản trị viên. Tham khảo tài liệu về vai trò để biết thêm chi tiết.

  10. Enterprise MongoDB &Kerberos

    Enterprise MongoDB tích hợp với Kerberos để xác thực. Tham khảo tài liệu MongoDB để biết thêm chi tiết. Hệ thống tên người dùng / mật khẩu vốn không an toàn - hãy sử dụng xác thực dựa trên giới hạn nếu có thể.

Tại ScaleGrid, chúng tôi cố gắng hỗ trợ các cấu hình bảo mật thực tiễn tốt nhất theo mặc định cho tất cả các triển khai của chúng tôi. Chúng tôi cho phép bạn sử dụng SSL và cũng không để lộ cơ sở dữ liệu của bạn lên internet. Nếu bạn có bất kỳ câu hỏi nào, vui lòng gửi email cho chúng tôi theo địa chỉ [email protected].


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhận số lượng kết nối đang mở trong mongoDB bằng java

  2. Làm cách nào để Đảm bảo Nhóm MongoDB của bạn có thể sống sót khi Amazon AWS ngừng hoạt động?

  3. Dãy lồng nhau truy vấn $ pull sử dụng trình điều khiển C # MongoDB

  4. Aggregate $ lookup không trả về thứ tự mảng ban đầu của các phần tử

  5. Mongoimport của tệp JSON