1. Trang chủ
  2. » Công Nghệ Thông Tin

Cơ chế bảo mật cơ sở dữ liệu

45 615 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 594,32 KB

Nội dung

3.1 Xác thực, trao quyền và bảo mật mật khẩu 3.1.1 Xác thực & trao quyền  Điều khiển truy cập vào CSDL nói riêng hoặc các hệ thống nói chung dựa trên 2 dịch vụ:  Xác thực Authenticat

Trang 1

BÀI GIẢNG MÔN

AN TOÀN CƠ SỞ DỮ LIỆU

Trang 3

3.1 Xác thực, trao quyền và bảo mật mật khẩu

3.1.1 Xác thực & trao quyền

 Điều khiển truy cập vào CSDL nói riêng hoặc các hệ thống nói chung dựa trên 2 dịch vụ:

 Xác thực (Authentication): Là quá trình xác minh tính chân thực của các thông tin nhận dạng mà người dùng cung cấp

 Trao quyền (Authorization): Trao quyền xác định các tài nguyên mà người dùng được phép truy nhập sau khi người dùng đã được xác thực

Trang 4

 Thông tin nhận dạng người dùng có thể gồm:

 Bạn là ai? (CMND, bằng lái xe, vân tay, )

 Những cái bạn biết (tên truy nhập, mật khẩu, số PIN )

 Bạn có gì? (Thẻ ATM, thẻ tín dụng, )

 Xác thực 1 hoặc nhiều nhân tố:

 Xác thực 1 nhân tố: các nhân tố xác thực trong 1 nhóm kể trên VD mật khẩu;

 Xác thực 2 nhân tố: các nhân tố xác thực trong 2 nhóm kể trên VD: Thẻ ATM + PIN;

 Xác thực 3 nhân tố: các nhân tố xác thực trong 3 nhóm kể trên VD: Thẻ ATM + Vân tay + PIN

Trang 5

3.1.1 Xác thực & trao quyền

 Xác thực là thành phần cơ sở của mô hình bảo mật

Trang 6

 Lựa chọn phương pháp xác thực phù hợp trong số các

phương pháp xác thực sẵn có:

 Không xác thực (No authentication / Trusted client)

 Xác thực dựa trên hệ điều hành

 Xác thực dựa trên hệ quản trị CSDL

 Xác thực hỗn hợp (hệ điều hành hoặc hệ quản trị CSDL)

 Không nên sử dụng phương pháp Không xác thực hoặc Tin tường máy khách

 Khuyến nghị: Nên sử dụng phương pháp xác thực dựa trên

hệ điều hành do hệ điều hành có cơ chế quản lý thông tin người dùng tương đối tốt và cơ chế xác thực mạnh

Trang 7

3.1.1 Xác thực & trao quyền

 Các phương pháp xác thực hỗ trợ bởi DB2 UDB 8.2:

 SERVER_ENCYPT: Xác thực thực hiện trên máy chủ và máy khách phải cung cấp tên người dùng và mật khẩu;

 KERBEROS: Sử dụng giao thức KERBEROS để xác thực máy khách KERBEROS cho phép một máy khách xác thực và trao đổi khóa với một máy chủ dịch vụ nhờ sự hỗ trợ của máy chủ KERBEROS;

 KRB_SERVER_ENCRYPT: Cho phép lựa chọn phương pháp xác

thực sử dụng KERBEROS hoặc SERVER_ENCYPT;

 DATA_ENCRYPT: Tương tự SERVER_ENCYPT, nhưng dữ liệu trao đổi trong cả phiên làm việc được mã hóa;

 DATA_ENCRYPT_CMP: Xác thực tương tự SERVER_ENCYPT và truyền thông trong phiên làm việc được mã hóa nếu máy khách hỗ trợ

và không được mã hóa nếu máy khách không hỗ trợ;

Trang 8

 Các phương pháp xác thực hỗ trợ bởi DB2 UDB 8.2:

 GSSPLUGIN: Phương pháp xác thực mở rộng, cho phép sử dụng bất

kỳ một phương pháp xác thực nào tuân theo GSS API (Generic

Security Service Application Program Interface);

 GSS_SERVER_ENCRYPT: Phương pháp xác thực có thể là

GSSPLUGIN hoặc SERVER_ENCRYPT

Trang 9

3.1.1 Xác thực & trao quyền

 Các phương pháp xác thực hỗ trợ bởi MS SQL:

 Xác thực bởi hệ điều hành (Windows authetication)

• MS SQL hoàn toàn dựa vào hệ điều hành để xác thực người dùng và liên kết người dùng với các nhóm;

• Là phương pháp xác thực Microsoft khuyến nghị sử dụng

 Xác thực hỗn hợp (Mixed authetication)

• Xác thực bởi Windows

– Được thực hiện nếu máy khách hỗ trợ NTLM (NT LAN Manager) hoặc Kerberos

• Xác thực bởi MS SQL Server

Trang 10

 Các phương pháp xác thực hỗ trợ bởi Oracle Oracle hỗ trợ nhiều phương pháp xác thực, trong đó, 2 phương pháp

Trang 11

3.1.1 Xác thực & trao quyền

 Nhận dạng và có biện pháp giám sát những người dùng có quyền quản trị CSDL:

 Tùy thuộc vào phương pháp xác thực, nhận dạng danh sách người dùng (người dùng của HĐH và của hệ quản trị CSDL) có quyền quản trị (administration);

 Giám sát hoạt động của người dùng quản trị trên CSDL

 Hạn chế đến tối thiếu số lượng người dùng có quyền quản trị trên CSDL

 Không sử dụng người dùng có quyền quản trị trong các thao thác dữ liệu của các ứng dụng

Trang 12

 Mặc dù có nhiều công nghệ xác thực, nhưng xác thực dựa trên mật khẩu vẫn là phương pháp được sử dụng phổ biến nhất trong xác thực người dùng CSDL

 Tính bảo mật của kỹ thuật điều khiển truy nhập sử dụng mật khẩu dựa trên:

 Độ khó đoán của mật khẩu

• Dùng nhiều loại ký tự

– Chữ thường, hoa, chữ số, ký tự đặc biệt:

» abc1234: mật khẩu tồi

» aBc*1#24: mật khẩu tốt

• Độ dài của mật khẩu

– Mật khẩu người dùng tốt có chiều dài >= 8 ký tự – Mật khẩu quản trị tốt cần có chiều dài >=10 ký tự

Trang 13

3.1.2 Bảo mật mật khẩu

 Tính bảo mật của kỹ thuật điều khiển truy nhập sử dụng mật khẩu dựa trên:

 Tuổi thọ của mật khẩu

• Mật khẩu không hết hạn (không nên dùng)

• Mật khẩu có thời hạn sống (thời gian sống của mật khẩu nên đặt phụ thuộc chính sách an ninh, an toàn của cơ quan, tổ chức Có thể là 1, 2, 3, hoặc 6 tháng

• Mật khẩu dùng 1 lần (ít dùng trong xác thực người dùng CSDL)

 Tránh sử dụng các mật khẩu "yếu":

 Nhiều hệ quản trị CSDL, như SQL Server 7, 2000 cho phép user sa (có quyền quản trị) không có mật khẩu (mật khẩu trắng);

 Sử dụng các mật khẩu ngắn, dễ đoán, như tên, ngày tháng năm

sinh, tên đăng nhập

 Dùng một mật khẩu (kể cả mật khẩu tốt) trên nhiều hệ thống

Trang 14

 Áp dụng chính sách quản lý mật khẩu "mạnh":

Trang 15

3.1.2 Bảo mật mật khẩu

 Áp dụng chính sách quản lý mật khẩu "mạnh":

 Enforce password policy: Bắt buộc áp dụng chính sách quản lý mật

khẩu;

 Enforce password expiration: Áp dụng thời gian hết hạn cho mật khẩu

 User must change password at next logon: Bắt buộc người dùng phải đổi mật khẩu ở lần đăng nhập tiếp theo

 Chính sách quản lý mật khẩu được áp dụng là chính sách

an ninh của hệ điều hành

Trang 16

 Chính sách quản lý mật khẩu được áp dụng là chính sách

an ninh của hệ điều hành

Trang 17

3.1.2 Bảo mật mật khẩu

 Ghi logs

đăng nhập:

Trang 18

 Dùng công cụ crack để kiểm tra mật khẩu:

 SQLDict: http://ntsecurity.nu/toolbox/sqldict/

Trang 19

3.1.2 Bảo mật mật khẩu

 Sử dụng công cụ quản lý mật khẩu:

Trang 20

 Dữ liệu và cơ sở dữ liệu có thể được đảm bảo an toàn

thông qua việc đảm bảo an cho ứng dụng truy cập CSDL

 Đa phần các ứng dụng CSDL (như các website) cho phép nhiều người dùng ứng dụng, nhưng chúng thường chỉ dùng

1 hoặc một số ít tài khoản để kết nối với CSDL

Trang 21

3.2 Bảo mật ứng dụng CSDL

 VD: Một trang web bán sách trực tuyến có thể hỗ trợ nhiều lớp người dùng thông qua các cơ chế phân quyền:

 Khách viếng thăm được phép tìm kiếm sách, xem các thông tin chi tiết

về sách, chọn sách và đưa vào giỏ hàng;

 Thành viên có thể thực hiện việc đặt hàng và thanh toán, cũng như theo dõi việc chuyển hàng và gửi phản hồi về chất lượng phục vụ;

 Nhân viên có thể thêm mới, cập nhật thông tin về sách và quản lý các đơn hàng của khách hàng

 Trang web có thể sử dụng 1 tài khoản hoặc 1 số ít tài khoản

để kết nối đến CSDL và thao tác dữ liệu

 Để đảm bảo an toàn cao, cần kết hợp hài hòa giữa việc

phân quyền truy nhập ở ứng dụng và ở mức CSDL

Trang 22

 Hạn chế của việc quản lý quyền truy nhập ở mức ứng dụng:

 Do CSDL tuyệt đối "tin tưởng" ứng dụng và người phát triển ứng

dụng, nên bất kỳ khiếm khuyết hoặc lỗ hổng ở ứng dụng có thể dẫn đến các nguy cơ đối với CSDL;

 Ứng dụng không thể kiểm soát người dùng sử dụng các tài khoản truy nhập trực tiếp CSDL không thông qua ứng dụng:

• Người phát triển có thể sử dụng các tài khoản quản trị để thao tác dữ liệu trực tiếp;

• Người quản lý có thể sử dụng tài khoản riêng để chạy các câu truy vấn đặc biệt trích xuất dữ liệu

 Cần có chính sách quản lý và sử dụng các tài khoản truy xuất CSDL giữa ứng dụng và người dùng trực tiếp cho phù hợp, nhằm đảm bảo

an toàn cho cả ứng dụng và CSDL

Trang 23

3.2 Bảo mật ứng dụng CSDL

 Mô hình kết nối máy chủ web với máy chủ CSDL thông qua tường lửa:

Trang 24

 Thiết lập quyền truy nhập phù hợp

 Giữ bí mật mã nguồn

 Sử dụng phương pháp ẩn thông tin

 Vấn đề liệt kê và duyệt các thư mục

Trang 25

3.2 Bảo mật ứng dụng CSDL - Bảo mật hệ thống file -

Thiết lập quyền truy nhập

 Kết hợp sử dụng công cụ quản trị quyền truy nhập vào hệ thống file cục bộ của HĐH để thiết lập quyền truy nhập phù hợp cho các nhóm người dùng:

 Các trang công cộng: cho phép tất cả người dùng

 Các trang nội bộ: yêu cầu xác thực bằng username+password, hoặc quản lý quyền truy nhập theo phiên làm việc

 Các trang quản trị: bổ sung giới hạn các máy/mạng được phép truy cập thông qua địa chỉ IP

 Các chứa dữ liệu nhạy cảm của HĐH, máy chủ web: hạn chế truy

nhập

Trang 26

 Mã nguồn của các trang web (trừ mã HTML/CSS) cần được giữ bí mật, tránh việc tin tặc có thể truy nhập

Trang 27

3.2 Bảo mật ứng dụng CSDL - Bảo mật hệ thống file –

Trang 28

 Rò rỉ mã scripts do sao lưu (backup):

 Nhiều trình soạn thảo tự động lưu các nội dung cũ của file sang file backup, trước khi lưu nội dung cập nhật vào file Tên file backup có thể là:

Trang 29

3.2 Bảo mật ứng dụng CSDL - Bảo mật hệ thống file –

Giữ bí mật mã nguồn

 Rò rỉ thông tin từ phần chú thích mã:

Trang 30

 Phương pháp ẩn thông tin truy nhập (obscurity) có thể được

sử dụng như một phương pháp bổ sung để tăng cường an ninh

 Nó không nên được sử dụng là biện pháp duy nhất

 Nên được dùng kết hợp với các biện pháp khác

Trang 31

3.2 Bảo mật ứng dụng CSDL

 Vấn đề liệt kê và duyệt các thư mục:

 Cho phép/cấm liệt kê thư mục

• Sử dụng trang ngầm định

• Cấm liệt kê và sử dụng trang để báo lỗi

 Duyệt các thư mục thông qua chuỗi duyệt

Trang 32

 Quyền truy nhập đến các đối tượng trong CSDL có thể được thiết lập tùy thuộc vào chính sách quản trị CSDL và ứng

dụng

 Mỗi tài khoản người dùng được cấp quyền truy nhập thông qua việc gán vào một hoặc một số nhóm vai trò (roles);

 Một người dùng có thể truy nhập một hoặc một số CSDL;

 Việc truy nhập vào từng đối tượng trong CSDL có thể được gán riêng

 Các đối tượng trong CSDL:

 Các bảng dữ liệu

 Các View (khung nhìn)

 Các thủ tục, hàm

Trang 33

3.3 Bảo mật các đối tượng trong CSDL

 Gán tài khoản người dùng vào các server roles

Trang 35

3.3 Bảo mật các đối tượng trong CSDL

Trang 36

 Cấp hoặc hủy quyền truy nhập các đối tượng trong CSDL

 Quyền truy nhập gồm:

 Execute: với thủ tục, hàm và trigger

 SELECT, INSERT, UPDATE, DELETE và một số quyền khác với

bảng

Trang 37

3.4 Sử dụng mã hóa trong CSDL

 Giới thiệu về mã hóa CSDL

 Mã hóa dữ liệu trong bảng

 Mã hóa dữ liệu toàn bộ

 Mã hóa dữ liệu trên đường truyền

 Mã hóa dữ liệu sử dụng các thiết bị lưu trữ đặc biệt

Trang 38

 Các kỹ thuật mã hóa có thể được sử dụng để bảo vệ dữ liệu lưu trong CSDL cũng như để bảo vệ cả CSDL

 Hai phương pháp phổ biến được sử dụng:

• Với hàm băm 1 chiều thì không giải mã được

• Các giải thuật hăm thông dụng: MD4, MD5, MD2, SHA1, SHA2, SHA3,

• Thường được dùng để mã hóa mật khẩu

Trang 39

3.4 Sử dụng mã hóa – Mã hóa dữ liệu trong bảng

 Dữ liệu trong bảng có thể được mã hóa theo 2 hướng:

 Sử dụng các hàm mã hóa/giải mã trong CSDL để mã hóa/giải mã khi thực hiện các thao tác ghi/đọc

• Các hệ quản trị CSDL cũ thường không hỗ trợ các hàm mã hóa/giải mã

• Các hệ quản trị CSDL mới hỗ các hàm mã hóa/giải mã ở mức hạn chế

 Mã hóa / giải mã dữ liệu tại lớp ứng dụng

• Thư viện API của ứng dụng hỗ trợ các hàm mã hóa/giải mã mạnh

 Khi dữ liệu trong bảng được mã hóa sẽ gây khó khăn cho việc lập chỉ số và tìm kiếm

 Cần cân nhắc các dữ liệu cần mã hóa và chọn phương pháp mã hóa phù hợp

 Mã hóa sẽ làm tăng tải máy chủ CSDL hoặc máy chủ ứng

Trang 40

 Dữ liệu trong các bảng và cả dữ liệu quản lý các bảng có thể được mã hóa nhờ một công nghệ đặc biệt thực hiện trực

tiếp trên máy chủ CSDL;

 Dữ liệu được mã hóa khi nó được ghi vào CSDL;

 Dữ liệu được giải mã sau khi được đọc từ CSDL và nạp vào bộ nhớ;

 MS SQL server 2008 giới thiệu công nghệ Transparent Data Encryption cho phép mã hóa từng khối dữ liệu khi nó được ghi vào CSDL và giải mã khi khối được đọc ra từ CSDL

 Nhược điểm:

 Tăng tải máy chủ CSDL;

 Nếu người dùng hoặc tin tặc có thể truy cập CSDL, thì hắn ta có thể trích xuất dữ liệu từ CSDL theo cách thông thường

Trang 41

3.4 Sử dụng mã hóa – Mã hóa dữ liệu truyền

 Dữ liệu trao đổi giữa máy khách và máy chủ CSDL có thể được bảo vệ sử dụng các kỹ thuật dựa trên mã hóa:

• Tạo đường hầm/kênh giao tiếp an toàn giữa máy chủ và máy khách

• Hai chế độ làm việc: Transport / Tunnel

• Hai phương thức mã hóa: AH và ESP

Trang 42

 Các thiết bị lưu trữ đặc biệt, có hỗ trợ mã hóa dữ liệu có thể được sử dụng để lưu trữ CSDL

 Các thiết bị lưu trữ (thường là HDD và RAID) hỗ trợ sẵn khả năng mã hóa/giải mã, nên toàn bộ CSDL được bảo vệ bằng

mã hóa

 Nhược điểm:

 Nếu người dùng hoặc tin tặc có thể truy cập CSDL, thì hắn ta có thể trích xuất dữ liệu từ CSDL theo cách thông thường

Trang 43

3.5 Một số biện pháp bảo mật CSDL và ứng dụng khác

 Bảo vệ chuỗi kết nối CSDL (connection string):

 Hầu hết các chuỗi kết nối được lưu trong các file ở dạng text

 Có nguy cơ bị tin tặc làm dụng

 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;"

 Cần mã hóa các chuỗi kết nối CSDL để đảm bảo an toàn

 Tường lửa CSDL:

 Giám sát, phân tích các câu lệnh gửi đến CSDL

 Nếu phát hiện câu lệnh độc hại  ngăn chặn

 Phát hiện dựa trên tập các luật/chính sách đã định trước

Trang 44

 Sử dụng mật khẩu một lần (OTP – One Time Password) để xác thực các giao dịch:

 Mật khẩu được sinh ra và chỉ được dùng 1 lần cho 1 phiên làm việc hoặc 1 giao dịch;

 Mật khẩu thường được sinh ngẫu nhiên

 Chuyển giao mật khẩu:

• In ra giấy một danh sách mật khẩu để dùng dần

• Gửi qua các phương tiện khác như SMS

• Sử dụng các thiết bị chuyên dụng, như các token,

 Ưu điểm: an toàn hơn, tránh được tấn công kiểu replay (lấy được mật khẩu dùng lại)

 Nhược điểm: người sử dụng khó nhớ mật khẩu

Trang 45

3.5 Một số biện pháp bảo mật CSDL và ứng dụng khác

 Sử dụng các phương pháp xác thực form, trang như

CAPTCHA

Ngày đăng: 01/06/2016, 08:52

TỪ KHÓA LIÊN QUAN

w