Trong phần đầu tiên của blog “Tổng quan về MongoDB Atlas”, chúng tôi đã xem xét cách bắt đầu với MongoDB Atlas, quá trình thiết lập và di chuyển ban đầu của Cụm MongoDB hiện có sang MongoDB Atlas. Trong phần này, chúng ta sẽ tiếp tục khám phá một số yếu tố quản lý cần thiết cho mọi hệ thống sản xuất MongoDB, chẳng hạn như tính bảo mật và tính liên tục trong kinh doanh.
Bảo mật Cơ sở dữ liệu trong MongoDB Atlas
Bảo mật luôn được đặt lên hàng đầu. Mặc dù nó quan trọng đối với tất cả cơ sở dữ liệu, nhưng đối với MongoDB, nó có một ý nghĩa đặc biệt. Vào giữa năm 2017, internet tràn ngập tin tức liên quan đến các cuộc tấn công ransomware nhắm mục tiêu cụ thể vào các lỗ hổng trong hệ thống MongoDB. Tin tặc đã chiếm đoạt các phiên bản MongoDB và yêu cầu một khoản tiền chuộc để đổi lấy dữ liệu đã lưu trữ. Đã có cảnh báo. Trước các cuộc tấn công ransomware này, các blogger và các chuyên gia đã viết về số lượng phiên bản sản xuất dễ bị tấn công. Nó đã khuấy động cuộc thảo luận sôi nổi xung quanh vấn đề bảo mật MongoDB trong một thời gian dài sau đó.
Chúng tôi hiện đang ở trong năm 2019 và MongoDB thậm chí còn trở nên phổ biến hơn. Phiên bản chính mới (4.0) đã được phát hành gần đây và chúng tôi đã thấy sự ổn định tăng lên trong MongoDB Atlas. Nhưng những gì đã được thực hiện để tăng cường bảo mật cho cơ sở dữ liệu NoSQL trên đám mây.
Phần mềm tống tiền và báo chí liên tục hẳn đã có tác động đến MongoDB vì chúng ta có thể thấy rõ rằng bảo mật hiện đang là trung tâm của hệ sinh thái MongoDB. MongoDB Atlas cũng không ngoại lệ vì nó hiện đi kèm với các kiểm soát bảo mật tích hợp cho nhu cầu xử lý dữ liệu sản xuất và nhiều tính năng bảo mật doanh nghiệp. Phương pháp tiếp cận mặc định (gây ra lỗ hổng bảo mật) từ phiên bản cũ hơn đã biến mất và cơ sở dữ liệu hiện được bảo mật theo mặc định (mạng, ủy quyền crud, v.v.). Nó cũng đi kèm với các tính năng mà bạn mong đợi sẽ có trong môi trường sản xuất hiện đại (kiểm tra, truy cập người dùng tạm thời, v.v.).
Nhưng nó không dừng lại ở đó. Vì Atlas là một giải pháp trực tuyến nên giờ đây bạn có thể sử dụng tích hợp với các bên thứ ba như xác thực LDAP hoặc các dịch vụ internet MongoDB hiện đại như biểu đồ MongoDB. MongoDB Atlas được xây dựng trên Amazon WebServices (AWS), Microsoft Azure và Google Cloud Platform (GCP), cũng cung cấp các biện pháp bảo mật cao của riêng chúng. Sự kết hợp tuyệt vời này đảm bảo các tiêu chuẩn bảo mật của MongoDB Atlas là những gì chúng tôi mong đợi. Hãy xem nhanh một số tính năng chính này.
MongoDB Atlas &An ninh mạng
MongoDB Atlas xây dựng các cụm trên cơ sở hạ tầng đám mây hiện có của bạn. Khi một người chọn AWS, dữ liệu khách hàng được lưu trữ trong hệ thống MongoDB Atlas. Các hệ thống này là máy chủ ảo AWS EC2 dành riêng cho một bên thuê, được tạo riêng cho Khách hàng Atlas. Các trung tâm dữ liệu AWS của Amazon tuân thủ một số tiêu chuẩn bảo mật vật lý và bảo mật thông tin, nhưng vì chúng tôi cần một mạng mở nên điều đó có thể gây ra lo ngại.
Các cụm chuyên dụng MongoDB Atlas được triển khai trong Đám mây riêng ảo (VPC) với tường lửa chuyên dụng. Quyền truy cập phải được cấp bởi danh sách IP cho phép hoặc thông qua VPC Peering. Theo mặc định, tất cả quyền truy cập bị vô hiệu hóa.
MongoDB yêu cầu các cổng mạng sau cho Atlas ...
- 27016 cho các phân đoạn
- 27015 cho trình kết nối BI
- 27017 cho máy chủ
- Nếu LDAP được bật, MongoDB yêu cầu mạng LDAP 636 ở phía khách hàng mở cho lưu lượng truy cập 0.0.0.0 (toàn bộ Internet).
Không thể thay đổi các cổng mạng và không thể tắt TLS. Quyền truy cập cũng có thể bị cô lập bởi danh sách trắng IP.
Ngoài ra, bạn có thể chọn truy cập MongoDB Atlas thông qua máy chủ Bastion. Máy chủ lưu trữ Bastion được định cấu hình để yêu cầu khóa SSH (không phải mật khẩu). Chúng cũng yêu cầu xác thực đa yếu tố và người dùng cũng phải được quản lý cấp cao phê duyệt để truy cập phụ trợ.
Quản lý truy cập dựa trên vai trò của MongoDB Atlas
Bạn có thể định cấu hình các quy tắc truy cập nâng cao, dựa trên vai trò để kiểm soát người dùng (và nhóm) nào có thể truy cập, thao tác và / hoặc xóa dữ liệu trong cơ sở dữ liệu của bạn. Theo mặc định, không có người dùng nào được tạo nên bạn sẽ được nhắc tạo một người dùng.
MongoDB Atlas cho phép quản trị viên xác định quyền cho người dùng hoặc ứng dụng cũng như dữ liệu nào có thể được truy cập khi truy vấn MongoDB. MongoDB Atlas cung cấp khả năng cung cấp cho người dùng các vai trò cụ thể đối với một dự án hoặc cơ sở dữ liệu, làm cho nó có thể thực hiện được sự tách biệt nhiệm vụ giữa các thực thể khác nhau truy cập và quản lý dữ liệu. Quá trình này đơn giản và hoàn toàn tương tác.
Để tạo người dùng mới, hãy chuyển đến tab Bảo mật ở phía bên trái và chọn giữa người dùng MongoDB và vai trò MongoDB.
Vai trò MongoDB
Mã hóa Cơ sở dữ liệu Đầu cuối trong MongoDB Atlas
Tất cả dữ liệu MongoDB Atlas khi chuyển tiếp được mã hóa bằng Bảo mật tầng truyền tải (TLS). Bạn có thể linh hoạt để định cấu hình phiên bản giao thức TLS tối thiểu. Mã hóa cho dữ liệu ở trạng thái nghỉ được tự động hóa bằng cách sử dụng khối lượng lưu trữ được mã hóa.
Bạn cũng có thể tích hợp các quy trình và thực tiễn bảo mật hiện có của mình với MongoDB Atlas để cung cấp thêm quyền kiểm soát đối với cách bạn bảo mật môi trường của mình.
Đối với chính Cụm bản đồ MongoDB, xác thực được tự động bật theo mặc định thông qua SCRAM để đảm bảo một hệ thống an toàn.
Với Quản lý khóa mã hóa, bạn có thể đưa các khóa mã hóa của riêng mình vào các cụm chuyên dụng để có thêm lớp mã hóa trên các tệp cơ sở dữ liệu, bao gồm cả ảnh chụp nhanh sao lưu.
Kiểm toán trong MongoDB Atlas
Kiểm tra cơ sở dữ liệu chi tiết trả lời các câu hỏi chi tiết về hoạt động của hệ thống để triển khai với nhiều người dùng bằng cách theo dõi tất cả các lệnh đối với cơ sở dữ liệu. Kiểm toán trong MongoDB chỉ khả dụng trong MongoDB Enterprise. Bạn có thể ghi các sự kiện kiểm tra vào bảng điều khiển, vào nhật ký hệ thống, vào tệp JSON hoặc vào tệp BSON. Bạn định cấu hình tùy chọn kiểm tra bằng cách sử dụng bộ định lượng –auditDestination. Ví dụ:để gửi các sự kiện kiểm tra dưới dạng các sự kiện JSON để sử dụng nhật ký hệ thống ...
mongod --dbpath data/db --auditDestination syslog
MongoDB duy trì hệ thống quản lý nhật ký tập trung để thu thập, lưu trữ và phân tích dữ liệu nhật ký cho môi trường sản xuất. Thông tin này có thể được sử dụng để theo dõi sức khỏe, khắc phục sự cố và cho các mục đích bảo mật. Cảnh báo được định cấu hình trong hệ thống để thông báo cho SRE về bất kỳ mối quan tâm nào về hoạt động.
Tích hợp LDAP MongoDB Atlas
Xác thực người dùng và ủy quyền đối với các cụm MongoDB Atlas có thể được quản lý thông qua máy chủ Giao thức truy cập thư mục nhẹ (LDAP) của khách hàng qua TLS. Một cấu hình LDAP duy nhất áp dụng cho tất cả các cụm cơ sở dữ liệu trong dự án Atlas. Máy chủ LDAP được sử dụng để đơn giản hóa việc kiểm soát truy cập và giúp quản lý quyền chi tiết hơn.
Đối với khách hàng đang chạy máy chủ LDAP của họ trong Đám mây riêng ảo AWS (VPC), kết nối ngang hàng được khuyến nghị giữa môi trường đó và VPC chứa cơ sở dữ liệu Atlas của họ.
Hoạt động liên tục trong kinh doanh MongoDB và Phục hồi sau thảm họa
MongoDB Atlas tạo và định cấu hình các cụm chuyên dụng trên cơ sở hạ tầng do AWS, Azure và / hoặc Google GCP cung cấp. Tính khả dụng của dữ liệu tùy thuộc vào quy trình của nhà cung cấp dịch vụ cơ sở hạ tầng Kế hoạch liên tục kinh doanh (BCP) và Khôi phục sau thảm họa (DR). Các nhà cung cấp dịch vụ cơ sở hạ tầng MongoDB Atlas có một số chứng nhận và báo cáo kiểm toán cho các biện pháp kiểm soát này.
Sao lưu Cơ sở dữ liệu trong MongoDB Atlas
MongoDB Atlas sao lưu dữ liệu, thường chỉ sau vài giây sau một hệ thống hoạt động. MongoDB Atlas đảm bảo sao lưu liên tục các tập hợp bản sao, ảnh chụp nhanh nhất quán, toàn cụm của các cụm được phân đoạn và khôi phục tại điểm trong thời gian. Dịch vụ sao lưu được quản lý hoàn toàn này sử dụng Amazon S3 trong khu vực gần nơi triển khai cơ sở dữ liệu của khách hàng nhất.
Dữ liệu sao lưu được bảo vệ bằng mã hóa phía máy chủ. Amazon S3 mã hóa dữ liệu đã sao lưu ở cấp đối tượng khi nó ghi dữ liệu đó vào các đĩa trong trung tâm dữ liệu và giải mã cho bạn khi bạn khôi phục. Tất cả các khóa được AWS quản lý hoàn toàn.
Các cụm bản đồ được triển khai trong Amazon Web Services và Microsoft Azure có thể tận dụng ảnh chụp nhanh của nhà cung cấp đám mây sử dụng khả năng chụp nhanh gốc của nhà cung cấp đám mây cơ bản. Các bản sao lưu được lưu trữ trong cùng một vùng đám mây với cụm tương ứng. Đối với các cụm nhiều khu vực, ảnh chụp nhanh được lưu trữ trong khu vực ưu tiên của cụm.
Atlas cung cấp các phương pháp sau để sao lưu dữ liệu của bạn ...
Sao lưu Cơ sở dữ liệu Liên tục
Sao lưu liên tục có sẵn trong M10 + Cluster và các phiên bản thấp hơn phiên bản máy chủ 4.2. Đây là một phương pháp cũ để thực hiện sao lưu MongoDB. Atlas sử dụng các ảnh chụp nhanh gia tăng để liên tục sao lưu dữ liệu của bạn. Ảnh chụp nhanh sao lưu liên tục thường chỉ chậm hơn một vài giây so với hệ thống hoạt động. Atlas đảm bảo sao lưu tại thời điểm các tập hợp bản sao và ảnh chụp nhanh nhất quán, toàn cụm của chính các cụm được phân đoạn, mà nó sử dụng S3.
Ảnh chụp nhanh được sao chép đầy đủ
Atlas sử dụng các khả năng chụp nhanh gốc của nhà cung cấp dịch vụ đám mây của bạn để hỗ trợ các ảnh chụp nhanh được sao chép đầy đủ và lưu trữ ảnh chụp nhanh được bản địa hóa.
Hồ Dữ liệu Bản đồ MongoDB
Việc sử dụng Atlas Data Lake để nhập dữ liệu S3 của bạn vào các cụm Atlas cho phép bạn nhanh chóng truy vấn dữ liệu được lưu trữ trong các nhóm AWS S3 của mình bằng cách sử dụng Mongo Shell, MongoDB Compass và bất kỳ trình điều khiển MongoDB nào.
Khi bạn tạo Data Lake, bạn sẽ cấp quyền truy cập chỉ đọc Atlas vào nhóm S3 trong tài khoản AWS của mình và tạo tệp cấu hình dữ liệu ánh xạ dữ liệu từ nhóm S3 tới cơ sở dữ liệu và bộ sưu tập MongoDB của bạn. Atlas hỗ trợ sử dụng bất kỳ cụm M10 + nào, bao gồm cả Cụm toàn cầu, để kết nối với các Hồ dữ liệu trong cùng một.
Tại thời điểm viết blog này, các định dạng sau được hỗ trợ.
- Avro
- Sàn gỗ
- JSON
- JSON / Gzipped
- BSON
- CSV (yêu cầu hàng tiêu đề)
- TSV (yêu cầu hàng tiêu đề)
Kết luận
Đó là tất cả bây giờ, tôi hy vọng bạn thích tổng quan hai phần của tôi về MongoDB Atlas. Hãy nhớ rằng ClusterControl cũng cung cấp khả năng quản lý end-to-end của MongoDB Cluster và là một giải pháp thay thế tuyệt vời, chi phí thấp hơn cho MongoDB Atlas cũng có thể được triển khai trên đám mây.