在中國我們的服務遍布大江南北
全球化進程讓我們接觸到更多的優秀企業
高新技術認證企
中小企業公共服務平臺服務機構
企業文化協會理事單位
中小企業發展研究會理事單
無論是本地網絡公司還是外地網絡公司,在互聯網面前都是一樣的!您公司在臺州聚企的服務就在臺州
我們擁有20年的互聯網經驗,鑄就完善服務流程、前沿視野80多項細節測試,是高質量服務的保證
2019.09.21 臺州項目1 350
確保僅將Microsoft指定的默認權限授予公共服務器角色 用戶權限分配
public是包含所有登錄名的特殊固定服務器角色。 與其他固定服務器角色不同,可以更改公共角色的權限。 遵循最小特權原則,不應將公共服務器角色用于在服務器范圍內授予權限,因為這些權限將被所有用戶繼承。<br />每個SQL Server登錄名都屬于公共角色,不能從該角色中刪除。 因此,授予該角色的任何權限將對所有登錄名可用,除非已明確拒絕特定登錄名或用戶定義的服務器角色。
MSSQL數據庫安全加固建議
1.將在“審核”查詢結果中找到的多余權限添加到需要訪問權限的用戶定義服務器角色的特定登錄名上。<br /> 2.從公共角色撤消<permission_name>,如下所示
USE [master] GO REVOKE <permission_name> FROM public; GO
確保在所有SQL中撤消對“來賓用戶”的CONNECT權限 入侵防范
刪除來賓用戶有權連接到SQL Server數據庫,但master,msdb和tempdb除外。 當登錄名可以訪問SQL Server但不能通過其自己的帳戶訪問數據庫并且該數據庫具有一個來賓用戶帳戶時,登錄將采用來賓用戶的身份。 撤銷來賓用戶的CONNECT權限將確保登錄名在沒有顯式訪問權限的情況下無法訪問數據庫信息。
MSSQL數據庫安全加固建議
以下代碼段吊銷了數據庫中來賓用戶的CONNECT權限。 適當替換<database_name>:
USE [<database_name>]; GO REVOKE CONNECT FROM guest;
確?!翱尚湃巍睌祿鞂傩栽O置為“關” 服務配置
TRUSTWORTHY數據庫選項允許數據庫對象在某些情況下訪問其他數據庫中的對象。<br />提供針對惡意CLR程序集或擴展過程的保護。
MSSQL數據庫安全加固建議
執行命令獲取需要進行操作的數據庫名稱:
SELECT name FROM sys.databases WHERE is_trustworthy_on = 1 AND name != 'msdb';
對數據庫執行以下T-SQL語句(替換命令中的<database_name>):
ALTER DATABASE [<database_name>] SET TRUSTWORTHY OFF;
確?!斑h程管理連接”服務器配置選項設置為“ 0” 服務配置
遠程管理員連接選項控制遠程計算機上的客戶端應用程序是否可以使用專用管理員連接(DAC)。 專用管理員連接(DAC)使管理員可以訪問運行中的服務器以執行診斷功能或Transact-SQL語句,或對服務器上的問題進行故障排除,即使服務器被鎖定或處于異常狀態并且未響應SQL 服務器數據庫引擎連接。 在群集方案中,管理員實際上可能未登錄到當前托管SQL Server實例的同一節點,因此被視為“遠程”。 因此,通常應啟用此設置(1)用于SQL Server故障轉移群集; 否則應將其禁用(0),這是默認設置。
MSSQL數據庫安全加固建議
運行以下T-SQL命令:
EXECUTE sp_configure 'remote admin connections', 0; RECONFIGURE; GO
確?!?#39;Database Mail XPs ”服務器配置選項設置為“ 0” 服務配置
Database Mail XPs XPs選項控制從SQL Server生成和傳輸電子郵件的功能。禁用數據庫郵件可減少SQL Server的使用面,消除DOS攻擊媒介和渠道,以將數據從數據庫服務器泄漏到遠程主機
MSSQL數據庫安全加固建議
運行以下T-SQL命令:
EXECUTE sp_configure 'show advanced options', 1; RECONFIGURE; EXECUTE sp_configure 'Database Mail XPs', 0; RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; RECONFIGURE;
確?!皢⒂肅LR”服務器配置選項設置為“ 0” 服務配置
clr enabled選項指定用戶程序集是否可以由SQL Server運行。 啟用CLR程序集的使用會擴大SQL erver的攻擊面,并使它受到疏忽和惡意程序集的威脅。
MSSQL數據庫安全加固建議
運行以下T-SQL命令:
EXECUTE sp_configure 'clr enabled', 0; RECONFIGURE;
某些版本在開啟reporting service時存在安全漏洞入侵防范
SQL Server以下版本在開啟reporting service時存在遠程代碼執行漏洞,容易被入侵
SQL Server 2016 Service Pack 2(GDR) 13.0.5026.0 - 13.0.5101.9
SQL Server 2016 Service Pack 2 CU11 13.0.5149.0 - 13.0.5598.27
SQL Server 2014 Service Pack 3 (GDR) 12.0.6024.0 - 12.0.6108.1
Server 2014 Service Pack 2 CU4 12.0.6205.1 - 12.0.6329.1
SQL Server 2012 Service Pack 4 (QFE) 11.0.7001.0 - 11.0.7462.6
MSSQL數據庫安全加固建議
更新服務至最新版本或者打補丁,完成漏洞的修復,該漏洞可能導致命令執行,完成訪問認證加固可降低被入侵風險
確保將“登錄審核”設置為“失敗”和“成功登錄”安全審計
設置日志記錄成功和失敗的登錄SQL Server身份驗證嘗試。記錄成功和失敗的登錄信息可提供關鍵信息,這些信息可用于檢測/確認密碼猜測攻擊。 此外,記錄成功的登錄嘗試可用于在司法調查期間確認服務器訪問。
MSSQL數據庫安全加固建議
執行以下步驟來設置審核級別:
1.打開SQL Server Management Studio。
2.右鍵單擊目標實例,然后選擇“屬性”并導航到“安全性” 標簽。
3.在“登錄審核”下選擇選項“成功登錄失敗和成功登錄” 部分,然后單擊確定。
4.重新啟動SQL Server實例。
確保Windows本地組不是SQL登錄名 用戶權限分配
本地Windows組不應用作SQL Server實例的登錄名。允許本地Windows組作為SQL登錄名提供了一個漏洞,任何具有操作系統級別管理員權限(但沒有SQL Server權限)的人都可以將用戶添加到本地Windows組中,從而使他們自己或其他人可以訪問SQL Server實例
MSSQL數據庫安全加固建議
1.對于每個LocalGroupName登錄名,如果需要,請創建一個等效的AD組,其中包含 僅所需的用戶帳戶。
2.添加AD組或單個Windows帳戶作為SQL Server登錄名并授予它 所需的權限。
3.替換<名稱>后,使用以下語法刪除LocalGroupName登錄名。
USE [master] GO DROP LOGIN [<name>] GO
確?!?xp_cmdshell”服務器配置選項設置為“ 0” 入侵防范
xp_cmdshell選項控制經過身份驗證的SQL Server用戶是否可以使用xp_cmdshell擴展存儲過程來執行操作系統命令Shell命令并以SQL客戶端內的行形式返回結果。攻擊者通常使用xp_cmdshell過程向數據庫服務器的底層操作系統讀取數據或從中讀取數據。
MSSQL數據庫安全加固建議
運行以下T-SQL命令:
EXECUTE sp_configure 'show advanced options', 1; RECONFIGURE; EXECUTE sp_configure 'xp_cmdshell', 0; RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; RECONFIGURE;
確保將“ sa”登錄帳戶設置為“已禁用”服務配置
sa帳戶是sysadmin中一個廣為人知且經常使用的SQL Server特權帳戶。 這是安裝期間創建的原始登錄,并且始終具 Principal_id = 1,sid = 0x01。實施此控制可降低攻擊者對眾所周知的主體執行暴力攻擊的可能性。
MSSQL數據庫安全加固建議
運行以下T-SQL命令:
USE [master] GO DECLARE @tsql nvarchar(max) SET @tsql = 'ALTER LOGIN ' + SUSER_NAME(0x01) + ' DISABLE' EXEC (@tsql) GO
確?!翱鐢祿焖袡噫溄印狈掌髋渲眠x項設置為“ 0” 服務配置
跨數據庫所有權鏈接選項控制實例(或服務器)級別上所有數據庫之間的跨數據庫所有權鏈接。 啟用后,此選項允許數據庫中db_owner角色的成員訪問任何其他數據庫中的登錄名所擁有的對象,從而導致不必要的信息泄露。 必要時,跨數據庫所有權鏈接僅應為 通過使用ALTER DATABASE <database_name> SET DB_CHAINING ON命令為需要它的特定數據庫啟用了該功能,而不是在所有數據庫的實例級別啟用了該功能。 不能在master,model或tempdb系統數據庫上更改此數據庫選項
MSSQL數據庫安全加固建議
運行以下T-SQL命令:
EXECUTE sp_configure 'cross db ownership chaining', 0; RECONFIGURE; GO
確保將SQL Server配置為使用非標準端口入侵防范
如果啟用,將為默認SQL Server實例分配默認端口TCP:1433,以進行TCP / IP通信。 管理員還可以將命名實例配置為使用TCP:1433進行通信。 TCP:1433是眾所周知的SQL Server端口,應更改此端口分配。使用非默認端口有助于保護數據庫免受針對默認端口的攻擊。
MSSQL數據庫安全加固建議
1.在SQL Server配置管理器的控制臺窗格中,依次展開“ SQL Server網絡配置”,“ <實例名稱>的協議”,然后雙擊TCP / IP或VIA協議。
2.在“ TCP / IP屬性”對話框的“ IP地址”選項卡上,以IP1,IP2到IPAll的格式顯示幾個IP地址。 其中之一是用于回送適配器的IP地址127.0.0.1。 在計算機上為每個IP地址顯示其他IP地址
3.將“ TCP端口”字段從1433更改為另一個非標準端口,或將“ TCP端口”字段保留為空,并將“ TCP動態端口”值設置為0以啟用動態端口分配,然后單擊“確定”。
4.在控制臺窗格中,單擊“ SQL Server服務”。
5.在詳細信息窗格中,右鍵單擊SQL Server(<InstanceName>),然后單擊“重新啟動”以停止并重新啟動SQL Server。
確保Sysadmin角色中所有經過SQL身份驗證的登錄名的“ CHECK_EXPIRATION”選項都設置為“ ON” 訪問控制
將Windows中使用的相同密碼過期策略應用于SQL Server內部使用的密碼。 確保SQL登錄名符合Windows Server Benchmark所應用的安全密碼策略,將確保頻繁更改具有sysadmin特權的SQL登錄名的密碼,以幫助防止通過蠻力攻擊造成的損害。 CONTROL SERVER是sysadmin的等效權限,并且還應該要求具有該權限的登錄名具有到期的密碼。
MSSQL數據庫安全加固建議
運行以下T-SQL語句,以CHECK_EXPIRATION = OFF查找sysadmin或等效登錄名。 不應返回任何行。
SELECT l.[name], 'sysadmin membership' AS 'Access_Method' FROM sys.sql_logins AS l WHERE IS_SRVROLEMEMBER('sysadmin',name) = 1 AND l.is_expiration_checked <> 1 UNION ALL SELECT l.[name], 'CONTROL SERVER' AS 'Access_Method' FROM sys.sql_logins AS l JOIN sys.server_permissions AS p ON l.principal_id = p.grantee_principal_id WHERE p.type = 'CL' AND p.state IN ('G', 'W') AND l.is_expiration_checked <> 1;
對于審核程序發現的每個<login_name>,執行以下T-SQL語句:
ALTER LOGIN [login_name] WITH CHECK_EXPIRATION = ON;
確保從SQL Server數據庫中刪除“孤立的用戶” 入侵防范
未在服務器實例上為其定義相應SQL Server登錄名或未正確定義數據庫用戶的數據庫用戶無法登錄到該實例,并且稱為孤立用戶,應將其刪除。 孤兒用戶應被刪除,以避免在任何情況下濫用那些壞掉的用戶辦法。
MSSQL數據庫安全加固建議
如果使用下面引用的Microsoft文檔記錄的過程,孤立用戶無法或不應該與現有或新登錄名匹配,請在適當的數據庫中運行以下T-SQL查詢以刪除孤立用戶:
USE [<database_name>]; GO DROP USER <username>;
確保所有SQL身份驗證登錄名的“ CHECK_POLICY”選項都設置為“ ON” 身份鑒別
將Windows中使用的相同密碼過期策略應用于SQL Server內部使用的密碼。確保SQL登錄名符合Windows Server Benchmark所應用的安全密碼策略,將確保頻繁更改具有sysadmin特權的SQL登錄名的密碼,以幫助防止通過蠻力攻擊造成的損害。 控制SERVER是sysadmin的等效權限,并且還應該要求具有該權限的登錄名具有到期的密碼。
MSSQL數據庫安全加固建議
使用以下代碼段確定SQL登錄名的狀態以及是否強制執行其密碼復雜性。
SELECT name, is_disabled FROM sys.sql_logins WHERE is_policy_checked = 0;
對于審核過程發現的每個<login_name>,執行以下T-SQL語句
ALTER LOGIN [login_name] WITH CHECK_POLICY= ON;
確?!?sa”登錄帳戶已重命名 服務配置
sa帳戶是具有sysadmin特權的眾所周知且經常使用的SQL Server登錄。 sa登錄名是安裝期間創建的原始登錄名,并且始終具有principal_id = 1和sid = 0x01。 如果名稱未知,則對sa登錄名發起密碼猜測和蠻力攻擊更加困難。
MSSQL數據庫安全加固建議
在以下語句中用自定義的名稱替換<different_user>值,然后執行以重命名sa登錄名。
ALTER LOGIN sa WITH NAME = <different_user>;
以上SQL server安全基線,SQL數據庫安全加固設置 由聚企互聯臺州項目1公司為您提供!更多均可以聯系我們!
服務熱線:0576-8888212