毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長(zhǎng)、見(jiàn)賢思齊
當(dāng)前位置:公文素材庫(kù) > 計(jì)劃總結(jié) > 工作總結(jié) > SQL總結(jié)-最佳做法檢查表

SQL總結(jié)-最佳做法檢查表

網(wǎng)站:公文素材庫(kù) | 時(shí)間:2019-05-29 22:28:38 | 移動(dòng)端:SQL總結(jié)-最佳做法檢查表

SQL總結(jié)-最佳做法檢查表

總結(jié):最佳做法檢查表

以下檢查表總結(jié)了本白皮書中討論的各種最佳做法。有關(guān)詳細(xì)信息,請(qǐng)參閱上面的討論。

管理員檢查表

在安裝之前設(shè)置環(huán)境物理安全防火墻確保服務(wù)器的物理安全。在服務(wù)器和Internet之間放置防火墻?偸窃谕鈬阑饓ι献柚筎CP端口1433和UDP端口1434。如果命名實(shí)例在其他端口上偵聽(tīng),則還要阻止這些端口。在多層環(huán)境中,使用多個(gè)防火墻創(chuàng)建屏蔽子網(wǎng)。隔離服務(wù),降低受到威脅的服務(wù)被利用來(lái)危害其他服務(wù)的風(fēng)險(xiǎn)。絕對(duì)不要在域控制器上安裝SQLServer。以單獨(dú)的Windows帳戶身份運(yùn)行單獨(dú)的SQLServer服務(wù)。在多層環(huán)境中,在單獨(dú)的計(jì)算機(jī)上運(yùn)行Web邏輯和業(yè)務(wù)邏輯。創(chuàng)建Windows帳戶,盡可能只讓其具有運(yùn)行SQLServer服務(wù)所需的最小特權(quán)。使用NTFS。對(duì)關(guān)鍵的數(shù)據(jù)文件使用RAID。服務(wù)隔離服務(wù)帳戶文件系統(tǒng)安裝最新版本和ServicePack服務(wù)帳戶身份驗(yàn)證模式強(qiáng)密碼總是安裝最新的ServicePack和安全修補(bǔ)程序。使用盡可能具有最低特權(quán)的帳戶運(yùn)行SQLServer服務(wù)。使用企業(yè)管理器將服務(wù)與Windows帳戶相關(guān)聯(lián)。要求使用Windows身份驗(yàn)證與SQLServer連接。即使在使用Windows身份驗(yàn)證時(shí),也總是為sa帳戶指派強(qiáng)密碼。對(duì)所有SQLServer帳戶都總是使用強(qiáng)密碼。安裝之后的配置選項(xiàng)和設(shè)置刪除或保護(hù)舊安裝文件在安裝之后刪除或存檔下列文件:sqlstp.log、sqlsp.log和setup.iss。對(duì)于默認(rèn)安裝,這些文件位于:\\ProgramFiles\\MicrosoftSQLServer\\MSSQL\\Install文件夾中;對(duì)于命名實(shí)例,這些文件位于:\\ProgramFiles\\MicrosoftSQLServer\\MSSQL$\\Install文件夾中。如果當(dāng)前系統(tǒng)是從SQLServer7.0升級(jí)的,請(qǐng)刪除下列文件:%Windir%文件夾中的setup.iss;WindowsTemp文件夾中的sqlsp.log。

為命名實(shí)例選擇靜態(tài)端口安裝之后的配置選項(xiàng)和設(shè)置(續(xù))設(shè)置登錄審核級(jí)別啟用安全審核即使在Windows身份驗(yàn)證模式下也要保護(hù)sa帳戶的安全刪除示例數(shù)據(jù)庫(kù)

為SQLServer的命名實(shí)例分配靜態(tài)端口。將登錄審核級(jí)別設(shè)置為“失敗”或“全部”。對(duì)Sysadmin操作、固定角色成員身份更改、所有與登錄相關(guān)的活動(dòng)以及密碼更改啟用安全審核。在選擇適當(dāng)?shù)膶徍诉x項(xiàng)之后,應(yīng)該編寫審核腳本,將它包裝在存儲(chǔ)過(guò)程中,并將該存儲(chǔ)過(guò)程標(biāo)記為AutoStart。即使在配置為要求進(jìn)行Windows身份驗(yàn)證的服務(wù)器上,也要為sa帳戶指派強(qiáng)密碼。從生產(chǎn)服務(wù)器中刪除示例數(shù)據(jù)庫(kù)。安全操作安全模型備份策略減少功能、減小受攻擊范圍減少管理員強(qiáng)密碼跨數(shù)據(jù)庫(kù)所有權(quán)鏈接X(jué)p_cmdshell加密角色和組權(quán)限分布式查詢學(xué)會(huì)使用SQLServer安全模型。定期備份所有數(shù)據(jù)并將副本存放在安全的非現(xiàn)場(chǎng)位置。測(cè)試災(zāi)難恢復(fù)系統(tǒng)。通過(guò)只運(yùn)行環(huán)境所必需的服務(wù)和功能,減小系統(tǒng)受到攻擊的范圍。限制少數(shù)幾個(gè)受信任用戶擁有sysadmin固定服務(wù)器角色的成員身份。確保對(duì)于所有的SQLServer帳戶使用復(fù)雜密碼。如果系統(tǒng)不使用跨數(shù)據(jù)庫(kù)所有權(quán)鏈接,請(qǐng)禁用它。在默認(rèn)情況下,只有sysadmin角色的成員能夠執(zhí)行xp_cmdshell。不應(yīng)更改此默認(rèn)設(shè)置。不要將執(zhí)行xp_cmdshell的權(quán)限授予sysadmin角色成員以外的用戶。安裝證書以啟用SSL連接。證書應(yīng)該使用服務(wù)器的完全限定的DNS名稱。在SQLServer服務(wù)帳戶下使用EFS加密數(shù)據(jù)庫(kù)文件。如果應(yīng)用程序要求加密數(shù)據(jù),請(qǐng)考慮使用諸如Protegrity和ApplicationSecurityInc.之類的供應(yīng)商的產(chǎn)品。將用戶匯集到SQLServer角色或Windows組中以簡(jiǎn)化權(quán)限管理。絕對(duì)不要向public數(shù)據(jù)庫(kù)角色授予權(quán)限。在支持分布式查詢的環(huán)境中設(shè)置SQLServer時(shí),使用鏈接服務(wù)器(而不要使用遠(yuǎn)程服務(wù)器)。僅將鏈接服務(wù)器的訪問(wèn)權(quán)限授予那些需要它的登錄。對(duì)于除sysadmin固定服務(wù)器角色的成員以外的所有用戶,禁止對(duì)除SQLOLEDB以外的所有提供程序進(jìn)行特殊(adhoc)數(shù)據(jù)訪問(wèn)。只允許對(duì)受信任的提供程序進(jìn)行特殊數(shù)據(jù)訪問(wèn)。

來(lái)賓帳戶安全操作(續(xù))服務(wù)帳戶不要啟用來(lái)賓帳戶。如果需要更改與SQLServer服務(wù)相關(guān)聯(lián)的帳戶,請(qǐng)使用SQLServer企業(yè)管理器。如果更改多個(gè)服務(wù),則必須使用企業(yè)管理器將所做的更改分別應(yīng)用于每個(gè)服務(wù)。建議的定期管理過(guò)程Microsoft基準(zhǔn)安全分析器(MBSA)將MBSA添加到每周維護(hù)計(jì)劃中,并按照計(jì)劃中的任何安全建議操作。定期掃描帳戶,查看是否有使用空密碼的帳戶,并刪除使用空密碼的帳戶或?yàn)樗鼈冎概蓮?qiáng)密碼。刪除不再使用的帳戶。定期掃描固定服務(wù)器和數(shù)據(jù)庫(kù)角色,確保只將成員身份授予受信任用戶。驗(yàn)證已被標(biāo)記為AutoStart的存儲(chǔ)過(guò)程是否安全。確保數(shù)據(jù)庫(kù)用戶與服務(wù)器級(jí)登錄之間的映射正確無(wú)誤。定期運(yùn)行帶有report選項(xiàng)的sp_change_users_login,確保映射按預(yù)期方式工作。不允許直接更新目錄。使用sp_dboption枚舉和驗(yàn)證啟用了跨數(shù)據(jù)庫(kù)所有權(quán)鏈接的數(shù)據(jù)庫(kù)。掃描登錄枚舉固定角色成員成份啟動(dòng)過(guò)程登錄到用戶的映射直接更新目錄跨數(shù)據(jù)庫(kù)所有權(quán)鏈接修補(bǔ)實(shí)例的最佳做法實(shí)例檢測(cè)和枚舉保留您所負(fù)責(zé)的SQLServer的所有版本和語(yǔ)言清單。在清單中包括MSDE實(shí)例。使用SQLScan和SQLCheck(可從Microsoft網(wǎng)站獲。瑨呙栌蛑械腟QLServer實(shí)例。訂閱Microsoft安全公告。維護(hù)與生產(chǎn)系統(tǒng)的配置相匹配并且可用于測(cè)試新修補(bǔ)程序的測(cè)試系統(tǒng)。在將修補(bǔ)程序應(yīng)用于生產(chǎn)系統(tǒng)之前,認(rèn)真測(cè)試修補(bǔ)程序?紤]修補(bǔ)不需要太多測(cè)試的開(kāi)發(fā)系統(tǒng)。公告修補(bǔ)應(yīng)用程序開(kāi)發(fā)人員檢查表

除上面的所有項(xiàng)目外,開(kāi)發(fā)人員應(yīng)將下列內(nèi)容視為最佳做法。

常規(guī)有效地使用所有權(quán)鏈接

在單個(gè)數(shù)據(jù)庫(kù)中使用所有權(quán)鏈接來(lái)簡(jiǎn)化權(quán)限管理。

使用角色來(lái)簡(jiǎn)化權(quán)限管理和所有權(quán)打開(kāi)加密功能(SSL或IPSEC)不將SQLServer錯(cuò)誤傳播回到用戶防止受到SQL插入攻擊盡可能避免使用跨數(shù)據(jù)庫(kù)所有權(quán)鏈接。如果必須使用跨數(shù)據(jù)庫(kù)所有權(quán)鏈接,請(qǐng)確保這兩個(gè)數(shù)據(jù)庫(kù)總是部署為單個(gè)管理單元。向角色指派權(quán)限,而不要直接向用戶指派權(quán)限。如果希望在刪除擁有對(duì)象的用戶時(shí)不必更改應(yīng)用程序,則可以讓角色擁有對(duì)象,而不是讓用戶直接擁有對(duì)象。對(duì)服務(wù)器啟用加密連接,并考慮只允許建立加密連接。如果允許使用SQLServer身份驗(yàn)證,則強(qiáng)烈建議您使用IPSec加密網(wǎng)絡(luò)層或者使用SSL加密會(huì)話。您的應(yīng)用程序不應(yīng)該將SQLServer錯(cuò)誤返回給最終用戶,而是將它們記錄到日志中或者將它們傳輸給系統(tǒng)管理員。通過(guò)先驗(yàn)證所有的用戶輸入,然后將其傳輸?shù)椒⻊?wù)器,防止受到SQL插入攻擊。只允許具有最小特權(quán)的帳戶將用戶輸入的內(nèi)容發(fā)送到服務(wù)器,從而限制可能受損的范圍。使用必需的最小特權(quán)運(yùn)行SQLServer本身。多層選項(xiàng)同一個(gè)域/受信任域(完整的Windows身如果應(yīng)用程序服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器位于同一個(gè)域中或者位于受信份驗(yàn)證)任域中,則應(yīng)使用Windows身份驗(yàn)證,并配置“完全提供”功能(所有客戶端上下文都與SQLServer建立通道連接)。這樣,可以審核訪問(wèn)SQLServer的所有用戶,允許執(zhí)行Windows安全策略,并且無(wú)需將憑據(jù)存儲(chǔ)在中間層。在該方案中,客戶端連接到應(yīng)用程序服務(wù)器,應(yīng)用程序服務(wù)器從而模擬客戶端并連接到SQLServer。應(yīng)用程序服務(wù)器上的每個(gè)用戶都必須在數(shù)據(jù)庫(kù)服務(wù)器上有一個(gè)有效的Windows登錄,且必須啟用委派功能。該方案中進(jìn)行交互的所有系統(tǒng)(包括域控制器)都必須運(yùn)行Windows201*或更高版本。用來(lái)運(yùn)行應(yīng)用程序的帳戶必須能夠委派其他帳戶(即,必須針對(duì)此帳戶打開(kāi)ActiveDirectory用戶帳戶選項(xiàng)“帳戶可委派其他帳戶”)?蛻舳藥舯仨毮軌虮晃桑ù_保取消選中ActiveDirectory用戶帳戶選項(xiàng)“敏感帳戶,不能被委派”)。應(yīng)用程序服務(wù)必須有一個(gè)有效的服務(wù)主體名稱(SPN)。注意如果安全計(jì)劃要求最小化用戶對(duì)數(shù)據(jù)庫(kù)服務(wù)器的訪問(wèn)權(quán)限或者企業(yè)策略禁止委派,建議不要在跨數(shù)據(jù)庫(kù)或Internet級(jí)別的安裝中使用“完全提供”功能。

多層選項(xiàng)(續(xù))混合方案(部分Windows身份驗(yàn)證)不同的非信任域或沒(méi)有域(不進(jìn)行Windows身份驗(yàn)證)如果在面向Internet的層中,并非每個(gè)用戶都有一個(gè)單獨(dú)的Windows域帳戶,則建議將身份驗(yàn)證分成幾個(gè)階段。在驗(yàn)證用戶身份的外層,如果不加密整個(gè)會(huì)話,至少應(yīng)該使用SSL加密憑據(jù)。應(yīng)該使用Windows身份驗(yàn)證連接到數(shù)據(jù)庫(kù)服務(wù)器,并在特權(quán)很小、只具有執(zhí)行數(shù)據(jù)庫(kù)服務(wù)器功能所必需的權(quán)限的單獨(dú)安全上下文中轉(zhuǎn)發(fā)事務(wù)信息。這樣,可以將中間層有效地作為服務(wù)器和Internet之間的附加防御層。注意建議不要在中間層和SQLServer之間使用SQLServer身份驗(yàn)證,因?yàn)槭褂肧QLServer身份驗(yàn)證需要存儲(chǔ)憑據(jù)。如果必須在中間層和SQLServer之間使用SQLServer身份驗(yàn)證,那么應(yīng)該創(chuàng)建幾個(gè)帳戶,并讓它們分別具有與不同種類的用戶對(duì)應(yīng)的不同級(jí)別的特權(quán)。這要求您向中間層中添加邏輯,以便按照所需的特權(quán)級(jí)別分配連接。如果不能在各層之間使用Windows身份驗(yàn)證,則應(yīng)要求對(duì)登錄序列進(jìn)行SSL加密。最好加密整個(gè)會(huì)話。還應(yīng)使用DPAPI加密必須存儲(chǔ)的憑據(jù)。應(yīng)將加密憑據(jù)存儲(chǔ)在用ACL保護(hù)的注冊(cè)表項(xiàng)中。軟件供應(yīng)商檢查表

除上面的所有項(xiàng)目外,下列安全開(kāi)發(fā)做法也已被證明對(duì)于提高各種開(kāi)發(fā)環(huán)境中代碼的質(zhì)量及安全性非常有用。

安全過(guò)程了解各種安全問(wèn)題確保開(kāi)發(fā)小組的成員了解主要的安全問(wèn)題:當(dāng)前存在的威脅、安全趨勢(shì)、更改安全環(huán)境以及受到攻擊的情形。要求對(duì)所有開(kāi)發(fā)人員和測(cè)試人員進(jìn)行相關(guān)的安全培訓(xùn)。增強(qiáng)對(duì)跨站點(diǎn)腳本、緩沖區(qū)溢出、SQL插入和危險(xiǎn)的API等問(wèn)題的認(rèn)識(shí)。確定對(duì)產(chǎn)品構(gòu)成威脅的各種具體類型,例如拒絕服務(wù)、特權(quán)升級(jí)、欺騙、篡改數(shù)據(jù)、信息泄漏和丟棄。針對(duì)每個(gè)組件逐一分析產(chǎn)品受到的安全威脅;诋a(chǎn)品構(gòu)建安全威脅檢查表。在產(chǎn)品開(kāi)發(fā)周期的每個(gè)階段(從設(shè)計(jì)到測(cè)試)增加安全審核步驟。

安全過(guò)程(續(xù))安裝MSDE如果將MSDE與應(yīng)用程序一起分發(fā),則應(yīng)遵守下列附加準(zhǔn)則:使用“Windows安全模式”作為默認(rèn)設(shè)置安裝MSDE。絕對(duì)不要使用空的sa密碼。在向客戶分發(fā)MSDE時(shí),應(yīng)使用Microsoft提供的安裝程序,而不要使用合并模塊。在安裝將只作為本地?cái)?shù)據(jù)存儲(chǔ)運(yùn)行的MSDE實(shí)例時(shí),應(yīng)該禁用服務(wù)器網(wǎng)絡(luò)庫(kù)。如果產(chǎn)品中包括MSDE,則應(yīng)讓您的客戶知道這一點(diǎn)。他們將來(lái)可能需要安裝或接受MSDE特定的軟件更新程序。MSDE在默認(rèn)情況下安裝SQLServer代理,但是將服務(wù)啟動(dòng)類型保持為“手動(dòng)”。如果應(yīng)用程序不使用SQLServer代理,則應(yīng)將此設(shè)置更改為“禁用”。在產(chǎn)品文檔中包括安全性最佳做法信息。

擴(kuò)展閱讀:SQL的一些重要操作方法總結(jié)

SQL的一些重要操作方法總結(jié)

一、對(duì)表中數(shù)據(jù)進(jìn)行更新的情況說(shuō)明

㈠、用一個(gè)表中的數(shù)據(jù)更新另一個(gè)表★實(shí)現(xiàn)方法:

先打開(kāi)原始數(shù)據(jù)表;然后用循環(huán)的方式查找原始數(shù)據(jù)表,把相應(yīng)的數(shù)據(jù)用UPDATE命令來(lái)更新目標(biāo)表。

USEDOWHILE!EOF()

UPDATESETWHERESKIPENDDO

循環(huán)也可以用SCAN語(yǔ)句來(lái)實(shí)現(xiàn)。USESCAN

UPDATESETWHEREENDSCAN

㈡、從一個(gè)表中檢索出一些數(shù)據(jù)再用來(lái)更新另一個(gè)表所謂“檢索”是指從一個(gè)表中統(tǒng)計(jì)或計(jì)算出一些數(shù)據(jù)。★實(shí)現(xiàn)方法:

先用SELECT語(yǔ)句進(jìn)行檢索,把檢索到的結(jié)果暫存到臨時(shí)表中;然后用循環(huán)的方式查找臨時(shí)表,用UPDATE語(yǔ)句來(lái)更新目標(biāo)表。

SELECTFROMINTOCURSORDOWHILE!EOF()

UPDATESETWHERESKIPENDDO

當(dāng)然也可以和前一種情況一下,循環(huán)用SCAN語(yǔ)句。㈢、在同一個(gè)表中更新

直接使用UPDATE語(yǔ)句即可(可一次更新多條記錄),不需要用循環(huán)。

二、在表中插入記錄的情況說(shuō)明

㈠、插入記錄內(nèi)容不是來(lái)自別的數(shù)據(jù)表直接使用INSERTINTO命令即可。㈡、需要從另一個(gè)數(shù)據(jù)表(源表)提取數(shù)據(jù)

這時(shí)不能直接用INSERTINTO命令,需要分兩步進(jìn)行!飳(shí)現(xiàn)方法:

用SELECT語(yǔ)句從源表中提取數(shù)據(jù),并存入到一個(gè)數(shù)組中,然后使用INSERTINTO命令的格式二插入到目標(biāo)表中。

SELECTFROMINTOARRAYINSERTINTOFROMARRAY注:如果用在SELECT語(yǔ)句后直接加上子句INTOTABLE的方式存入到目標(biāo)表,會(huì)覆蓋目標(biāo)表上的原有數(shù)據(jù)。三、SQL語(yǔ)句運(yùn)行時(shí)出現(xiàn)錯(cuò)誤解決方法1、分步調(diào)試,先調(diào)試基本部分是否正確。

2、檢查語(yǔ)句中出現(xiàn)的符號(hào)是否是半角(英文)符號(hào)。關(guān)掉中文輸入法重新鍵入相關(guān)的符號(hào)。

3、是否遺漏了相關(guān)的子句,單詞是否拼錯(cuò)。檢查格式是否符合SQL語(yǔ)句的規(guī)定。

4、多表查詢時(shí)檢查表的順序(要確立主表,輔表,位置)5、檢查是否要分組。

6、如果分組了,有沒(méi)有分組條件,是否把分組條件放到了WHERE子句。

7、檢查WHERE條件中的條件是否寫錯(cuò),出現(xiàn)的字段名是否出現(xiàn)在表中。

8、檢查“:”號(hào),是否多了或者少了。

9、檢查引號(hào),只有在表示字符常量是才加引號(hào),其它的一律不能加;另外引號(hào)不能是中文引號(hào)。

友情提示:本文中關(guān)于《SQL總結(jié)-最佳做法檢查表》給出的范例僅供您參考拓展思維使用,SQL總結(jié)-最佳做法檢查表:該篇文章建議您自主創(chuàng)作。

來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。


SQL總結(jié)-最佳做法檢查表》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.seogis.com/gongwen/747386.html
相關(guān)文章