Mục này trình bày một số biện pháp bổ sung cho bảo mật cơ sở dữ liệu, bao gồm: bảo vệ chuỗi kết nối cơ sở dữ liệu và tƣờng lửa cơ sở dữ liệu.
Bảo vệ chuỗi kết nối cơ sở dữ liệu
Chuỗi kết nối cơ sở dữ liệu (Database connection string) là chuỗi mô tả các tham số
mà các máy khách sử dụng để tạo kết nối đến máy chủ cơ sở dữ liệu. Chẳng hạn, một chuỗi kết nối cơ sở dữ liệu có dạng nhƣ sau:
134 ConnectionString = "Driver={SQL Server}; Network=DBMSSOCN;
Server=192.168.0.10;Address=192.168.0.10;WSID=192.168.0.100; Database=CustomersDB;UID=test_user;PWD=Abc123456;"
Do hầu hết các chuỗi kết nối có chứa các thông tin nhạy cảm, nhƣ địa chỉ IP máy chủ, tên truy nhập và mật khấu ngƣời dùng đƣợc lƣu trong các file ở dạng văn bản rõ nên có
nguy cơ bị tin tặc lạm dụng. Do vậy, cần mã hóa các chuỗi kết nối cơ sở dữ liệu để đảm bảo an toàn.
Tường lửa cơ sở dữ liệu
Tƣờng lửa cơ sở dữ liệu là hệ thống lọc truy vấn cơ sở dữ liệu bằng phần cứng hoặc phần mềm đƣợc đặt ở giữa ngƣời dùng, máy khách, hoặc ứng dụng và các máy chủcơ sở
dữ liệu. Nhiệm vụ chính của tƣờng lửa cơ sở dữ liệu là giám sát, phân tích các câu lệnh gửi đến cơ sở dữ liệu dựa trên tập các luật, hoặc chính sách đã định trƣớc. Nếu câu lệnh hợp lệ thì chuyển đến máy chủ cơ sở dữ liệu để thực thi. Ngƣợc lại, nếu phát hiện câu lệnh độc hại thực hiện việc ngăn chặn, cảnh báo, hoặc ghi log. Hình 6.6 biểu diễn mô
hình tƣờng lửa lọc truy vấn kết hợp với kiểm toán (audit) cơ sở dữ liệu.
Ƣu điểm của tƣờng lửa cơ sở dữ liệu là có thể thực hiện việc lọc truy vấn tập trung, từ
nhiều máy khách, ứng dụng đến nhiều máy chủ cơ sở dữ liệu triển khai trong hệ thống mạng. Hơn nữa, tƣờng lửa cơ sở dữ liệu không yêu cầu sửa mã ứng dụng cũng nhƣ mã
truy vấn cơ sở dữ liệu. Nhƣợc điểm của tƣờng lửa cơ sở dữ liệu là làm giảm hiệu năng,
do việc phân tích cú pháp các câu lệnh SQL và chạy các tập luật giám sát tiêu tốn nhiều tài nguyên tính toán.
Hình 6.6.Mô hình tường lửa lọc truy vấn kết hợp với kiểm toán cơ sở dữ liệu