0

Amazon Aurora MySQL Bài 48: Advanced Auditing, Compliance & Security Logging (Hệ thống Audit Log và Giám sát bảo mật chuyên sâu)

Trong các hệ thống backend đạt chuẩn Enterprise (đặc biệt là lĩnh vực tài chính, thương mại điện tử lớn, hoặc thanh toán), việc tuân thủ các tiêu chuẩn bảo mật quốc tế (như PCI-DSS, ISO 27001, GDPR) đòi hỏi đội ngũ vận hành không chỉ phải bảo vệ dữ liệu mà còn phải trả lời được câu hỏi cốt lõi: "Ai đã truy cập vào cơ sở dữ liệu này? Họ đã chạy câu lệnh SQL nào? Và khi nào sự thay đổi dữ liệu diễn ra?".

Bài viết này sẽ mổ xẻ cơ chế Advanced Audit Logging và tích hợp giám sát bảo mật chuyên sâu trên Amazon Aurora MySQL.

1. Hạn chế của các phương pháp ghi log truyền thống

  • General Query Log: Ghi lại toàn bộ mọi câu lệnh SQL gửi vào database. Tuy nhiên, bật General Log trên môi trường Production tải cao là "thảm họa" vì nó tạo ra lượng file log khổng lồ, làm cạn kiệt dung lượng ổ cứng và làm sụt giảm nghiêm trọng hiệu năng (Performance degradation).

  • Binary Log (Binlog): Dùng cho replication và point-in-time recovery, ghi nhận sự thay đổi dữ liệu nhưng không lưu lại rõ ràng thông tin ngữ cảnh định danh người dùng thực hiện câu lệnh hoặc các nỗ lực đăng nhập thất bại.

2. Aurora MySQL Advanced Audit Plugin

Để giải quyết bài toán kiểm toán bảo mật mà không làm tổn hại hiệu năng, Aurora MySQL tích hợp sẵn Advanced Audit Logging thông qua plugin chuyên dụng của MySQL Enterprise.

  • Cơ chế hoạt động:

    • Theo dõi và ghi nhận chi tiết các sự kiện cốt lõi: Kết nối thành công/thất bại (connect, disconnect), các câu lệnh thực thi (query), và các hành vi thay đổi quyền hạn (grant, revoke).

    • Ghi lại chính xác User, Host/IP nguồn, Timestamp, và Thread ID, giúp bạn dễ dàng truy vết nguồn gốc của mọi hành vi xâm nhập hoặc thao tác nhạy cảm trên cơ sở dữ liệu.

  • Cấu hình tham số kiểm toán cốt lõi: Thông qua Custom Parameter Group, bạn có thể bật và cấu hình các sự kiện cần ghi log:

    • server_audit_logging = ON (Bật tính năng kiểm toán)

    • server_audit_events = CONNECT,QUERY,TABLE (Chỉ định rõ các sự kiện cần ghi lại để tối ưu hóa dung lượng).

3. Tích hợp CloudWatch Logs (Centralized Security Logging)

Trong kiến trúc Cloud-Native, việc lưu file log cục bộ trên instance database là chưa đủ vì instance có thể bị thay thế hoặc scale. Aurora cho phép tự động đẩy toàn bộ Advanced Audit Log trực tiếp lên AWS CloudWatch Logs.

  • Luồng xử lý:

    1. Aurora sinh log kiểm toán tại tầng lưu trữ.

    2. Dịch vụ AWS tự động đồng bộ luồng log này lên CloudWatch Log Group tương ứng (ví dụ: /aws/rds/cluster/hieu-cluster/audit).

    3. Tại CloudWatch, bạn có thể thiết lập Metric Filters để phát hiện ngay lập tức các hành vi khả nghi (ví dụ: phát hiện quá nhiều lần đăng nhập sai mật khẩu liên tiếp từ một IP lạ).

    4. Tích hợp AWS SNS (Simple Notification Service) để bắn tin nhắn cảnh báo (Alerts) thẳng về Telegram hoặc Slack của đội ngũ Security/DevOps khi có sự cố bảo mật.

4. Góc nhìn vận hành cho Backend Engineer

  • Quản lý Retention Policy cho Audit Logs: Các tệp log kiểm toán có thể phình to rất nhanh theo thời gian hoạt động của hệ thống. Hãy cấu hình thời gian lưu trữ (Retention Period) trên CloudWatch Logs phù hợp với quy định của công ty (thường từ 90 ngày đến 1 năm) để vừa đảm bảo tiêu chuẩn pháp lý vừa tối ưu hóa chi phí lưu trữ log trên AWS.

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí