Database Firewall KIến trúc Database Firewall

Kiến trúc Database Firewall

1. Định nghĩa

  • Tường lửa cơ sở dữ liệu (Database Firewall) là một cơ chế bảo mật chuyên dụng được thiết kế để giám sát và theo dõi các kết nối tới hệ quản trị cơ sở dữ liệu (Database Engine).
  • Cơ chế này hoạt động bằng cách chặn các truy vấn Ngôn ngữ truy vấn có cấu trúc (SQL) được gửi tới điểm cuối của cơ sở dữ liệu, sau đó phân tích nội dung để phát hiện và ngăn chặn các hoạt động độc hại như: tấn công SQL injection, tấn công tràn bộ đệm (buffer overflow) và tấn công từ chối dịch vụ (DoS).
  • Trong một số cấu hình, tường lửa cơ sở dữ liệu đóng vai trò như một máy chủ proxy trung gian giữa ứng dụng và máy chủ cơ sở dữ liệu để kiểm tra, lọc và kiểm soát lưu lượng dữ liệu.
  • Các tường lửa này có thể được triển khai dưới dạng gói phần mềm chạy trực tiếp trên máy chủ cơ sở dữ liệu hoặc proxy, hoặc dưới dạng các thiết bị phần cứng chuyên dụng hay máy ảo.
  • Chúng giám sát mọi lệnh được gửi tới máy chủ, bao gồm các câu lệnh DML như chọn (select), xóa (delete) hoặc cập nhật (update) dữ liệu, và các câu lệnh (DDL) như xóa bảng (drop tables)

2. Kiến trúc

  • Tường lửa cơ sở dữ liệu có các gói phần mềm chạy trực tiếp trên máy chủ cơ sở dữ liệu hoặc dưới dạng các thiết bị phần cứng chuyên dụng (cũng có thể được triển khai dưới dạng máy ảo).
  • Cấu trúc điển hình bao gồm các thành phần
    • Bộ chặn truy vấn (query interceptors) giúp giám sát và theo dõi mọi kết nối tới công cụ cơ sở dữ liệu
    • Bộ phân tích lưu lượng (traffic analyzers) giúp kiểm tra các lệnh gọi cơ sở dữ liệu để tìm ra các dấu hiệu tấn công (attack patterns).
    • Công cụ thực thi chính sách (policy engines): chính sách này được quản lý thông qua các bộ quy tắc (rule sets), cho phép quản trị viên định nghĩa các quy tắc để xác định câu lệnh nào được phép thực thi, câu lệnh nào sẽ kích hoạt cảnh báo và câu lệnh nào sẽ bị chặn.
  • Ngoài ra còn có:
    • Máy chủ Quản lý/Bộ phân tích (Management Server/Analyzer): Trong mô hình triển khai lớn tại doanh nghiệp, một máy chủ quản lý trung tâm sẽ quản lý tất cả các tường lửa cơ sở dữ liệu được kết nối, tích lũy dữ liệu SQL, lưu trữ các tệp nhật ký (log) và tạo báo cáo cho mục đích tuân thủ và kiểm toán.

3. Các mô hình triển khai

  • Giám sát dựa trên mạng (Network-based monitoring)
    • Tường lửa cơ sở dữ liệu hoạt động từ xa bằng cách tận dụng tính năng port mirroring trên các thiết bị chuyển mạch (Switch). Phương pháp này gửi toàn bộ lưu lượng dữ liệu hướng tới một cổng Ethernet cụ thể đến một cổng phản chiếu để phân tích, cho phép giám sát thụ động mà không gây tải cho máy chủ cơ sở dữ liệu.
    • Tuy nhiên, cách tiếp cận này thường không thể giám sát được các kết nối cơ sở dữ liệu đã được mã hóa.
  • Tác nhân dựa trên máy chủ (Host-based agents)
    • Được cài đặt trực tiếp trên chính máy chủ cơ sở dữ liệu, các tác nhân (agents) này chủ động kiểm tra mọi lệnh gọi cơ sở dữ liệu và cung cấp khả năng hiển thị toàn diện, mặc dù chúng có thể gây ảnh hưởng đến hiệu suất của máy chủ
  • Hoặc có thể phân loại theo cách dưới đây:
    • Chế độ Trực diện (In-line / Blocking Mode): Tường lửa được đặt trực tiếp trên đường truyền mạng giữa máy khách và máy chủ cơ sở dữ liệu, đóng vai trò như một proxy minh bạch. Ở chế độ này, nó có thể chủ động chặn lưu lượng SQL độc hại trước khi chúng tiếp cận được cơ sở dữ liệu.
    • Chế độ Giám sát (Out-of-Band / Monitoring Mode): Tường lửa giám sát một bản sao của lưu lượng mạng một cách thụ động (thường thông qua cổng SPAN trên thiết bị chuyển mạch mạng) và gửi cảnh báo khi có vi phạm chính sách xảy ra, mà không can thiệp vật lý để chặn lưu lượng đó theo thời gian thực.
    • Chế độ Tác nhân (Host-Based / Agent Mode): Một tác nhân nhẹ (lightweight agent) được cài đặt trực tiếp trên máy chủ cơ sở dữ liệu để giám sát các hoạt động tại chỗ, bao gồm cả hành động của những người dùng có đặc quyền truy cập trực tiếp vào bảng điều khiển (console), sau đó gửi dữ liệu này về máy chủ quản lý.

4. Một số giải pháp/ Software

  • Nhóm mã nguồn mở (Miễn phí/Chi phí thấp)​

    • GreenSQL (nay là 6Degrees): Một trong những giải pháp nổi tiếng nhất cho MySQL, MariaDB, SQL Server. Nó hoạt động như một Proxy.
    • ProxySQL: Rất mạnh cho MySQL. Dù mục đích chính là cân bằng tải, nhưng nó có bộ lọc Query Rules rất mạnh để làm Firewall.
    • MariaDB MaxScale: Một proxy cực mạnh cho hệ sinh thái MariaDB/MySQL, có sẵn các plugin bảo mật để chặn SQL Injection.
  • Nhóm Enterprise​

    • Imperva SecureSphere (Database Firewall): Cực kỳ thông minh trong việc nhận diện hành vi lạ.
    • IBM Security Guardium: Giải pháp toàn diện cho các tập đoàn lớn, hỗ trợ gần như mọi loại DB (Oracle, DB2, SQL Server...).
    • Oracle Database Firewall: Nếu bạn dùng hệ sinh thái Oracle, đây là lựa chọn tối ưu nhất.

5. Cách Tường lửa Cơ sở dữ liệu bảo vệ dữ liệu của bạn​

  • Lớp 1: Đối chiếu các truy vấn với các dấu hiệu (signatures) đe dọa đã biết.
  • Lớp 2: Sử dụng danh sách cho phép (allowlists) để chỉ chấp nhận các câu lệnh đã được phê duyệt trước.
  • Lớp 3: Phân tích hành vi đáng ngờ để gắn cờ đánh dấu là truy vấn bất thường - ví dụ như các yêu cầu truy xuất dữ liệu hàng loạt đột ngột.

6. Các mối đe dọa phổ biến mà Database Firewall dữ liệu ngăn chặn

  • SQL Injections: Vectơ tấn công web hàng đầu, thao túng các truy vấn để đánh cắp dữ liệu.
  • Credential stuffing: Các nỗ lực đăng nhập tự động bằng mật khẩu bị đánh cắp.
  • Excessive extraction(Trích xuất dữ liệu quá mức): Tin tặc tải xuống toàn bộ bộ dữ liệu trong một lần.
 
Sửa lần cuối:
Back
Top