Ransomware gần đây đã tấn công một số cài đặt MongoDB không an toàn và giữ dữ liệu để đòi tiền chuộc. Ở đây chúng ta sẽ thấy những gì là MongoDB và xem xét một số bước bạn có thể thực hiện để bảo vệ và bảo vệ cơ sở dữ liệu MongoDB. Để bắt đầu, đây là một giới thiệu ngắn gọn về MongoDB.
MongoDB là gì
MongoDB là một cơ sở dữ liệu mã nguồn mở lưu trữ dữ liệu bằng cách sử dụng một mô hình dữ liệu tài liệu linh hoạt. MongoDB khác với các cơ sở dữ liệu truyền thống được xây dựng bằng cách sử dụng các bảng và các hàng, trong khi đó, MongoDB sử dụng một kiến trúc các bộ sưu tập và các tài liệu.
Sau một thiết kế lược đồ động, MongoDB cho phép các tài liệu trong một bộ sưu tập có các trường và cấu trúc khác nhau. Cơ sở dữ liệu sử dụng một lưu trữ tài liệu và định dạng trao đổi dữ liệu được gọi là BSON, cung cấp một biểu diễn nhị phân của các tài liệu giống như JSON. Điều này giúp tích hợp dữ liệu cho một số loại ứng dụng nhất định nhanh hơn và dễ dàng hơn.
Ransomware tấn công dữ liệu MongoDB
Gần đây, Victor Gevers, một nhà nghiên cứu bảo mật đã tweet rằng có một chuỗi các cuộc tấn công Ransomware trên các bản cài đặt MongoDB kém bảo đảm. Các cuộc tấn công bắt đầu vào tháng 12 năm ngoái vào dịp Giáng sinh năm 2016 và kể từ đó đã lây nhiễm hàng ngàn máy chủ MongoDB.
Ban đầu, Victor phát hiện ra 200 bản cài đặt MongoDB đã bị tấn công và giữ để đòi tiền chuộc. Tuy nhiên, ngay sau đó, các thiết bị bị nhiễm đã tăng vọt lên 2000 DB theo báo cáo của một nhà nghiên cứu bảo mật khác, người sáng lập Shodan John Matherly, và vào cuối của 1st tuần của năm 2017, số lượng các hệ thống bị xâm nhập là hơn 27.000.
Ransom yêu cầu
Các báo cáo ban đầu được đề xuất, rằng những kẻ tấn công đã yêu cầu 0,2 Bitcoin (khoảng 184 đô la Mỹ) làm khoản tiền chuộc được 22 nạn nhân trả. Hiện tại, những kẻ tấn công đã tăng số tiền chuộc và hiện đang yêu cầu 1 Bitcoin (xấp xỉ 906 USD).
Kể từ khi tiết lộ, các nhà nghiên cứu bảo mật đã xác định được hơn 15 tin tặc liên quan đến việc cướp các máy chủ MongoDB. Trong số đó, kẻ tấn công sử dụng email kraken0 có đã xâm phạm hơn 15.482 máy chủ MongoDB và đang yêu cầu 1 Bitcoin trả lại dữ liệu bị mất.
Làm thế nào để MongoDB Ransomware lẻn vào
MongoDB máy chủ có thể truy cập thông qua internet mà không có mật khẩu đã được những người được nhắm mục tiêu bởi các tin tặc. Do đó, Quản trị viên máy chủ đã chọn chạy máy chủ của họ không có mật khẩu và làm việc tên người dùng mặc định đã dễ dàng bị phát hiện bởi tin tặc.
Điều gì tệ hơn, có những trường hợp của cùng một máy chủ bị hack bởi các nhóm hacker khác nhau những người đã thay thế các khoản tiền chuộc hiện tại bằng chính mình, khiến cho các nạn nhân không thể biết được liệu họ có trả tiền ngay hay không, hãy để một mình liệu dữ liệu của họ có thể được phục hồi hay không. Do đó, không có sự chắc chắn nếu bất kỳ dữ liệu bị đánh cắp nào sẽ được trả lại. Do đó, ngay cả khi bạn đã trả tiền chuộc, dữ liệu của bạn vẫn có thể biến mất.
Bảo mật MongoDB
Cần phải quản trị viên máy chủ phải gán mật khẩu mạnh và tên người dùng để truy cập cơ sở dữ liệu. Các công ty sử dụng cài đặt mặc định MongoDB cũng nên cập nhật phần mềm của họ, thiết lập xác thực và khóa xuống cổng 27017 đã được nhắm mục tiêu nhiều nhất bởi các tin tặc.
Các bước để bảo vệ dữ liệu MongoDB của bạn
Thực thi kiểm soát và xác thực truy cập
Bắt đầu bằng cách kích hoạt kiểm soát truy cập của máy chủ của bạn và xác định cơ chế xác thực. Xác thực yêu cầu tất cả người dùng cung cấp bằng chứng xác thực hợp lệ trước khi họ có thể kết nối với máy chủ.
Mới nhất MongoDB 3.4 phát hành cho phép bạn định cấu hình xác thực cho một hệ thống không được bảo vệ mà không bị ngừng hoạt động.
Thiết lập kiểm soát truy cập dựa trên vai trò
Thay vì cung cấp quyền truy cập đầy đủ vào một nhóm người dùng, hãy tạo các vai trò xác định chính xác quyền truy cập một tập hợp các nhu cầu của người dùng. Thực hiện theo nguyên tắc đặc quyền tối thiểu. Sau đó, tạo người dùng và chỉ định cho họ vai trò họ cần để thực hiện các hoạt động của họ.
Mã hóa giao tiếp
Dữ liệu được mã hóa khó giải thích và không nhiều tin tặc có thể giải mã thành công. Định cấu hình MongoDB để sử dụng TLS / SSL cho tất cả các kết nối đến và đi. Sử dụng TLS / SSL để mã hóa giao tiếp giữa các thành phần mongod và mongos của một máy khách MongoDB cũng như giữa tất cả các ứng dụng và MongoDB.
Sử dụng MongoDB Enterprise 3.2, công cụ lưu trữ WiredTiger có thể mã hóa bản địa ở phần còn lại có thể được cấu hình để mã hóa dữ liệu trong lớp lưu trữ. Nếu bạn không sử dụng mã hóa WiredTiger‚Äô ở phần còn lại, dữ liệu MongoDB phải được mã hóa trên mỗi máy chủ bằng cách sử dụng hệ thống tệp, thiết bị hoặc mã hóa vật lý.
Giới hạn phơi nhiễm mạng
Để giới hạn phơi nhiễm mạng, đảm bảo rằng MongoDB chạy trong môi trường mạng tin cậy. Các quản trị viên chỉ cho phép các máy khách tin cậy truy cập vào các giao diện mạng và các cổng mà các cá thể MongoDB có sẵn.
Sao lưu dữ liệu của bạn
MongoDB Cloud Manager và MongoDB Ops Manager cung cấp sao lưu liên tục với thời gian phục hồi, và người dùng có thể kích hoạt cảnh báo trong Cloud Manager để phát hiện nếu triển khai của họ là internet tiếp xúc
Hoạt động hệ thống kiểm toán
Hệ thống kiểm toán định kỳ sẽ đảm bảo rằng bạn nhận thức được bất kỳ thay đổi bất thường nào đối với cơ sở dữ liệu của bạn. Theo dõi quyền truy cập vào cấu hình cơ sở dữ liệu và dữ liệu.MongoDB Enterprise bao gồm một cơ sở kiểm toán hệ thống có thể ghi lại các sự kiện hệ thống trên một cá thể MongoDB.
Chạy MongoDB với một người dùng chuyên dụng
Chạy các quy trình MongoDB với một tài khoản người dùng hệ điều hành chuyên dụng. Đảm bảo rằng tài khoản có quyền truy cập dữ liệu nhưng không có quyền không cần thiết.
Chạy MongoDB với các tùy chọn cấu hình an toàn
MongoDB hỗ trợ việc thực thi mã JavaScript cho một số hoạt động phía máy chủ nhất định: mapReduce, nhóm và $ ở đâu. Nếu bạn không sử dụng các hoạt động này, hãy tắt tập lệnh phía máy chủ bằng cách sử dụng tùy chọn –noscripting trên dòng lệnh.
Chỉ sử dụng giao thức dây MongoDB về triển khai sản xuất. Luôn bật xác thực đầu vào. MongoDB cho phép xác thực đầu vào theo mặc định thông qua cài đặt wireObjectCheck. Điều này đảm bảo rằng tất cả các tài liệu được lưu trữ bởi cá thể mongod là BSON hợp lệ.
Yêu cầu Hướng dẫn triển khai kỹ thuật bảo mật (nếu có)
Hướng dẫn triển khai kỹ thuật bảo mật (STIG) chứa các hướng dẫn bảo mật cho việc triển khai trong Bộ Quốc phòng Hoa Kỳ. MongoDB Inc. cung cấp STIG của nó, theo yêu cầu, cho những tình huống cần thiết. Bạn có thể yêu cầu một bản sao để biết thêm thông tin.
Xem xét tuân thủ các tiêu chuẩn bảo mật
Đối với các ứng dụng yêu cầu tuân thủ HIPAA hoặc PCI-DSS, vui lòng tham khảo Kiến trúc tham khảo bảo mật MongoDB đây để tìm hiểu thêm về cách bạn có thể sử dụng các khả năng bảo mật quan trọng để xây dựng cơ sở hạ tầng ứng dụng tuân thủ.
Cách tìm hiểu xem cài đặt MongoDB của bạn có bị tấn công hay không
- Xác minh cơ sở dữ liệu và bộ sưu tập của bạn. Các tin tặc thường thả các cơ sở dữ liệu và các bộ sưu tập và thay thế chúng bằng một cái mới trong khi yêu cầu một khoản tiền chuộc cho bản gốc
- Nếu kiểm soát truy cập được bật, hãy kiểm tra nhật ký hệ thống để tìm ra các nỗ lực truy cập trái phép hoặc hoạt động đáng ngờ. Tìm kiếm các lệnh đã xóa dữ liệu của bạn, người dùng đã sửa đổi hoặc tạo bản ghi yêu cầu tiền chuộc.
Lưu ý rằng không có gì đảm bảo rằng dữ liệu của bạn sẽ được trả lại ngay cả sau khi bạn đã trả tiền chuộc. Do đó, bài đăng tấn công, ưu tiên hàng đầu của bạn nên bảo vệ (các) cụm của bạn để ngăn chặn truy cập trái phép hơn nữa.
Nếu bạn thực hiện sao lưu, thì tại thời điểm bạn khôi phục phiên bản mới nhất, bạn có thể đánh giá dữ liệu nào có thể đã thay đổi kể từ lần sao lưu gần đây nhất và thời gian của cuộc tấn công. Để biết thêm, bạn có thể truy cập mongodb.com.