服務宗旨

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

我們的成立宗旨就是要以最猛的IT技術讓這個世界更Smart,在我們貫徹我們裡想的同時,我們希望可以把我們所開發的系統帶給台灣的中小企業,除了要推薦好的東西之外,我們也希望做點改變,所以我們的第一目標就是要使用最好用的系統再加上您寶貴的創意,不僅僅可以節省你大量的荷包,還可以有一個像樣的網站。我們可以幫你做的有

企業管理
  • 策略管理
  • 目標管理
  • 行銷管理
  • 財會管理
  • ERP導入
  • 企業流程自訂
資訊管理
  • 網站架設
  • 虛擬化/雲端架設
  • 主機代管
  • 私有雲建制與導入
軟體開發
  • UML設計
  • 版本控管
  • 企業軟體開發
  • APP開發
  • 網頁設計
資訊安全
  • 網頁弱點掃描
  • 主機弱點掃描
  • 木馬檢測
  • 資安鑑識
  • 設計網路架構
  • 資安監控
行銷
  • 關鍵字SEO
  • 社群網路行銷
  • 部落格行銷
  • FaceBook 粉絲團
其他
  • 協助企業申請Google Email
好玩工具開發

講出你的創意吧!沒有甚麼是資訊辦不到的

2014年3月14日 星期五

5個自我檢視資料庫之安全性的方法



資料竊取越來越普遍,黑市裡信用卡資料的價錢從2006年一筆10元變成2009年幾毛錢。客戶對於電子商務、網路銀行與其他電子商業活動失去信心。同時駭客竊取資料的方法也越來越聰明,造成越來越多企業成為他們的犧牲品。至2009年時法令與法規以更嚴格地保護消費者,但仍不斷發生新的事件。在Verizon Business Data Breach Investigations Report報告中,研究過去五年內的600個事件,其中SQL Injection是單一攻擊中獲取大量資料的手法。

這個結果並不令人驚訝!若設計網站應用程式的成員不瞭解SQL Injection攻擊時,是很容易發生的。

何謂SQL Injection?
SQL Injection 應稱為SQL 指令植入式攻擊,主要是屬於 Input Validation 的問題。中文翻譯為『資料隱碼』攻擊。SQL Injection 攻擊法並非植入電腦病毒,它是描述一個利用寫入特殊 SQL 程式碼攻擊應用程式的動作。換言之,只要提供給使用者輸入的介面,又沒有做到相當嚴密的輸入資料型態管制,就有可能會遭受這種行為的攻擊。

SQL Injection攻擊可能會對企業造成重大與昂貴的損失。攻擊的目標是資料庫,其中儲存了員工、客戶的資料。這類型的攻擊利用應用程式中的漏洞,操作從瀏覽器輸入的SQL查詢。 在SQL Injection攻擊中,惡意使用者可發送任意輸入至伺服器且假冒web應用程式產生與原先不同的SQL描述。

因此資料庫伺服器會執行並取得與原先不同的結果。SQL Injection攻擊是最常對資料庫獲得未經授權的存取與資料操作。

如果不確定自己的資料庫安不安全或有沒有被入侵成功建議可以按照以下的五個作法自行檢視。


1.查詢SQL Server系統內帳號資訊

如果不幸被SQL Injection 很有可能會被駭客偷偷新增一個sa權限的帳號,即便未來SQL Injection漏洞被修復了,駭客可能還是可以透過其他管道連到資料庫,等於變相開了一個洞給駭客使用,所以我們先來查詢資料庫裡的所有使用者,是否有異常帳號存在。

select * from sysusers

可在結果欄位按滑鼠右鍵選擇「儲存結果」,將檔案匯出進行分析。




2.檢視交易紀錄檔

Transaction 一觸發會建立一個暫時性 Log ,暫存性Log會記錄交易中,修改資料的過程和內容,在自我檢查時建議也可以利用 Transaction Log Viewer 工具看看交易記錄檔中是不是有些惡意的SQL 語法,去Google就可以找到類似的工具,不過都是要錢的,備份方式如下。

—UI資料庫備份
BACKUP DATABASE [Arcsight] TO  DISK = N'D:\Arcsight.bak

(請自行修改資料庫名稱及備份路徑)

—UI交易記錄檔備份
BACKUP LOG [Arcsight] TO DISK = N'D:\Arcsight.bak' WITH NO_TRUNCATE
(請自行修改資料庫名稱及備份路徑)


或可以使用SQL Server Management Studio 圖形介面中設定備份


選擇完整備份


備份完整備份後在選擇交易記錄備份




3.停用系統擴充預存程序

檢查是否有啟用xp_cmdshell
系統延伸預存程序是存儲在SQLServer中的預先寫好的SQL語句集合, 其中危險性最高的程序就是xp_cmdshell了,它可以執行操作系統的任何指令,如果被 SQL Injection 駭客就可透過 xp_cmdshell 取得整台電腦的控制權。

檢測語法:
SELECT * FROM sys.configurations WHERE [name]='xp_cmdshell' ORDER BY name 

如果value = 1代表有啟用
 -- 建議關閉 xp_cmdshell
    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 0;
    RECONFIGURE;

如果系統為SQL Server 2000
可將有安全性考量的SQL SP (shell、regtree、COM+)刪除

use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask

在 SQL Server 2008 和 SQL Server 2005 中,sp_dropextendedproc 不會卸除系統擴充預存程序。應該由系統管理員拒絕將擴充預存程序的 EXECUTE 權限授與 public 角色。但在 SQL Server 2000 中,您可以使用 sp_dropextendedproc 來卸除任何擴充預存程序。


如果不確定自己是使用什麼SQL Server 版本,可以使用以下語法可以查詢資料庫版本

select @@VERSION


--查詢系統資訊
select * from sys.dm_os_sys_info



4.使用SQL Server Profiler檢視和分析追蹤

當我們想知道誰對SQL Server 做了甚麼事時,就可以使用 SQL Server Profiler 來建立追蹤紀錄,記錄的內容包含所下的SQL語法、Lock狀態、登入的狀況或可用來監視 Database Engine 或 SQL Server Analysis Services 的執行個體....等,可以看到的資訊非常的多,所以您可以擷取每一個事件的相關資料,並將資料儲存至檔案或資料表,以供稍後分析。但也因為這樣SQL Server Profiler使用上多少會影響效能,慎用。

SQL Server Management Studio的「工具」中找到「SQL Server Profiler」



勾選「儲存至檔案」,設定此檔案存放到磁碟C或D
在「設定檔案大小上限(MB)」,輸入 20,表示每個「SQL 追蹤」的檔案大小為 20 MB,每20MB會切割一個檔案。
勾選「啟用檔案換用」
勾選「伺服器處理追蹤資料」
「啟用追蹤停止時間」的意思是,當你開始追蹤後,到所設定的時間系統會自動停止追蹤,這個選項請依實際狀況調整。
點選「執行」


程式執行時,就可以在SQL Profiler中抓到對SQL Server所下達的指令
其中包含「事件類別」、「SQL語法」、「使用者」、「CPU」、「讀取」、「寫入」、「開始時間」與「結束時間」等重要資訊


追蹤結束後到【檔案】->【匯出】 ->【擷取 SQL Server 事件(S) 】->【擷取 Transact-SQL事件(T)】


儲存D:\DBAudit.trc ,就可以先針對敏感的資料表或已知異常語法進行分析與篩選。


5.SQL Server 安全性更新

到Windows 控制台\所有控制台項目\Windows Update\檢視更新記錄
查看是否有更新 SQL Server 2008 Service Pack 3


如果沒有請到下面網址下載
http://support.microsoft.com/kb/2546951/zh-tw

0 意見:

張貼留言

如您對本文有任何建議或意見,歡迎您留下您寶貴的意見!