如何設定 oracle 記錄 - n-partner · 2020-01-21 · 2 前言 本文件描述 n-reporter...
TRANSCRIPT
版權聲明
N-Partner Technologies Co.版權所有。未經 N-Partner Technologies Co.書面許可,不得以任何形式仿製、拷
貝、謄抄或轉譯本手冊的任何內容。由於產品一直在更新中, N-Partner Technologies Co. 保留不告知變動的權利。
商標
本手冊內所提到的任何的公司產品、名稱及註冊商標,均屬其合法註冊公司所有。
目錄
前言………………………………………………. 2
1. Linux .......................................................... 3
1.1 Oracle 11g ...................................................... 3 1.1.1 編輯 Oracle 11g Audit 設定 ................................. 3 1.1.2 設定 Rsyslog 轉發 Oracle log ............................. 7 1.2 Oracle 12c ...................................................... 8 1.2.1 編輯 Oracle 12c Audit 設定 ................................. 8 1.2.2 設定 Rsyslog 轉發 Oracle log ........................... 12 1.3 Oracle 18c .................................................... 13 1.3.1 編輯 Oracle 18c Audit 設定 ............................... 13 1.3.2 設定 Rsyslog 轉發 Oracle log ........................... 16 1.4 Oracle 19c .................................................... 17 1.4.1 編輯 Oracle 19c Audit 設定 ............................... 17 1.4.2 設定 Rsyslog 轉發 Oracle log ........................... 21
2. AIX ............................................................ 22
2.1 Oracle ........................................................... 22 2.2 Syslog .......................................................... 24 2.2.1 Syslog-NG............................................................ 24 2.2.2 Rsyslog ................................................................ 25
3. Windows .................................................. 26
3.1 NXLog .......................................................... 26 3.1.1 NXLog 架構 ......................................................... 26 3.1.2 NXLog 安裝 ......................................................... 27 3.1.3 NXLog 設定檔 ..................................................... 28 3.1.4 NXLog 啟動服務 .................................................. 30 3.2 Windows ...................................................... 31 3.2.1 網域 ..................................................................... 31 3.2.1.1 組織單位 .................................................................... 31 3.2.1.2 群組原則 .................................................................... 34 3.2.2 工作群組 .............................................................. 39 3.2.3 稽核資料庫檔案夾 ............................................... 43 3.3 Oracle Database .......................................... 47 3.3.1 Oracle 12c Audit 設定 ......................................... 47 3.3.2 Oracle 19c Audit 設定 ......................................... 51
4. N-Reporter ............................................... 55
4.1 Linux / AIX.................................................... 56
4.2 Windows ...................................................... 57
連 絡 資 訊 .................................................. 58
2
前言
本文件描述 N-Reporter 使用者在 Linux / AIX 如何使用 Rsyslog 或 Syslog-NG 方式設定 Oracle audit
syslog。
在 Windows 如何使用 Open Source 工具 NXLog 方式設定 Oracle audit 事件記錄。
NXLog 工具將 Oracle audit 事件記錄轉成 syslog,再轉發到 N-Reporter 做正規化、稽核與分析。
3
1. Linux
1.1 Oracle 11g
1.1.1 編輯 Oracle 11g Audit 設定
(1) 建立 oracle log 資料夾和變更為 oracle 權限
# mkdir /var/log/oracle
# chown -R oracle:oinstall /var/log/oracle
# ll /var/log | grep oracle
(2) 登入 SQLPlus
$ sqlplus / AS SYSDBA
(3) 顯示審計參數
SQL> show parameter audit;
4
(4) 修改審計記錄到作業系統
SQL> alter system set audit_trail='OS' scope=spfile;
(5) 修改審計記錄到 /var/log/oracle 資料夾
SQL> alter system set audit_file_dest='/var/log/oracle/' scope=spfile;
(6) 停止 Oracle 資料庫服務
SQL> shutdown immediate
(7) 啟動 Oracle 資料庫服務
SQL> startup
5
(8) 顯示審計參數
SQL> show parameter audit;
(9) 停止 Oracle 監聽服務
$ lsnrctl stop
(10) 啟動 Oracle 監聽服務
$ lsnrctl start
7
1.1.2 設定 Rsyslog 轉發 Oracle log
(1) 編輯 Rsyslog 設定檔
# vim /etc/rsyslog.conf
(2) 加載 imfile 輸入模組
$ModLoad imfile # provides support for file logging
(3) 新增將 Oracle Log 轉發到 N-Reporter
# Send oracle log to N-Reporter
input(type="imfile" File="/var/log/oracle/orcl*.aud" Tag="oracle" Severity="info" Facility="local0" Ruleset="nreporter")
ruleset(name="nreporter"){action(type="omfwd" Target="192.168.1.184" Port="514" Protocol="udp")}
紅色文字部位請輸入 N-Reporter 系統 IP address
Target="192.168.1.184"
紅色文字請輸入 Oracle 日誌路徑檔案
File="/var/log/oracle/orcl*.aud"
(3) 重啟 Rsyslog 服務和確認 Rsyslog 服務正常
# systemctl restart rsyslog && systemctl status rsyslog
8
1.2 Oracle 12c
1.2.1 編輯 Oracle 12c Audit 設定
(1) 建立 oracle log 資料夾和變更為 oracle 權限
# mkdir /var/log/oracle
# chown -R oracle:oinstall /var/log/oracle
# ll /var/log | grep oracle
(2) 登入 SQLPlus
$ sqlplus / AS SYSDBA
(3) 顯示審計參數
SQL> show parameter audit_trail
9
(4) 修改審計記錄到作業系統
SQL> alter system set audit_trail='OS' scope=spfile;
(5) 修改審計記錄到 /var/log/oracle 資料夾
SQL> alter system set audit_file_dest='/var/log/oracle/' scope=spfile;
(6) 停止 Oracle 資料庫服務
SQL> shutdown immediate
(7) 啟動 Oracle 資料庫服務
SQL> startup
10
(8) 顯示審計參數
SQL> show parameter audit
(9) 停止 Oracle 監聽服務
$ lsnrctl stop
(10) 啟動 Oracle 監聽服務
$ lsnrctl start
12
1.2.2 設定 Rsyslog 轉發 Oracle log
(1) 編輯 Rsyslog 設定檔
# vim /etc/rsyslog.conf
(2) 加載 imfile 輸入模組
$ModLoad imfile # provides support for file logging
(3) 新增將 Oracle Log 轉發到 N-Reporter
# Send oracle log to N-Reporter
input(type="imfile" File="/var/log/oracle/orcl*.aud" Tag="oracle" Severity="info" Facility="local0" Ruleset="nreporter")
ruleset(name="nreporter"){action(type="omfwd" Target="192.168.1.184" Port="514" Protocol="udp")}
紅色文字部位請輸入 N-Reporter 系統 IP address
Target="192.168.1.184"
紅色文字請輸入 Oracle 日誌路徑檔案
File="/var/log/oracle/orcl*.aud"
(3) 重啟 Rsyslog 服務和確認 Rsyslog 服務正常
# systemctl restart rsyslog && systemctl status rsyslog
13
1.3 Oracle 18c
1.3.1 編輯 Oracle 18c Audit 設定
(1) 建立 oracle log 資料夾和變更為 oracle 權限
# mkdir /var/log/oracle
# chown -R oracle:oinstall /var/log/oracle
# ll /var/log | grep oracle
(2) 登入 SQLPlus
$ sqlplus / AS SYSDBA
(3) 顯示審計參數
SQL> show parameter audit;
(4) 修改審計記錄到作業系統
SQL> alter system set audit_trail='OS' scope=spfile;
14
(5) 修改審計記錄到 /var/log/oracle 資料夾
SQL> alter system set audit_file_dest='/var/log/oracle/' scope=spfile;
(6) 停止 Oracle 資料庫服務
SQL> shutdown immediate
(7) 啟動 Oracle 資料庫服務
SQL> startup
(8) 顯示審計參數
SQL> show parameter audit;
15
(9) 停止 Oracle 監聽服務
$ lsnrctl stop
(10) 啟動 Oracle 監聽服務
$ lsnrctl start
(11) 重新載入 listener.ora 設定
$ lsnrctl reload
16
1.3.2 設定 Rsyslog 轉發 Oracle log
(1) 編輯 Rsyslog 設定檔
# vim /etc/rsyslog.conf
(2) 加載 imfile 輸入模組
$ModLoad imfile # provides support for file logging
(3) 新增將 Oracle Log 轉發到 N-Reporter
# Send oracle log to N-Reporter
input(type="imfile" File="/var/log/oracle/cdb1*.aud" Tag="oracle" Severity="info" Facility="local0"
Ruleset="nreporter")
ruleset(name="nreporter"){action(type="omfwd" Target="192.168.1.184" Port="514" Protocol="udp")}
紅色文字部位請輸入 N-Reporter 系統 IP address
Target="192.168.1.184"
紅色文字請輸入 Oracle 日誌路徑檔案
File="/var/log/oracle/cdb1*.aud"
(3) 重啟 Rsyslog 服務和確認 Rsyslog 服務正常
# systemctl restart rsyslog && systemctl status rsyslog
17
1.4 Oracle 19c
1.4.1 編輯 Oracle 19c Audit 設定
(1) 建立 oracle log 資料夾和變更為 oracle 權限
# mkdir /var/log/oracle
# chown -R oracle:oinstall /var/log/oracle
# ll /var/log | grep oracle
(2) 登入 SQLPlus
$ sqlplus / AS SYSDBA
(3) 顯示審計參數
SQL> show parameter audit;
18
(4) 修改審計記錄到作業系統
SQL> alter system set audit_trail='OS' scope=spfile;
(5) 修改審計記錄到 /var/log/oracle 資料夾
SQL> alter system set audit_file_dest='/var/log/oracle/' scope=spfile;
(6) 停止 Oracle 資料庫服務
SQL> shutdown immediate
(7) 啟動 Oracle 資料庫服務
SQL> startup
19
(8) 顯示審計參數
SQL> show parameter audit;
(9) 停止 Oracle 監聽服務
$ lsnrctl stop
(10) 啟動 Oracle 監聽服務
$ lsnrctl start
21
1.4.2 設定 Rsyslog 轉發 Oracle log
(1) 編輯 Rsyslog 設定檔
# vim /etc/rsyslog.conf
(2) 加載 imfile 輸入模組
$ModLoad imfile # provides support for file logging
(3) 新增將 Oracle Log 轉發到 N-Reporter
# Send oracle log to N-Reporter
input(type="imfile" File="/var/log/oracle/ORCLCDB*.aud" Tag="oracle" Severity="info" Facility="local0"
Ruleset="nreporter")
ruleset(name="nreporter"){action(type="omfwd" Target="192.168.1.184" Port="514" Protocol="udp")}
紅色文字部位請輸入 N-Reporter 系統 IP address
Target="192.168.1.184"
紅色文字請輸入 Oracle 日誌路徑檔案
File="/var/log/oracle/ORCLCDB*.aud"
(3) 重啟 Rsyslog 服務和確認 Rsyslog 服務正常
# systemctl restart rsyslog && systemctl status rsyslog
22
2. AIX
2.1 Oracle
(1) 建立 oracle log 資料夾和變更為 oracle 權限
# mkdir /var/adm/oracle
# chown -R oracle:oinstall /var/adm/oracle
# ls -l /var/adm | grep oracle
(2) 登入 SQLPlus
$ sqlplus / as sysdba
(3) 顯示審計參數
SQL> show parameter audit
(4) 顯示資料庫審計
SQL> show parameter audit_trail
(5) 顯示審計檔案路徑
SQL> show parameter audit_file_dest
(6) 顯示審計等級
SQL> show parameter audit_syslog_level
(7) 顯示 sysdba 特權用戶審計
SQL> show parameter audit_syslog_operations
(8) 修改審計記錄到作業系統
SQL> alter system set audit_trail='OS' scope=spfile;
(9) 修改審計記錄到 /var/adm/oracle 資料夾
SQL> alter system set audit_file_dest='/var/adm/oracle/' scope=spfile;
23
(10) 啟用 sysdba 特權用戶審計
SQL> alter system set audit_sys_operations=true scope=spfile;
(11) 修改審計記錄 facility: local0 info 訊息
SQL> alter system set audit_syslog_level='local0.info' scope=spfile;
(12) 停止 Oracle 資料庫服務
SQL> shutdown immediate
(13) 啟動 Oracle 資料庫服務
SQL> startup
(14) 顯示審計參數
SQL> show parameter audit
(15) 停止 Oracle 監聽服務
$ lsnrctl stop
(16) 啟動 Oracle 監聽服務
$ lsnrctl start
(17) 重新載入 listener.ora 設定
$ lsnrctl reload
24
2.2 Syslog
以下分別為 Syslog-NG 和 Rsyslog 設定方式。
2.2.1 Syslog-NG
(1) 編輯 syslog 設定檔
# vi /etc/syslog.conf
(2) 將 Oracle log 轉發到 N-Reporter
# Send Oracle log to N-Reporter
local0.* @192.168.1.184
紅色文字部位請輸入 N-Reporter 系統 IP address
local0.* @192.168.1.184
(3) 停止 syslogd 服務和啟動 syslogd 服務
# stopsrc -s syslogd && startsrc -s syslogd
(4) 確認 syslogd 服務情形
# ps -ef | grep syslogd
25
2.2.2 Rsyslog
(1) 編輯 Rsyslog 設定檔
# vi /etc/rsyslog.conf
(2) 將 Oracle log 轉發到 N-Reporter
# Send Oracle log to N-Reporter
local0.* @192.168.1.184
紅色文字部位請輸入 N-Reporter 系統 IP address
local0.* @192.168.1.184
(3) 停止 Rsyslog 服務和啟動 Rsyslog 服務
# stopsrc -s rsyslogd && startsrc -s rsyslogd
(4) 確認 rsyslogd 服務情形
# ps -ef | grep rsyslogd
26
3. Windows
3.1 NXLog
3.1.1 NXLog 架構
NXLog 的 plugin 架構允許任何類型的輸入讀取資料,解析和轉換訊息的格式,然後將其發送到任何類型的輸出。可
以同時使用不同的輸入,處理和輸出模組來滿足事件記錄。
https://nxlog.co/documentation/nxlog-user-guide#modules-im
27
3.1.2 NXLog 安裝
(1) 下載 NXLog
前往網址 https://nxlog.co/products/nxlog-community-edition/download
下載網址最新版 nxlog-ce-x.x.xxxx.msi,範例: nxlog-ce-2.10.2150.msi
(2) 安裝 NXLog
點擊 [nxlog-ce-2.10.2150.msi] -> 按 [Install] 到 [Finish]
(3) 下載並覆蓋 NXLog 設定檔
下載 NXLog Oracle 設定檔 https://www.npartnertech.com/download/tech/nxlog_Oracle.conf -> 開啟
[Windows PowerShell] -> 輸入 Copy-Item nxlog_Oracle.conf 'C:\Program Files (x86)\nxlog\conf\nxlog.conf' 覆
蓋 NXLog 設定檔
28
3.1.3 NXLog 設定檔
## Please set the ROOT to the folder your nxlog was installed into, otherwise it will not start.
define NCloud 192.168.1.184
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
## Load the modules needed by the outputs
<Extension syslog>
Module xm_syslog
</Extension>
## For Oracle event log file use the following:
<Input in_eventlog>
Module im_msvistalog
ReadFromLast TRUE
SavePos TRUE
Query <QueryList> \
<Query Id="0"> \
<Select Path="Security">*[System[(EventID=4656 or EventID=4658 or EventID=4660 or
EventID=4663 or EventID=4985 or EventID=4670)]]</Select> \
<Select Path="Application">*[System[(Provider[@Name='Oracle.orcl'])]]</Select> \
</Query> \
</QueryList>
</Input>
<Output out_eventlog>
Module om_udp
Host %NCloud%
Port 514
Exec $Message = string($SourceName) + ": " + string($EventID) + ": " + $Message;
Exec if ($EventType == 'ERROR' or $EventType == 'AUDIT_FAILURE') { $SyslogSeverityValue = 3; } \
else if ($EventType == 'WARNING') { $SyslogSeverityValue = 4; } \
else if ($EventType == 'INFO' or $EventType == 'AUDIT_SUCCESS') { $SyslogSeverityValue = 5; }
Exec to_syslog_bsd();
</Output>
<Route eventlog>
Path in_eventlog => out_eventlog
</Route>
29
藍色文字部位請輸入 N-Reporter 系統 IP address:
define NCloud 192.168.1.184
藍色文字部位請輸入 Oracle 執行個體名稱:
<Select Path="Application">*[System[(Provider[@Name='Oracle.orcl'])]]</Select> \
30
3.1.4 NXLog 啟動服務
開啟 [Windows PowerShell] -> 輸入 Restart-Service nxlog 啟動 nxlog 服務和 Get-Service nxlog 查看 nxlog 服務
狀態 -> Get-Content 'C:\Program Files (x86)\nxlog\data\nxlog.log' 確認沒有錯誤訊息。
31
3.2 Windows
以下分別為網域和工作群組設定方式。
3.2.1 網域
3.2.1.1 組織單位
(1) 開啟 [Active Directory 使用者和電腦]
(2) 在 [網域名稱] 按滑鼠右鍵 -> 選擇 [新增] -> 點選 [組織單位]
36
(5) 展開 [電腦設定] -> [原則] -> [Windows 設定] -> [安全性設定] -> [本機原則] -> [稽核原則] -> 點選 [稽核物件存取]
項目 -> 勾選 [定義這些原則設定]: & [成功] & [失敗] -> 按下 [確定]
37
(6) 開啟 Windows PowerShell
開啟 [Windows PowerShell]
(7) 在 AD 網域伺服器,更新 Oracle 伺服器群組原則
PS C:\> Invoke-GPUpdate -Computer Win2019 -RandomDelayInMinutes 0 -Force
紅色文字部位請輸入 Oracle 伺服器名稱
Invoke-GPUpdate -Computer Win2019 -RandomDelayInMinutes 0 -Force
(8) 在 AD 網域伺服器,產生 Oracle 伺服器群組原則報表
PS C:\> Get-GPResultantSetofPolicy -Computer Win2019 -Path C:\tmp\Win2019.html -ReportType html
紅色文字部位請輸入 Oracle 伺服器名稱和資料夾路徑檔案名稱
Get-GPResultantSetofPolicy -Computer Win2019 -Path C:\tmp\Win2019.html -ReportType html
40
(2) 展開 [電腦設定] -> [Windows 設定] -> [安全性設定] -> [本機原則] -> [稽核原則] -> 點選 [稽核物件存取] 項目 ->
勾選 稽核這些嘗試: [成功] & [失敗] -> 按下[確定]
43
3.2.3 稽核資料庫檔案夾
稽核 Oracle 資料庫檔案夾記錄檔案動作。
(1) 開啟 [檔案總管]
(2) 選擇 Oracle 資料庫資料夾 (範例: C:\oracle\oradata\ORCL\orclpdb) -> 點選 [共用] 頁面 -> 按下 [進階安全性]
47
3.3 Oracle Database
3.3.1 Oracle 12c Audit 設定
(1) 開啟 [SQL Plus]
(2) 輸入 使用者名稱: 和 密碼:
(3) 顯示審計參數
SQL> show parameter audit;
49
(5) 重啟 Oracle 資料庫服務和 查看 Oracle 資料庫服務狀態
PS C:\> Restart-Service OracleServiceORCL
PS C:\> Get-Service OracleServiceORCL
50
(6) 重啟 Oracle 監聽服務和查看 Oracle 監聽服務狀態
PS C:\> Restart-Service OracleOraDB12Home1TNSListener
PS C:\> Get-Service OracleOraDB12Home1TNSListener
(7) 登入 [SQL Plus] 查看審計參數
SQL> show parameter audit;
51
3.3.2 Oracle 19c Audit 設定
(1) 開啟 [SQL Plus]
(2) 輸入 user-name: 和 password:
(3) 顯示審計參數
SQL> show parameter audit;
53
(5) 重啟 Oracle 資料庫服務和查看 Oracle 資料庫服務狀態
PS C:\> Restart-Service OracleServiceORCL
PS C:\> Get-Service OracleServiceORCL
54
(6) 重啟 Oracle 監聽服務和查看 Oracle 監聽服務狀態
PS C:\> Restart-Service OracleOraDB19Home1TNSListener
PS C:\> Get-Service OracleOraDB19Home1TNSListener
(7) 登入 [SQL Plus] 查看審計參數
SQL > show parameter audit;
56
4.1 Linux / AIX
(2) 設定 Oracle Database 設備的資料格式
輸入名稱 和 IP -> 勾選設備種類: [Syslog] -> 選擇資料格式: [Oracle] -> 選擇設備 Icon: [icon-host] -> 點選接收狀
態: [啟用] -> 按下 [確定]
57
4.2 Windows
(2) 設定 Oracle Database 設備的資料格式
輸入名稱 和 IP -> 勾選設備種類: [Syslog] -> 選擇資料格式: [Windows] -> 選擇設備 Icon: [icon-host] -> 點選接收狀
態: [啟用] -> 按下 [確定]
58
連 絡 資 訊
TEL: +886-4-23752865
FAX: +886-4-23757458
技 術 問 題 請 洽:
Email: [email protected]
Skype: [email protected]
業 務 相 關 請 洽:
Email: [email protected]