BÁO CÁO
Mơn: An tồn
ứng dụng web
và cơ sở dữ liệu
Đề tài: Hệ quản trị cơ sở dữ liệu MYSQL
Nhóm thưc hiện: 03
Thành viên nhóm
Nhóm trưởng: Nguyễn Anh Tuấn-B19DCAT166
Lê Tài Quang Huy-B19DCAT086
Châu Phan Hồi Linh-B19DCAT110
Phạm Văn Thanh-B19DCAT174
Nguyễn Tuấn Thành-B19DCA178
Trịnh Cơng Tồn-B19DCAT162
TỔNG QUAN
+ MySQL là hệ quản trị dữ liệu quan hệ,
mã mở được sử dụng rộng rãi do
MySQL hỗ trợ đầy đủ các tính năng
của một hệ quản trị cơ sở dữ liệu mạnh
và phiên bản MySQL Community
được cung cấp miễn phí theo giấy
phép GPL.
KIẾN TRÚC
+ Hệ quản trị MYSQL bao gồm các
thành phần: Connectors (Các bộ
kết nối), Connection Pool (Bộ lưu
kết nối), Query Engine (Mô tơ
truy vấn), Pluggable Storage
Engines (Các mô tơ lưu trữ có thể
cắm được), Files and Logs (Các
file và log) và Management
Services & Utilities (Các dịch vụ
quản lý và tiện ích).
KIẾN TRÚC
+ Thành phần Mô tơ truy vấn lại
gồm các mô đun con: SQL
Interface (Giao diện SQL),
Parser (Bộ kiểm tra và dịch truy
vấn), Optimizer (Bộ tối ưu hóa),
Caches & Buffers (Các bộ nhớ
cache và bộ đệm)
Mơ hình bảo mật
+ Mơ hình bảo mật của MySQL gồm 4
nhóm bảo mật chính
Authentication (Xác thực)
Authorization (Trao quyền)
Encryption (Mã hóa)
Firewall & Auditing (Tường lửa và kiểm
tốn)
Mơ hình bảo mật
+ MySQL hỗ trợ nhiều phương pháp xác
thực người dùng, bao gồm: xác thực
dựa trên hệ điều hành (Windows
Active Directory, Linux / LDAP), xác
thực cung cấp bởi bản thân MySQL và
xác thực Custom.
+ Phương pháp xác thực Custom là xác
thực bằng phương pháp riêng, hoặc
đặc thù.
Mơ hình bảo mật
MySQL hỗ trợ một số cơ chế mã hóa,
như giao thức bảo mật SSL/TLS, các
hệ mã hóa khóa bí mật và khóa cơng
khai, và chữ ký số.
Cơ
chế bảo mật
trong
MYSQL
Vấn đề bảo mật cơ sở dữ liệu
+ Bảo vệ dữ liệu khỏi bị trái phép truy cập, tiết lộ, sửa
đổi hoặc phá hủy là những việc vô cùng quan trọng
khi ta sử dụng hệ quản trị CSDL để lưu trữ và sử
dụng dữ liệu.
+ Cần phải đảm bảo rằng người dùng có quyền thích
hợp để xem dữ liệu, chèn dữ liệu mới hoặc cập nhật
dữ liệu là một khía cạnh quan trọng của phát triển
ứng dụng.
+ Bảo mật cơ sở dữ liệu liên quan đến việc bảo vệ cơ
sở dữ liệu khỏi truy cập trái phép, phá hoại độc hại
và thậm chí là bất kỳ mất mát hay sử dụng sai mục
đích.
Bảo mật cơ sở
dữ liệu
+ Các loại tấn công vào database
Tấn công suy luận
Tấn công bị động
Tấn công chủ động
Tấn công SQL Injection(SQLIA)
Thực
hiện bảo mật
trên
MYSQL
Kiểm soát truy nhập sử dụng SQL data
control language
Các commands sử dụng để gán các phân
quyền cho người dùng gọi là đặc quyền.
Lệnh cấp(Grant): Người quản trị cơ sở
dữ liệu dùng lệnh GRANT trong SQL
để cấp quyền truy cập hoặc đặc quyền
cho người dùng cơ sở dữ liệu.
Lệnh thu hồi(revoke):lệnh này trong
SQL dùng để lấy đi đặc quyền từ người
dùng cơ sở dữ liệu.
MySQL
Enterprise
Firewall
+ MySQL Enterprise Firewall là
một tường lửa cấp ứng dụng để
quản trị viên cơ sở dữ liệu cho
phép hoặc từ chối thực thi câu
lệnh SQL dựa trên đối sánh với
danh sách trắng các mẫu câu
lệnh được chấp nhận
View
View là các bảng ảo được tạo thông
qua một số thao tác trên các đối
tượng cơ sở dữ liệu
Với View các bảng dữ liệu bảo mật
sẽ không được truy vấn trực tiếp mà
chỉ có những dữ liệu xác định mới
được đi qua,điều này sẽ tăng thêm
lớp bảo mật trong CSDL .
Sao lưu(Back up) và
phục hồi(Recovery)
+ Sao lưu là lấy một bản sao của nhật ký quy trình
cùng với một sao chép định kỳ cơ sở dữ liệu quan
hệ và lưu trữ nó trong bộ nhớ để truy xuất sau này.
+ Phục hồi là khôi phục database mysql , dữ liệu
được lưu trong file sql để sử dụng cho việc xây
dựng lại database
Cơ chế khóa(Locking Mecharnnism)
+ Khóa là một cơ chế được
liên kết với một bảng được
sử dụng để hạn chế quyền
truy cập trái phép vào dữ
liệu trong một bảng.
+ Khóa là các biến thuộc tính
đặc biệt.
Tính năng của hệ quản trị CSDL MySQL
Kiến trúc Máy khách/Máy chủ
+ Hệ thống máy khách / máy chủ liên quan đến cơ sở dữ liệu chính MySQL Server
và nhiều máy khách - chương trình ứng dụng. MySQL Server tạo cơ sở dữ liệu
và xác định mối quan hệ của mỗi bảng. Các máy khách giao tiếp với máy chủ để
yêu cầu và thao tác dữ liệu bằng các câu lệnh SQL cụ thể. Các tác vụ có thể bao
gồm truy vấn dữ liệu, thêm và lưu các thay đổi, v.v. Ứng dụng máy chủ cung cấp
thông tin được yêu cầu từ phía khách hàng.
+ Máy chủ và máy khách có thể nằm trên cùng một máy tính hoặc các máy khác
nhau. Trong trường hợp thứ hai, chúng giao tiếp qua mạng (cục bộ hoặc
Internet). Kiến trúc máy khách / máy chủ là điển hình cho tất cả các hệ thống cơ
sở dữ liệu lớn.
Hỗ trợ ODBC
Với sự trợ giúp của Giao diện ODBC
Connector / ODBC, bạn có thể xử lý
MySQL bằng các ngơn ngữ lập trình
như Delphi, Visual Basic và các ngơn
ngữ tiêu chuẩn khác chạy trong
Windows.
Truy vấn và lệnh SQL
Để làm việc với cơ sở dữ liệu quan
hệ MySQL một cách hiệu quả, bạn có
thể sử dụng các khung nhìn, trình
kích hoạt và các thủ tục được lưu
trữ. Tất cả các mục này là các phần
tử SQL chính giúp quản lý đáng kể
các cơ sở dữ liệu lớn. MySQL đã hỗ
trợ các yếu tố này kể từ phiên bản
5.0.
Nhân rộng
Có thể sao chép nội dung của cơ
sở dữ liệu MySQL sang các máy
tính khác. Bằng cách này, ta có
thể bảo vệ dữ liệu khỏi các lỗi hệ
thống hay ta có thể thay thế cơ sở
dữ liệu bằng bản sao của nó khi
cần.
Giao dịch
Giao dịch là viết tắt của việc thực hiện một số hoạt động như một
khối. Một tính năng quan trọng là tất cả các thao tác đều được thực hiện
chính xác trong giao dịch hoặc khơng có thao tác nào trong số chúng có
thể được thực hiện.
Ràng buộc khoá ngoại
Trong cơ sở dữ liệu MySQL,
các ràng buộc khóa ngoại được
hỗ trợ đầy đủ cho các bảng
InnoDB. Ta có thể chắc chắn
rằng tất cả các tham chiếu
chéo trong bảng đều hợp lệ và
chính xác.
Từ điển dữ liệu
MySQL bao gồm vô số đối tượng và khối lượng thông tin khổng lồ về
các đối tượng đó. Đó là lý do tại sao nó giới thiệu từ điển dữ liệu chuyên
dụng lưu trữ tất cả thông tin về các đối tượng cơ sở dữ liệu MySQL
đó. Đây là định dạng an toàn khi gặp sự cố, tập trung và được tối ưu hóa
hơn so với cách lưu trữ siêu dữ liệu dựa trên tệp trước đó. Ngồi ra, nó
là thuận tiện hơn nhiều để truy cập và làm việc.