3.1.4.1. Thiết lập máy chủ
Hình 3.8. Sơ đồ hệ thống thông tin khi thêm cơ sở dữ liệu dự phòng
Hệ thống máy chủ cho cơ sở dữ liệu dự phòng khi được xây dựng sẽ được đặt tại khu công nghệ cao Hòa Lạc. Sử dụng đường dây thuê riêng để có thể đảm bảo an toàn bảo mật khi truyền dữ liệu đị
IP 172.31.24.121 172.31.31.199
Phần mềm
Oracle 11gR2 (11.2.0.1) và cơ
sở dữ liệu Oracle 11gR2 (11.2.0.1)
SID dbtest dbtest
db_unique_name dbtest dbtest_stby
Bảng 3.1. Thông tin về hệ thống chính và dự phòng Khóa luận tốt nghiệp
/usr/sbin/groupađ -g 502 dba /usr/sbin/groupađ -g 503 oper
- Tạo user Oracle để sử dụng cho cơ sở dữ liệụ /usr/sbin/userađ -u 502 -g oinstall -G dba,oper oracle
- Thêm các tham số kernel vào file /etc/sysctl.conf. kernel.shmmni = 4096 kernel.shmmax = 4398046511104 kernel.shmall = 1073741824 kernel.sem = 250 32000 100 128 fs.aio-max-nr = 1048576 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500
Hình 3.9. Mô hình cơ sở dữ liệu chính và dự phòng
Cơ sở dữ liệu chính đặt tại trung tâm dữ liệu của FPTS khi hoạt động sẽ tạo ra các tệp tin nhật ký. Sử dụng kết nối Oracle Net trên đường truyền thuê riêng để gửi các tệp tin nhật ký này tới cơ sở dữ liệu dự phòng. Trên hệ thống cơ sở dữ liệu dự phòng sẽ có các dịch vụ của Oracle Data Guard để nhận các tệp tin nhật ký và áp dụng các thay đổi lên cơ sở dữ liệu nàỵ
Cài đặt hệ quản trị cơ sở dữ liệu Oracle
net.corẹrmem_max = 4194304 net.corẹwmem_default = 262144 net.corẹwmem_max = 1048586
- Thiết lập quyền shell cho user Oracle bằng cách thêm đoạn sau vào file /etc/sercurity/limit.conf. oracl e soft nproc 131072 oracl e hard nproc 131072 oracl e soft nofile 131072 oracl e hard nofile 131072 oracl
e soft core unlimited oracl
e hard core unlimited oracl e soft memlock 50000000 oracl e har d memlock 50000000
- Sửa file /home/oracle/.bash_profile để thêm các biến môi trường sử dụng cho phần mềm Oraclẹ # Oracle Settings export TMP=/tmp 1 export ORACLE_HOSTNAME=dbtest.hainx.com export ORACLE_UNQNAME=dbtest export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbtest export ORACLE_SID=dbtest PATH=/usr/sbin: $PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; alias cdob='cd $ORACLE_BASÉ
alias cdoh='cd $ORACLE_HOMÉ
alias tns='cd $ORACLE_HOME/network/admin' alias envo='env | grep ORACLÉ
- Tạo các thư mục và gán quyền mkdir -p /u01/app
chown oracle:oinstall /u01/app chmod 775 /ora01/app
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01/app/oracle chmod 775 /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/dbtest chown oracle:oinstall -R /u01/app/oracle
- Tắt tính năng SELinux (bảo mật hạn chế truy cập vào một vài module nhất định của nhân kernel) bằng cách sửa file /etc/selinux/config sau đó khởi động lại server.
SELINUX=Permissive
- Mở thư mục chứa phần mềm đã tải và tiến hành chạy file cài đặt. su - oracle
cd /u01/database/ ./runInstaller
- Giao diện cài đặt Oracle Database 11gR2.
Khóa luận tốt nghiệp
- Chọn chỉ cài đặt phần mềm cơ sở dữ liệu, không tạo cơ sở dữ liệu, bước tạo sẽ thực hiện saụ
Hình 3.11. Giao diện cài đặt Oracle 11gR2 (2)
- Chọn “Single instance database installation”.
- Chọn ngôn ngữ tiếng Anh.
Hình 3.13. Giao diện cài đặt Oracle 11gR2 (4)
- Chọn phiên bản “Enterprise Editon” để hỗ trợ tính năng Data Guard.
Khóa luận tốt nghiệp
- Chọn thư mục lưu trữ Oracle Base, Oracle Inventory,...
Hình 3.15. Giao diện cài đặt Oracle 11gR2 (6)
- Chọn Database Administrator Group và Database Operator Group như 2 group
dba, oper đã tạo từ các bước trước.
Hình 3.17. Giao diện cài đặt Oracle 11gR2 (8)
- Kiểm tra lại các thông số đã chọn.
NAME TYPE VALUE
db name string dbtest
SQL> show parameter db unique name;
NAME TYPE VALUE
dbunique name string dbtest
Khóa luận tốt nghiệp
- Bắt đầu tiến trình cài đặt.
Hình 3.15. Giao diện cài đặt Oracle 11gR2 (10)
- Hoàn thành tiến trình cài đặt Oracle Database 11gR2.
Hình 3.16. Giao diện cài đặt Oracle 11gR2 (11) Khóa luận tốt nghiệp
3.1.4.2. Thiết lập cơ sở dữ liệu dự phòng và đồng bộ với cơ sở dữ liệu chính
ạ Cài đặt các tham số
- Kiểm tra Archive log xem đã bật chưa, archive log cần phải bật để có thể lưu trữ các nhật ký rồi gửi đến hệ thống dự phòng.
Connected to:
Oracle Database Ilg Enterprise Edition Release 11.2.0.1.Θ - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options S0L> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE DB RECOVERY FILEDEST
Oldest online log sequence 6θ
Current log sequence Ỗ2
Hình 3.17. Thiết lập Oracle Data Guard (1)
- Hiện archive log đang bị vô hiệu hóa, tiến hành tắt cơ sở dữ liệu, bật archive log và mở lại cơ sở dữ liệụ
SQL> shutdown immediate; Database closed.
Database dismounted. ORACLE instance shut down. Ξ0L> startup mount;
ORACLE instance started.
Total System Global Area 413372416 bytes
Fixed Size 2213896 bytes
Variable size 331352Θ56 bytes
Database Buffers 75497472 bytes
Redo Buffers 4308992 bytes
Database mounted.
SQL> alter database archivelog; Database altered.
Hình 3.18. Thiết lập Oracle Data Guard (2)
- Kiểm tra lại db_name và db_unique_namẹ
Khóa luận tốt nghiệp
- Đặt tham số log_archive_config để khai báo cơ sở dữ liệu gửi và nhận log.
SQL> alter system set log archive_config='DG_CONFIG=(dbtest,dbtest_stby)';
System altered.
Hình 3.20. Thiết lập Oracle Data Guard (4)
- Đặt tham số log_archive_dest_2, là địa chỉ thứ 2 để lưu archive log.
SQL> alter system set log archive dest_2='SERVICE=dbtest_stby NOAFFIRM ASYNC VAL
ID FOR=(ONLINE LOGFILES, PRIMARY ROLE) DBUNIQUENAME=dbtest_Stby■;
System altered.
SQL> alter system set log archive deststate2=enable;
System altered.
Hình 3.21. Thiết lập Oracle Data Guard (4)
- Đặt định dạng tên cho file archive log, số lượng tiến trình ghi log và tệp tin mật khẩu (sử dụng để truy cập user sysdba - quản trị từ server khác).
SQL> alter system set log archive format='%t_%s_%r.arc' scope=spfile;
System altered.
SQL> alter system set log archivemax processes=3Θ;
System altered.
SQL> alter system set remote_login_passwordfile=exclusive SCOpe=Spfile;
System altered.
Hình 3.22. Thiết lập Oracle Data Guard (5)
- Đặt tham số fal_server là dbtest_stby và bật tự động quản lý các tệp tin ở máy
chủ dự phòng. Khi thực hiện chuyển đổi thì sẽ chuyển dbtest_stby là cơ sở dữ liệu chính.
SQL> alter system set fal_server=dbtest_stby;
System altered.
SQL> alter system set standby file_management=auto;
System altered.
Hình 3.23. Thiết lập Oracle Data Guard (6)
Hình 3.24. Thiết lập Oracle Data Guard (7)
- Thêm Iisterner cho server dự phòng, dùng để lắng nghe các kết nối đến cơ sở dữ liệụ
Hình 3.25. Thiết lập Oracle Data Guard (8)
Khóa luận tốt nghiệp
Starting ∕uθl∕app∕oracle∕product∕11.2.0∕dbtest∕bin∕tnslsnr: please wait... TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is ∕uθl∕app∕oracle∕product∕11.2.θ∕dbtest∕network∕admiπ∕lis tener.ora
Log messages written to ∕u01∕app∕oracle∕diag∕tnslsrir∕ip-172-31-31-199∕llstener∕a lert/log.xml
Listening on: (DESCRIPTION=(AĐRESS-(PROTOC0L=tcp)(HOST-172.31.31.199)(PORT-1521 )))
Listening on: (DESCRIPTION=(AĐRESS=(PROTOCOL=Ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(AĐRESS=(PROTOCOL=TCP)(H0ST=172.31.31.199)(P0RT=1521 )))
STATUS of the LISTENER
LISTENER
TNSLSNR for Linux: Version 11.2.0.1.0 - Production 11-MAY-2Θ2Θ 21:37:47
Θ days Θ hr. θ min. 0 sec off
ON: Local OS Authentication
OFF ∕u01∕app∕oracle∕product∕11.2.0∕dbtest∕network/admln/li ∕uθl∕app∕oracle∕diag∕tnslsnr∕ip-172-31-31-199∕listener Alias Version Start Date Uptime Trace Level Security SNMP
Listener Parameter File
Stener.ora Listener Log File
∕alert∕log.xml
Listening Endpoints Summarỵ..
(DESCRIPTION=(AĐRESS=(PROTOCOL=tcp)(H0ST=172.31.31.199)(P0RT=1521))) (DESCRIPTION=(AĐRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summarỵ..
Service "dbtest stby,' has 1 instance(s).
Instance "dbtest", status UNKNOWN, has 1 handler[s) for this servicẹ.. The command completed successfully
Hình 3.26. Thiết lập Oracle Data Guard (9)
- Tạo tệp tin điều khiển và tệp tin khởi tạo hệ thống cho server dự phòng.
SQL> alter database create standby controlfile as '∕uθl∕app∕control01.Ctl'; Database altered.
SQL> create pfile='∕u01∕app∕init.orá from spfile; File created.
Hình 3.27. Thiết lập Oracle Data Guard (10)
- Chuyển các tệp tin cần thiết sang server dự phòng và tạo cấu trúc thư mục giống như server chính. Tiến hành bật cơ sở dữ liệụ
[oracle@ip-172-31-39-15 -]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.Θ.1.0 Production on Sun Jun 7 06:53:06 2020 Copyright (c) 1982, 2ΘΘ9, Oraclẹ All rights reserved.
Connected to an idle instancẹ
SQL> startup nomount pfile='∕uΘl∕init.orá; ORACLE instance started.
Total System Global Area 413372416 bytes
Fixed Size 2213896 bytes
Variable Size 314574840 bytes Database Buffers 92274688 bytes Redo Buffers 4308992 bytes
Hình 3.28. Thiết lập Oracle Data Guard (11)
- Sử dụng công cụ RMAN để tự động sao chép các datafile, redo log,... lên máy
chủ dự phòng.
[oracle@ip-172-31-24-121 ~]$ rman target sys∕123456<adbtest auxiliary sys∕123456<a dbteststby;
Recovery Manager: Release 11.2.0.l.θ - Production on Sun Jun 7 07:68:11 2026 Copyright (c) 1982, 2609, Oracle and/or its affiliates. All rights reserved.
connected to target database: DBTEST (DBID=1432594625)
connected to auxiliary database: DBTEST (not mounted)
RMAN> DUPLICATE TARGET DATABASE
2> FOR STANDBY
3> FROM ACTIVE DATABASE 4> DORECOVER
5> SPFILE
6> SET db_unique_name='dbtest_stby■
7> SET logarchivedest2=,SERVICE=dbtest ASYNC VALIDFOR=(ONLINELOGFILE,PRIMAR YROLE) DB∪NIOUENAME=dbtest,
8> SET FALSERVER='dbtest'
Hình 3.29. Thiết lập Oracle Data Guard (12)
- Sau khi quá trình hoàn tất thì đã có cơ sở dữ liệu trên máy chủ dự phòng.
c. Đồng bộ dữ liệu thời gian thực giữa hai cơ sở dữ liệu
- Bắt đầu đồng bộ các dữ liệu thay đổi ở cơ sở dữ liệu chính lên cơ sở dữ liệu dự phòng.
SOL> STARTUP NOMOUNT: ORACLE instance started.
Total System Global Area 413372416 bytes
Fixed Size 2213896 bytes
Variable Size 339746664 bytes
Database Buffers 67168864 bytes
Redo Buffers 4368992 bytes
SQL> ALTER DATABASE MOUNT STANDBY DATABASE; Database altered.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Hình 3.30. Thiết lập Oracle Data Guard (13)
- Các tệp tin nhật ký sẽ bắt đầu được chuyển đến cơ sở dữ liệu dự phòng và áp dụng các thay đổị Giá trị cột Applied là “YES” là đã áp dụng xong, còn nếu là “IN- MEMORY” thì nghĩa là đã được truyền và đang đợi để áp dụng.
Khóa luận tốt nghiệp
SEQUENCE# FIRSTTIM NEXT TIME APPLIED
4Θ Θ7∕MAY∕2Θ Θ7∕MAY∕2Θ YES
41 07∕MAY∕2Θ Θ7∕MAY∕20 YES
42 07∕MAY∕2Θ Θ7∕MAY∕2Θ YES
43 07∕MAY∕2Θ 07∕MAY∕2Θ YES
44 07∕MAY∕2Θ Θ7∕MAY∕2Θ YES
45 Θ7∕MAY∕2Θ Θ7∕MAY∕2Θ YES
46 07∕MAY∕2Θ 07∕MAY∕2Θ YES
47 07∕MAY∕2Θ 07∕MAY∕2Θ IN-MEMORY
Hình 3.31. Thiết lập Oracle Data Guard (14)
3.1.4.3. Thực hiện thử nghiệm chuyển đổi vai trò giữa hai cơ sở dữ liệu
Thực hiện chuyển đổi vai trò giữa hai CSDL, chuyển CSDL chính thành dự phòng và ngược lạị
- Thực thi câu lệnh để chuyển vai trò cho CSDL chính thành dự phòng.
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY;
Database altered.
Hình 3.32. Thiết lập Oracle Data Guard (15)
- Tắt CSDL đi và mở lại, kiểm tra vai trò sẽ thấy chuyển sang vai trò là PHYSICAL STANDBY” - dự phòng.
SQL> shutdown LtMnediate; 0RA-B15B7: database not mounted
ORACLE instance shut down.
SQL> STARTUP N0M0UNT;
ORACLE instance started.
Total System Olobal Area 413372416 bytes
Fixed Size 2213896 bytes
variable size 339748664 bytes
Database Buffers 67108864 bytes
Redo Buffers 4388992 bytes
SQL> ALTER DATABASE MOUNT STANDBY DATABASE; Database altered.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Database altered.
SQL> select database role from Vidatabase; DATABASE ROLE
PHYSICAL STANDBY
Hình 3.33. Thiết lập Oracle Data Guard (16)
ΞQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; Datiibflie Altered,
Hình 3.34. Thiết lập Oracle Data Guard (17)
- Tắt CSDL đi và mở lại, kiểm tra vai trò sẽ thấy chuyển sang vai trò là “PRIMARY” - chính.
SQL> SHUTDOWN IMMEDIATE;
ORA Θ1109: database not open∙
Database dismounted. ORACLE instance shut down. SQ L> STARTUP;
ORACLE instance started.
Total System Global Area 413372416 bytes
Fixed Size 2213896 bytes
Variable Size 327157752 bytes
Database Buffers 79691776 bytes
Redo Buffers 4308992 bytes
Database mounted. Database opened.
SQL> select database role from Vidatabase; DATABASE ROLE
PRIMARY
Hình 3.35. Thiết lập Oracle Data Guard (18)
- Hoàn thành việc chuyển đổi vai trò giữa hai CSDL.
Neu trong trường hợp CSDL chính không thể truy cập được do sự cố gì đó, thì vẫn có thể thực hiện việc chuyển đổi vai trò, chỉ cần thực hiện trên CSDL dự phòng.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
Database altered.
SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE; Database altered.
SOL> select databaserole from Vidatabase;
DATABASEROLE
PRIMARY
Khóa luận tốt nghiệp
3.2. Tích hợp module phát hiện tấn công máy chủ dựa trên phần mềm tường lửa
web ModSecurity