Mô tả bài toán

Một phần của tài liệu Bảo mật trong mongodb (Trang 67)

3.1. Bài toán triển khai

3.1.1. Mô tả bài toán

CHƯƠNG 477. Một đơn vị triển khai máy chủ MongoDBđể lưu trữ cơ sở dữ liệu của đơn vị và chỉ những người dùng trong hệ thống được phép truy cập sử dụng cơ sở dữ liệu đó.

CHƯƠNG 478. Kẻ tấn công chặn bắt gói tin trên đường truyền nhằm thu thập thông tin nhưng toàn bộ cơ sở dữ liệu đã được mã hóa trên đường truyền.

3.2. Các bước triển khai

3.2.1. Mô hình triển khai

CHƯƠNG 479.

a. Hình 3.8: Mô hình triển khai hệ thống Mongodb

CHƯƠNG 480. Mô hình triển khai gồm các máy:

- Máy chủ MongoDB triển khai trên hệ điều hành CentOS với địa chỉ IP 192.168.2.10 chứa cơ sở dữ liệu của đơn vị.

- Máy User là máy của người dùng trong hệ thống sử dụng hệ điều hành Ubuntu AWS EC2 có cài đặt MongoDB với địa chỉ IP 192.168.2.20.

- Máy Attacker là máy của kẻ tấn công thực hiện chặn bắt gói tin trên đường truyền để thu thập cơ sở dữ liệu của đơn vị.

3.2.2. Cài đặt MongoDB trên hệ điều hành CentOS

- Tạo MongoDB repository: Để thêm kho lưu trữ MongoDB vào hệ thống, cần tạo file mongodb-org.repo trong thư mục /etc/yum.repos.d/:

CHƯƠNG 481. # vi /etc/yum.repos.d/mongodb.repo CHƯƠNG 482. Thêm nội dung sau vào file:

CHƯƠNG 483.

a. Hình 3.9: Thêm kho lưu trữ MongoDB vào hệ thống

- Cài đặt gói mongodb-org bằng lệnh sau:

CHƯƠNG 484. # yum -y install mongodb-org

CHƯƠNG 485. Các gói sau sẽ được cài đặt trên hệ thống như là một phần của gói mongodb-org:

 mongodb-org-server – Trình nền mongod, và các tập lệnh và cấu hình init tương ứng.

 mongodb-org-mongos – Daemon mongos.

 mongodb-org-shell – Shell mongo, giao diện JavaScript tương tác với MongoDB, được sử dụng để thực hiện các tác vụ quản trị dòng lệnh.

 mongodb-org-tools – Chứa một số công cụ MongoDB để nhập và xuất dữ liệu, số liệu thống kê, cũng như các tiện ích khác.

CHƯƠNG 486.

a. Hình 3.10: Cài đặt gói mongodb-org

- Sau khi hoàn tất cài đặt, khởi động dịch vụ MongoDB và thiết lập dịch vụ mongod 4 khởi động cùng hệ thống CentOS 7 bằng câu lệnh:

CHƯƠNG 487. # systemctl start mongod CHƯƠNG 488. # systemctl enable mongod - Kiểm tra trạng thái dịch vụ MongoDB:

CHƯƠNG 489. # systemctl status mongod CHƯƠNG 490.

a. Hình 3.11: Kiểm tra trạng thái dịch vụ MongoDB

- Kiểm tra xem đã có tiến trình dịch vụ mongod đang chạy chưa: CHƯƠNG 491. # ps axu | grep mongod

CHƯƠNG 492.

a. Hình 3.12: Kiểm tra tiến trình dịch vụ MongoDB 3.2.3. Tạo cơ sở dữ liệu

- Tạo database csdl-tc21a: CHƯƠNG 493.

a. Hình 3.13: Tạo cơ sở dữ liệu trong MongoDB

- Tạo người dùng mới với vai trò userAdmin: CHƯƠNG 494.

3.2.4. Cấu hình TLS trên Mongodb Server

3.2.4.1. Tạo chứng thư số tự ký và chứng thư số cho client

- Tạo private root key:

CHƯƠNG 495. openssl genrsa -des3 -out root_self_CA.key 2048

- Tạo chứng thư số tự ký:

CHƯƠNG 496. openssl req -x509 -new -nodes -key root_self_CA.key -sha256 -days 1024 -out root_self_CA.pem

- Tạo private key cho client:

CHƯƠNG 497. openssl genrsa -des3 -out

mongodb_client.key 2048 - Tạo yêu cầu chứng thư cho client:

CHƯƠNG 498. openssl req -new -key mongodb_client.key -out mongodb_client.csr

- Tạo chứng thư số cho client:

CHƯƠNG 499. openssl x509 -req -in mongodb_client.csr -CA root_self_CA.pem -CAkey root_self_CA.key -CAcreateserial -out mongodb_client.crt -days 1200 -sha256

- Chuyển đổi file .crt sang file .pem:

CHƯƠNG 500. cat mongodb_client.key mongodb.crt > mongodb_client.pem

3.2.4.2. Bật TLS trong Mongodb Server

- Bật TLS trong máy chủ MongoDB bằng cách thêm cấu hình trong file mongod.conf:

CHƯƠNG 501.

a. Hình 3.15: Cấu hình file mongodb.conf

3.3. Thực nghiệm đánh giá

CHƯƠNG 502. Trong phần này sẽ thực hiện một số kiểm tra kết nối sơ bộ từ máy User đến máy chủ MongoDB để xác nhận rằng có thể kết nối với cơ sở dữ liệu của mình mà không gặp sự cố nào. Đồ án sẽ sử dụng ứng dụng khách mongo và Robo3T để xác nhận kết nối.

CHƯƠNG 503. Để kết nối từ xa với máy chủ MongoDB, cần cấu hình để cho phép kết nối TCP đến từ địa chỉ IP của máy chủ MongoDB trên cổng 27017 (cổng mongodb mặc định). Điều này có thể dễ dàng thực hiện thông qua bảng điều khiển web AWS.

3.3.1. Cấu hình kết nối tới máy chủ MongoDB

CHƯƠNG 504.

a. Hình 3.16: Tạo kết nối tới máy chủ MongoDB

CHƯƠNG 505.

a. Hình 3.17: Cấu hình tab Authentication

- Cấu hình trong tab TLS: CHƯƠNG 506.

CHƯƠNG 507.

a. Hình 3.18: Cấu hình tab TLS

CHƯƠNG 508. Cuối cùng bấm vào nút "test" phía dưới bên trái để kiểm tra khả năng kết nối. Nếu mọi thứ được thiết lập chính xác, sẽ hiện ra như hình 3.12:

CHƯƠNG 509.

CHƯƠNG 510. Sau khi kết nối an toàn tới máy chủ MongoDB, người dùng có thể thao tác tùy ý trên hệ quản trị MongoDB với vai trò admin.

3.3.2. Máy Attacker thực hiện chặn bắt gói tin trên đường truyền

CHƯƠNG 511. Trên máy Attacker cài sẵn phần mềm Wireshark và thực hiện chặn bắt gói tin trên đường truyền từ máy User có địa chỉ IP 192.168.2.20 tới máy MongoDB có địa chỉ IP 192.168.2.10 nhưng đường truyền đã được bảo vệ bởi giao thức TLS nên không thu được thông tin:

CHƯƠNG 512.

a. Hình 3.20: Thông tin trao đổi giữa máy User và MongoDB server đã được mã hóa

3.4. Kết luận

CHƯƠNG 513. Chương 3 của đồ án đã triển khai thử nghiệm thành công giải pháp mã hóa đường truyền từ máy khách tới máy chủ cơ sở dữ liệu MongoDB.

TÀI LIỆU THAM KHẢO

CHƯƠNG 515. [1]

CHƯƠNG 516. Nguyễn Thanh Sơn, Nguyễn Anh Tuấn,

Giáo trình Bảo mật cho các dịch vụ mạng, Học viện Kỹ thuật mật mã, 2014.

CHƯƠNG 517. [2]

CHƯƠNG 518. Hoàng Xuân Dậu, Bài giảng An toàn ứng dụng Web và cơ sở dữ liệu, Học viện Công nghệ bưu chính viễn thông, 2017.

CHƯƠNG 519. [3

CHƯƠNG 520. MongoDB Guides

(https://docs.mongodb.com/guides/) CHƯƠNG 521.

[4

CHƯƠNG 522. Giới thiệu về NoSQL database (https://viblo.asia/p/gioi-thieu-ve-nosql-database-

djeZ1a9jZWz) CHƯƠNG 523.

[5

CHƯƠNG 524. Bắt đầu với NoSQL và MongoDB (https://viblo.asia/p/bat-dau-voi-nosql-va-mongodb-

jvEla00zZkw) CHƯƠNG 525.

[6

CHƯƠNG 526. E. Plugge, D. Hows and P. Membrey, “MongoDB Basics”, 2014.

CHƯƠNG 527. [7

CHƯƠNG 528.

CHƯƠNG 529. K. Banker, P. Bakkum, S. Verch, D. Garrett and T. Hawkins, "MongoDB in Action", 2016.

CHƯƠNG 531. CHƯƠNG 532.

Một phần của tài liệu Bảo mật trong mongodb (Trang 67)

Tải bản đầy đủ (DOCX)

(78 trang)
w