如何管理 sql server 登入稽核 v 1.1 - npartnertech.com · 首先必須開啟sql server 的c2...
TRANSCRIPT
0
0 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
如何管理 SQL Server 登入稽核 V 1.1.5 (繁體)
(01-01-01-006) 2014/10/02
1 Copyright © All rights are reserved by N-Partner Technologies Co.
前言
此文件主要描述如何使用 N-Reporter 接收 SQL Server 的 log。首先必須開啟 SQL Server 的 C2
audit mode 功能,透過 C2 audit mode,系統將 SQL Server 的 log 送至 Windows 的 eventlog。接著
利用 NXLOG 將 eventlog 轉成 syslog,再發送至 N-Reporter。
N-Reporter 支援 SQL 2005/2008/2012 Server,本例為 Windows 2003 環境安裝 SQL 2005 版本的實
際範例。
文件章節如下:
連絡資訊 ...................................................................................................................................................................... 1
1 如何開啟 SQL Server 的 C2 audit mode .......................................................................................................... 2
2 如何設定 NXLOG ................................................................................................................................................... 7
2.1 配置 Windows Server 2003 ............................................................................................................. 7
2.2 配置 Windows Server 2008 ........................................................................................................... 11
2.3 配置 Windows Server 2012 ........................................................................................................... 15
連絡資訊
N-Partner 公司連絡方式:
TEL: +886-4-23752865
FAX: +886-4-23757458
有關技術問題請洽:
Email: [email protected]
Skype:[email protected]
有關業務相關問題請洽:
Email: [email protected]
2
2 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
1 如何開啟 SQL Server 的 C2 audit mode
啟動 C2 audit mode 提供兩個方法,設定的步驟如下:
註:第一個方法必須先在[群組原則編輯器]中啟動[Windows 防火牆:允許遠端系統管理例外],
設定也較為繁雜。如果環境有安裝 SQL Server Management Studio 工具,建議以第二個方法
設定。
1 以 transact-sql 登入 Server,開啟 C2 audit mode:
(1) 以 transact-sql 方式連上 SQL Server。
在『命令提示字元』輸入 sqlcmd -S sql-server -U sa -P npartner,其中-S 為 SQL Server 的
host name,-U 為 user,-P 為 password。請使用資料庫的管理者登入。
本例管理者為 sa,密碼為 npartner,host name 為 sql-server。
(2) 切換 master 資料庫。
輸入 use master,按 enter。輸入 go,按 enter 執行 sql 命令。
(3) 顯示進階組態選項。預設 show advanced option 為 0,將其改為 1。
a. 輸入 Exec sp_configure ‘show advanced option’,’1’,按 enter。
b. 輸入 go,按 enter。
c. 輸入 reconfigure,按 enter。
(4) 設定 C2 Audit。
a. 輸入 Exec sp_configure ‘c2 audit mode’,’1’ ,按 enter。
b. 輸入 Go,按 enter。
c. 輸入 Reconfigure,按 enter。
(5) 登出
輸入 exit,按 enter。
3 Copyright © All rights are reserved by N-Partner Technologies Co.
2 使用 SQL Server Management Studio 登入 SQL Server,開啟 C2 audit mode:
(1) [開始] → [所有程式] → [Microsoft SQL Server] → [SQL Server Management Studio]。
4
4 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
(2) 本例為伺服器類型下拉[Database Engine],輸入伺服器名稱,驗證下拉[SQL Server 驗證],
下拉預設使用者 sa,輸入密碼"npartner",滑鼠左點[連接],登入 SQL Server。
(3) 在[物件總管]視窗中滑鼠右點 SQL Server,左點[屬性]。
5 Copyright © All rights are reserved by N-Partner Technologies Co.
(4) 左點[安全性],勾選[啟用 C2 稽核追蹤],左點[確定],完成開啟 C2 audit mode。
6
6 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
3 同時稽核成功的登入與失敗的登入:
(1) 使用 SQL Server Management Studio 登入 SQL Server。
(2) 在[物件總管]視窗中滑鼠右點 SQL Server,左點[屬性]。
(3) 左點[安全性],勾選[失敗和成功的登入],左點[確定]。
7 Copyright © All rights are reserved by N-Partner Technologies Co.
4 重新啟動 SQL SERVICE。有兩個方法:
(1) 『命令提示字元』輸入 net stop mssqlserver 停止 SQL 服務,再輸入 net start mssqlserver 開
啟 SQL 服務。
(2) 使用 SQL Server Management Studio 登入後,滑鼠右點 SQL Server,左點重新啟動,重啟
SQL 服務。如下圖。
2 如何設定 NXLOG
2.1 配置 Windows Server 2003
1. 下載 NXLOG:
瀏覽 URL http://sourceforge.net/projects/nxlog-ce/files/,
下載最新版 nxlog-ce-x.x.xxxx.msi,本例下載 nxlog-ce-2.7.1191.msi。
2. 安裝 NXLOG:
滑鼠雙點 nxlog-ce-2.7.1191.msi,左點[ Install ],執行安裝。
3. 下載 Windows 2003 NXLOG 配置檔 nxlog_win2k3.conf:
瀏覽 URL:http://www.npartnertech.com/download/tech/nxlog_win2k3.conf
編輯 NXLOG 配置檔"C:\Program Files (x86)\nxlog\conf\nxlog.conf":
註:32 位元作業系統 NXLOG 安裝在"C:\Program Files\nxlog\conf\nxlog.conf"
64 位元系統 NXLOG 安裝在"C:\Program Files (x86)\nxlog\conf\nxlog.conf"
將 nxlog_win2k3.conf 設定貼上並覆蓋 nxlog.conf 設定。
8
8 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
## This is a sample configuration file. See the nxlog reference manual about the
## online at http://nxlog.org/nxlog-docs/en/nxlog-reference-manual.html
## Please set the ROOT to the folder your nxlog was installed into,
## otherwise it will not start.
#define ROOT C:\Program Files\nxlog
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
<Extension syslog>
Module xm_syslog
</Extension>
<Input in_eventlog>
# For windows 2003 and earlier use the following:
Module im_mseventlog
Exec parse_syslog_bsd(); \
if ($EventID == 672 or $EventID == 673 or $EventID == 675 or $EventID == 528 or $EventID == 529 or $EventID == 538 or $EventID
== 540 or $EventID == 551 or $EventID == 560 or $EventID == 612 or $EventID == 624 or $EventID == 626 or $EventID == 627 or $EventID
== 628 or $EventID == 629 or $EventID == 630 or $EventID == 631 or $EventID == 632 or $EventID == 633 or $EventID == 634 or $EventID
== 635 or $EventID == 636 or $EventID == 637 or $EventID == 638 or $EventID == 641 or $EventID == 642 or $EventID == 645 or $EventID
== 646 or $EventID == 647) { $SyslogFacilityValue = 13; } \
else if ($SourceName == "Service Control Manager") { $SyslogFacilityValue = 13; } \
else if ($SourceName =~ /^MSSQL*/) { $SyslogFacilityValue = 18; } \
else\
{\
drop();\
}
</Input>
<Output out_eventlog>
Module om_udp
Host 192.168.2.64
Port 514
Exec $Message = 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>
綠色部位請選擇 NXLOG 正確的安裝路徑,
本例環境為 64 位元系統選擇"define ROOT C:\Program Files (x86)\nxlog"。
紅色部位輸入 N-Reporter IP,本例輸入"192.168.2.64"。
9 Copyright © All rights are reserved by N-Partner Technologies Co.
設定範例如下:
4. 啟動 NXLOG:
步驟 a : 利用[ 命令提示字元 ]啟動 NXLOG 或 步驟 b : [ 服務 ]啟動 NXLOG。
a. [ 開始 ]→[ 所有程式 ]→[ 應用附屬程式 ],滑鼠右點[ 命令提示字元 ],左點[ 執行身分 ],
以系統管理員身分執行。
命令提示字元輸入:
net stop nxlog
net start nxlog
b. [ 開始 ] →[ 所有程式 ]→[ 系統管理工具 ]→[ 服務 ],右點服務[ nxlog ],
左點[ 啟動 ]或[ 重新啟動 ]。
10
10 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
5. 檢查 NXLOG 是否正常啟動:
檢查 NXLOG 的 log 檔"C:\Program Files (x86)\nxlog\data\nxlog.log",沒有顯示 Error 的訊
息,表示正常啟動。
6. MS SQL 設備時語系選擇:
Windows Server 2003 繁體版環境請選擇[ BIG5 ]編碼。
Windows Server 2003 簡體版環境請選擇[ GB2312 ]編碼。
Windows Server 2003 英文版環境請選擇[ UTF8 ]編碼。
註:因 NXLOG 沒有 Eventlog to Syslog Utility 將事件編碼轉成 UTF8 編碼的功能,所以新增
設備時請注意語系選擇,避免出現亂碼。
7. 新增 MS SQL 設備時 Facility 請選擇"(18) local use 2 (local2)"。
11 Copyright © All rights are reserved by N-Partner Technologies Co.
2.2 配置 Windows Server 2008
1. 下載 NXLOG:
瀏覽 URL http://sourceforge.net/projects/nxlog-ce/files/
下載最新版 nxlog-ce-x.x.xxxx.msi,本例下載 nxlog-ce-2.7.1191.msi。
2. 安裝 NXLOG:
滑鼠雙點 nxlog-ce-2.7.1191.msi,左點[ Install ],執行安裝。
3. 下載 Windows 2008 NXLOG 配置檔 nxlog_win2k8.conf:
瀏覽 URL:http://www.npartnertech.com/download/tech/nxlog_win2k8.conf
編輯 NXLOG 配置檔"C:\Program Files (x86)\nxlog\conf\nxlog.conf":
註:32 位元作業系統 NXLOG 安裝在"C:\Program Files\nxlog\conf\nxlog.conf"
64 位元系統 NXLOG 安裝在"C:\Program Files (x86)\nxlog\conf\nxlog.conf"
將 nxlog_win2k8.conf 設定貼上並覆蓋 nxlog.conf 設定。
12
12 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
## This is a sample configuration file. See the nxlog reference manual about the
## online at http://nxlog.org/nxlog-docs/en/nxlog-reference-manual.html
## Please set the ROOT to the folder your nxlog was installed into,
## otherwise it will not start.
#define ROOT C:\Program Files\nxlog
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
<Extension syslog>
Module xm_syslog
</Extension>
<Input in_eventlog>
# For windows 2008/vista/7/8/2012 and latter use the following:
Module im_msvistalog
Exec parse_syslog_bsd(); \
if ($EventID == 4768 or $EventID == 4769 or $EventID == 4771 or $EventID == 4624 or $EventID == 4625 or $EventID == 4634 or
$EventID == 4647 or $EventID == 4648 or $EventID == 4656 or $EventID == 4719 or $EventID == 4720 or $EventID == 4722 or $EventID ==
4723 or $EventID == 4724 or $EventID == 4725 or $EventID == 4726 or $EventID == 4727 or $EventID == 4728 or $EventID == 4729 or
$EventID == 4730 or $EventID == 4731 or $EventID == 4732 or $EventID == 4733 or $EventID == 4734 or $EventID == 4735 or $EventID ==
4737 or $EventID == 4738 or $EventID == 4739 or $EventID == 4741 or $EventID == 4742 or $EventID == 4743) { $SyslogFacilityValue = 13; }
\
else if ($SourceName == "Service Control Manager") { $SyslogFacilityValue = 13; } \
else if ($SourceName =~ /^MSSQL*/) { $SyslogFacilityValue = 18; } \
else\
{\
drop();\
}
</Input>
<Output out_eventlog>
Module om_udp
Host 192.168.2.64
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>
綠色部位請選擇 NXLOG 正確的安裝路徑,
本例環境為 64 位元系統選擇"define ROOT C:\Program Files (x86)\nxlog"。
紅色部位輸入 N-Reporter IP,本例輸入"192.168.2.64"。
13 Copyright © All rights are reserved by N-Partner Technologies Co.
設定範例如下:
4. 啟動 NXLOG:
步驟 a : 利用[ 命令提示字元 ]啟動 NXLOG 或 步驟 b : [ 服務 ]啟動 NXLOG。
a. [ 開始 ]→[ 所有程式 ]→[ 應用附屬程式 ],滑鼠右點[ 命令提示字元 ],
左點[以系統管理員身分執行]。
命令提示字元輸入:
net stop nxlog
net start nxlog
b. [ 開始 ] →[ 所有程式 ]→[ 系統管理工具 ]→[ 服務 ],右點服務[ nxlog ],
左點[ 啟動 ]或[ 重新啟動 ]。
5. 檢查 NXLOG 是否正常啟動:
檢查 NXLOG 的 log 檔"C:\Program Files (x86)\nxlog\data\nxlog.log",沒有顯示 Error 的訊
息,表示正常啟動。
14
14 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
6. 新增 MS SQL 設備時 Facility 請選擇"(18) local use 2 (local2)"。
15 Copyright © All rights are reserved by N-Partner Technologies Co.
2.3 配置 Windows Server 2012
1. 下載 NXLOG:
瀏覽 URL http://sourceforge.net/projects/nxlog-ce/files/
下載最新版 nxlog-ce-x.x.xxxx.msi,本例下載 nxlog-ce-2.7.1191.msi。
2. 安裝 NXLOG:
滑鼠雙點 nxlog-ce-2.7.1191.msi,左點[ Install ],執行安裝。
3. 下載 Windows 2012 NXLOG 配置檔 nxlog_win2012.conf:
瀏覽 URL:http://www.npartnertech.com/download/tech/nxlog_win2012.conf
編輯 NXLOG 配置檔"C:\Program Files (x86)\nxlog\conf\nxlog.conf":
註:32 位元作業系統 NXLOG 安裝在"C:\Program Files\nxlog\conf\nxlog.conf"
64 位元系統 NXLOG 安裝在"C:\Program Files (x86)\nxlog\conf\nxlog.conf"
將 nxlog_win2012.conf 設定貼上並覆蓋 nxlog.conf 設定。
16
16 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
## This is a sample configuration file. See the nxlog reference manual about the
## online at http://nxlog.org/nxlog-docs/en/nxlog-reference-manual.html
## Please set the ROOT to the folder your nxlog was installed into,
## otherwise it will not start.
#define ROOT C:\Program Files\nxlog
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
<Extension syslog>
Module xm_syslog
</Extension>
<Input in_eventlog>
# For windows 2008/vista/7/8/2012 and latter use the following:
Module im_msvistalog
Exec parse_syslog_bsd(); \
if ($EventID == 4768 or $EventID == 4769 or $EventID == 4771 or $EventID == 4624 or $EventID == 4625 or $EventID == 4634 or
$EventID == 4647 or $EventID == 4648 or $EventID == 4656 or $EventID == 4719 or $EventID == 4720 or $EventID == 4722 or $EventID ==
4723 or $EventID == 4724 or $EventID == 4725 or $EventID == 4726 or $EventID == 4727 or $EventID == 4728 or $EventID == 4729 or
$EventID == 4730 or $EventID == 4731 or $EventID == 4732 or $EventID == 4733 or $EventID == 4734 or $EventID == 4735 or $EventID ==
4737 or $EventID == 4738 or $EventID == 4739 or $EventID == 4741 or $EventID == 4742 or $EventID == 4743) { $SyslogFacilityValue = 13; }
\
else if ($SourceName == "Service Control Manager") { $SyslogFacilityValue = 13; } \
else if ($SourceName =~ /^MSSQL*/) { $SyslogFacilityValue = 18; } \
else\
{\
drop();\
}
</Input>
<Output out_eventlog>
Module om_udp
Host 192.168.2.64
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>
綠色部位請選擇 NXLOG 正確的安裝路徑,
本例環境為 64 位元系統選擇"define ROOT C:\Program Files (x86)\nxlog"。
紅色部位輸入 N-Reporter IP,本例輸入"192.168.2.64"。
17 Copyright © All rights are reserved by N-Partner Technologies Co.
設定範例如下:
3. 啟動 NXLOG:
步驟 a : 利用[ Windows PowerShell ]啟動 NXLOG 或 步驟 b : [ 服務 ]啟動 NXLOG。
a. 滑鼠左點[ 開始 ],滑鼠右點[ Windows PowerShell ],左點[以系統管理員身分執行]。
[ Windows PowerShell ]輸入:
net stop nxlog
net start nxlog
b. 滑鼠左點[ 開始 ]→[ 系統管理工具 ]→[ 服務 ],右點服務[ nxlog ],
左點[ 啟動 ]或[ 重新啟動 ]。
18
18 Copyright © All rights are reserved by N-Partner Technologies Co.
如何管理 SQL Server 登入稽核
4. 檢查 NXLOG 是否正常啟動:
檢查 NXLOG 的 log 檔"C:\Program Files (x86)\nxlog\data\nxlog.log",沒有顯示 Error 的訊
息,表示正常啟動。
5. 新增 MS SQL 設備時 Facility 請選擇"(18) local use 2 (local2)"。
19 Copyright © All rights are reserved by N-Partner Technologies Co.
採購與銷售合作:[email protected]
技術諮詢:[email protected]