Bài thực hành Bảo mật hệ thống thông tin - Bài thực hành số 2: Cơ bản về quản lý người dùng

Bảo Mật Hệ Thống Thông Tin  
Lab 2  
1
Bài thực hành số 2  
CƠ BẢN VỀ QUẢN NGƯỜI DÙNG  
Tóm tắt nội dung:  
Tablespace  
Schema  
User  
Resource (tài nguyên)  
Profile  
I. Quản Lý User  
A. Lý thuyết  
1. Tablespace  
Một CSDL Oracle được chia thành những đơn vị lưu trữ luận được gọi là các  
tablespace, nhằm mục đích gom nhóm các cấu trúc luận lý có liên quan với nhau.  
Mỗi CSDL có 1 hoặc nhiều các tablespace. Mỗi tablespace chứa 1 hoặc nhiều các  
datafile. Datafile là các cấu trúc vật tương thích với hệ điều hành bên dưới, dùng  
để lưu trữ dữ liệu của các cấu trúc luận lý trong tablespace chứa nó. Kích thước  
tổng cộng của các datafile chính là dung tích lưu trữ tổng cộng của tablespace đó.  
Một CSDL có 2 tablespace SYSTEM và USERS.  
Tablespace SYSTEM chứa 2 datafile là DATA1.ORA và DATA2.ORA  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
2
Một tablespace chứa 2 datafile.  
Bên trong các datafile là các đối tượng, như là table và index.  
Các đối tượng trong tablespace có thể nằm trên vài datafile.  
Có 2 loại tablespace:  
System tablespace:  
-
Mọi CSDL Oracle đều có 2 system tablespace là SYSTEM và SYSAUX,  
được tạo ra một cách tự động.  
-
Chứa thông tin về các data dictionary views, các định nghĩa của stored  
procedures, packages, và các database triggers dưới dạng PL/SQL program  
units, SYSTEM rollback segment,…  
-
Không nên chứa dữ liệu người dùng trong tablespace này mặc dù có thể.  
Non-system tablespace:  
Dùng để chứa các loại dữ liệu còn lại, đặc biệt là các dữ liệu của người  
dùng.  
-
Một cách phân loại khác của tablespace:  
Temporary tablespace: được sử dụng để dành riêng cho các thao tác sắp xếp dữ  
liệu.  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
3
Permanent tablespace: Các tablespaces không phải temporary tablespaces  
được gọi là các permanent tablespaces. Các permanent tablespace được sử  
dụng để lưu trữ dữ liệu trong database.  
2. Schema  
Schema một tập hợp các đối tượng cơ sở dữ liệu (vd: table, view, index,…).  
Mỗi schema được sở hữu bởi một user và có cùng tên với user.  
Không có mối quan hệ nào giữa schema tablespace. Các đối tượng thuộc 1  
schema thể nằm trên các tablespace khác nhau và 1 tablespace thể chứa các  
đối tượng thuộc nhiều schema khác nhau.  
B. Thực hành  
1. Tạo mới User  
a. Tạo 1 user mới với câu lệnh sau:  
CREATE USER salapati IDENTIFIED BY sammyy1;  
User created.  
Khi tạo mới 1 user, ta có thể quy định về default tablespace, temporary tablespace,  
quota trên các tablespace, thời hạn hiệu lực của password,… ngay trong câu lệnh  
tạo user hoặc sẽ chỉ định cụ thể sau này.  
b. Hiển thị tablespace của user vừa mới tạo:  
SELECT default_tablespace, temporary_tablespace  
FROM dba_users  
WHERE username='SALAPATI';  
DEFAULT_TABLESPACE TEMPORARY_TABLESPACE  
------------------- -------------------------  
USERS  
TEMPTBS_01  
Tuy trong câu lệnh tạo user ta không chỉ định default tablespace và temporary  
tablespace, Oracle đã tự gán các giá trị mặc định cho user này.  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
4
c. Log out ra khỏi user hiện tại và log in bằng user vừa mới tạo, sẽ nhận được thông  
báo:  
ERROR:  
Ora-01045: user SALAPATI lacks CREATE SESSION privilege;  
logon denied  
Lý do: user vừa mới tạo chưa được cấp quyền CREATE SESSION, là quyền cho  
phép 1 user kết nối đến database. Để user vừa mới tạo thể login được, ta phải cấp  
quyền CREATE SESSION.  
Đăng nhập lại user ban đầu cấp quyền cho user salapati như sau:  
GRANT CREATE SESSION TO salapati;  
Grant succeeded.  
d. Khi user mới được tạo ra, nếu ta không cấp các quyền tạo các loại object (table,  
index,…) thì user đó không thể tạo được các object. Tùy thuộc vào nhu cầu của  
từng user, ta chỉ nên cấp những quyền cần thiết chứ không nên cấp dư.  
Một điều kiện bắt buộc khác để user có thể tạo được các object là ta phải cấp quota  
cho user trên các tablespace tương ứng. Một user có thể được cấp quota sử dụng  
trên 1 hoặc nhiều tablespace. Quota có thể limited hoặc unlimited.  
dụ sau cho thấy khi user salapati tạo mới 1 bảng sẽ hiển thị thông báo lỗi:  
CONNECT salapati/sammyy1  
Connected.  
CREATE TABLE xyz (name VARCHAR2(30));  
create table xyz (name varchar2(30))  
*
ERROR at line 1:  
ORA-01950: no privileges on tablespace 'USERS'  
Để khắc phục lỗi trên, log in lại vào user sinh viên của mình và thực hiện các câu  
lệnh sau:  
ALTER USER salapati  
QUOTA 100M ON users;  
User altered.  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
5
GRANT CREATE TABLE TO salapati;  
Grant succeeded.  
Nếu muốn user có thể sử dụng tối đa 1 tablespace nào đó thì dùng cú pháp sau:  
ALTER USER salapati  
QUOTA UNLIMITED ON users;  
e. Vì một user có thể được cấp quota trên nhiều tablespace khác nhau, nên khi tạo các  
đối tượng, user có thể chỉ định cụ thể tablespace mà mình muốn tạo đối tượng trên  
đó. Nếu không chỉ định thì hệ thống sẽ tự động tạo trên default tablespace của user  
đó.  
CREATE TABLE abc (name varchar2(30)) TABLESPACE users;  
f. Nếu muốn user có thể tạo object trên bất kỳ tablespace nào thì dùng cú pháp sau:  
GRANT UNLIMITED TABLESPACE TO salapati;  
Grant succeeded.  
g. Có thể xem thông tin về quota được cấp cho các user thông qua view  
DBA_TS_QUOTAS  
SELECT  
FROM  
tablespace_name, username, bytes  
DBA_TS_QUOTAS;  
h. Có thể gán tablespace lúc tạo mới user như sau:  
CREATE USER salapati_new IDENTIFIED BY sammyy1  
TEMPORARY TABLESPACE TEMPTBS01  
DEFAULT TABLESPACE USERS  
QUOTA 500M ON USERS;  
User created.  
2. Thay đổi các đặc tính của user  
a. Thay đổi password:  
ALTER USER salapati IDENTIFIED BY susana;  
Hoặc:  
ALTER USER salapati IDENTIFIED BY susana REPLACE sammyy1;  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
6
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
7
b. Password expiration:  
Ta có thể làm cho 1 password hết hạn bằng 2 cách:  
ALTER USER salapati IDENTIFIED BY susana PASSWORD EXPIRE;  
User altered.  
Hoặc  
ALTER USER salapati PASSWORD EXPIRE;  
User altered.  
Ta cũng thể bắt buộc password expire ngay khi tạo mới một user:  
CREATE USER paris IDENTIFIED BY p124 PASSWORD EXPIRE;  
Sau khi làm expire password các user trên, hãy log in vào các user đó (salapati,  
paris) và tự rút ra nhận xét.  
c. Trạng thái account:  
Ta có thể thay đổi trạng thái tài khoản (lock/unlock) của một user để cho  
phép/không cho phép user đó truy xuất vào CSDL.  
ALTER USER salapati ACCOUNT LOCK;  
ALTER USER paris ACCOUNT UNLOCK;  
Xem trạng thái tài khoản (Account Status) của tất cả các user:  
SELECT username, account_status  
FROM dba_users;  
3. Xóa User  
DROP USER salapati;  
User Dropped.  
Lưu ý: lệnh drop user không chỉ xóa user mà còn xóa tất cả object thuộc về user đó. Khi  
user đã có object thì phải dùng thêm tùy chọn CASCADE:  
DROP USER salapati CASCADE;  
User Dropped.  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
8
II. User Profile  
A. Lý thuyết  
1. Profile  
Một profile là một tập hợp có tên của các giới hạn tài nguyên, được gán cho một  
hay nhiều user trong CSDL Oracle.  
Profile cung cấp một cách quản dễ dàng việc giới hạn tài nguyên. Nó giúp giới  
hạn việc sử dụng quá mức các tài nguyên của toàn hệ thống. Profile cũng là cách để  
quản lý các chính sách về password.  
Trong một CSDL có thể tạo nhiều profile. Một profile mặc định sẽ được dùng để  
gán cho những user không được gán profile một cách tường minh.  
Lưu ý rằng các giá trị mặc định đều được thiết lập là “unlimited”.  
2. Các loại tài nguyên  
Một profile có thể tả các loại giới hạn tài nguyên sau:  
Số lượng các session đồng thời mà user có thể thực hiện.  
Thời gian xử lý CPU cho một session của user đó hoặc cho một cuộc gọi (call)  
tới Oracle bởi 1 câu lệnh SQL.  
Số lần đọc luận lý I/O cho một session của user đó hoặc cho một cuộc gọi (call)  
tới Oracle bởi 1 câu lệnh SQL.  
Lượng thời gian nhàn rỗi cho session của user.  
Lượng thời gian connect cho một session.  
Các quy định về password (số lần cố gắng login thất bại, thời gian hiệu lực của  
1 password,…)  
B. Thực hành  
1. Tạo mới Profile  
a. Trước hết, để hệ thống thể thi hành việc ràng buộc các giới hạn tài nguyên, ta  
cần enable tham số hệ thống RESOURCE_LIMIT bằng câu lệnh sau:  
ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;  
Tham số RESOURCE_LIMIT có giá trị mặc định ban đầu là FALSE.  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2  
9
b. Tạo mới 1 profile bằng câu lệnh sau:  
CREATE PROFILE app_user LIMIT  
FAILED_LOGIN_ATTEMPTS  
SESSIONS_PER_USER  
CPU_PER_SESSION  
3
UNLIMITED  
UNLIMITED  
3000  
CPU_PER_CALL  
CONNECT_TIME  
45  
IDLE_TIME  
60  
LOGICAL_READS_PER_SESSION  
LOGICAL_READS_PER_CALL  
DEFAULT  
1000;  
Lưu ý, để tạo PROFILE, cần quyền CREATE PROFILE.  
2. Gán profile  
a. Có thể gán profile khi vừa tạo user:  
CREATE USER salapati IDENTIFIED BY sammyy1  
TEMPORARY TABLESPACE TEMPTBS01  
DEFAULT TABLESPACE USERS  
GRANT QUOTA 500M ON USERS  
PROFILE app_user;  
User created.  
b. Khi tạo mới user, nếu không gán tường minh thì user sẽ được gán profile mặc định  
như sau:  
CREATE USER venice IDENTIFIED BY sammyy1;  
User created.  
SELECT profile FROM dba_users  
WHERE username = 'VENICE';  
PROFILE  
-----------  
DEFAULT  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
Bảo Mật Hệ Thống Thông Tin  
Lab 2 10  
Để xem thông tin về profile mặc định:  
SELECT DISTINCT resource_name, limit  
FROM dba_profiles  
WHERE profile='DEFAULT';  
c. Gán profile cho 1 user:  
ALTER USER salapati  
PROFILE test;  
3. Thay đổi profile  
ALTER PROFILE test LIMIT  
SESSIONS_PER_USER 4  
FAILED_LOGIN_ATTEMPTS 4;  
4. Xóa profile  
DROP PROFILE test CASCADE;  
III. Bài Tập  
1. Tạo một profile “Password” thỏa mãn:  
a) Thời hạn sử dụng là 60 ngày.  
b) Gia hạn 10 ngày.  
c) Số ngày mà sau đó password mới được sử dụng lại là 1 ngày.  
d) Số lần thay đổi password trước khi được sử lại password là 5 lần.  
e) Số lần nhập sai password là 3.  
2. Kiểm tra profile vừa tạo:  
a) Tạo mới user John với password p123.  
b) Gán profile “Password” vừa tạo cho user này.  
c) Thực hiện những câu lệnh cần thiết để kiểm tra tác dụng của yêu cầu 1d. Cho biết kết  
quả.  
d) Hiện tượng xảy ra khi nhập password sai 4 lần? Làm sao để khắc phục hậu quả vừa  
xảy ra?  
Chương Trình Đào Tạo Từ Xa  
KH & KT Máy Tính – Đại học Bách Khoa TP.HCM  
docx 10 trang yennguyen 08/04/2022 4940
Bạn đang xem tài liệu "Bài thực hành Bảo mật hệ thống thông tin - Bài thực hành số 2: Cơ bản về quản lý người dùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docxbai_thuc_hanh_bao_mat_he_thong_thong_tin_bai_thuc_hanh_so_2.docx