日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

如何保证数据库服务器的安全性

發(fā)布時(shí)間:2025/5/22 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何保证数据库服务器的安全性 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.使用安全的密碼策略 我們把密碼策略擺在所有安全配置的第一步,請(qǐng)注意,很多數(shù)據(jù)庫(kù)帳號(hào)的密碼過于簡(jiǎn)單,這跟系統(tǒng)密碼過于簡(jiǎn)單是一個(gè)道理。對(duì)于sa更應(yīng)該注意,同時(shí)不要讓sa帳號(hào)的密碼寫于應(yīng)用程序或者腳本中。健壯的密碼是安全的第一步! SQL Server2005安裝的時(shí)候,如果是使用混合模式,那么就需要輸入sa的密碼,除非你確認(rèn)必須使用空密碼。這比以前的版本有所改進(jìn)。 同時(shí)養(yǎng)成定期修改密碼的好習(xí)慣。數(shù)據(jù)庫(kù)管理員應(yīng)該定期查看是否有不符合密碼要求的帳號(hào)。使用下面的SQL語句:Use master Select name,Password from syslogins where password is null 2.使用安全的帳號(hào)策略。 由于SQL Server不能更改sa用戶名稱,也不能刪除這個(gè)超級(jí)用戶,所以,我們必須對(duì)這個(gè)帳號(hào)進(jìn)行最強(qiáng)的保護(hù),當(dāng)然,包括使用一個(gè)非常強(qiáng)壯的密碼,最好不要在數(shù)據(jù)庫(kù)應(yīng)用中使用sa帳號(hào),只有當(dāng)沒有其它方法登錄到 SQL Server 實(shí)例(例如,當(dāng)其它系統(tǒng)管理員不可用或忘記了密碼)時(shí)才使用 sa。建議數(shù)據(jù)庫(kù)管理員新建立一個(gè)擁有與sa一樣權(quán)限的超級(jí)用戶來管理數(shù)據(jù)庫(kù)。安全的帳號(hào)策略還包括不要讓管理員權(quán)限的帳號(hào)泛濫。 SQL Server的認(rèn)證模式有Windows身份認(rèn)證和混合身份認(rèn)證兩種。如果數(shù)據(jù)庫(kù)管理員不希望操作系統(tǒng)管理員來通過操作系統(tǒng)登陸來接觸數(shù)據(jù)庫(kù)的話,可以在帳號(hào)管理中把系統(tǒng)帳號(hào)“BUILTIN\Administrators”刪除。不過這樣做的結(jié)果是一旦sa帳號(hào)忘記密碼的話,就沒有辦法來恢復(fù)了。很多主機(jī)使用數(shù)據(jù)庫(kù)應(yīng)用只是用來做查詢、修改等簡(jiǎn)單功能的,請(qǐng)根據(jù)實(shí)際需要分配帳號(hào),并賦予僅僅能夠滿足應(yīng)用要求和需要的權(quán)限。比如,只要查詢功能的,那么就使用一個(gè)簡(jiǎn)單的public帳號(hào)能夠select就可以了。創(chuàng)建用戶定義的數(shù)據(jù)庫(kù)角色,然后分配權(quán)限。完成這個(gè)步驟最簡(jiǎn)單的方法是創(chuàng)建一些名字與全局組名字配套的角色。例如對(duì)于前面例子中的會(huì)計(jì)系統(tǒng),我們可以創(chuàng)建Accounting Data Entry Operators、Accounting Data Entry Managers之類的角色。由于會(huì)計(jì)數(shù)據(jù)庫(kù)中的角色與帳務(wù)處理任務(wù)有關(guān),你可能想要縮短這些角色的名字。然而,如果角色名字與全局組的名字配套,你可以減少混亂,能夠更方便地判斷出哪些組屬于特定的角色。 3.簡(jiǎn)化安全管理 SQL Server驗(yàn)證的登錄不僅能夠方便地實(shí)現(xiàn),而且與NT驗(yàn)證的登錄相比,它更容易編寫到應(yīng)用程序里。但是,如果用戶的數(shù)量超過25,或者服務(wù)器數(shù)量在一個(gè)以上,或者每個(gè)用戶都可以訪問一個(gè)以上的數(shù)據(jù)庫(kù),或者數(shù)據(jù)庫(kù)有多個(gè)管理員,SQL Server驗(yàn)證的登錄不容易管理。由于SQL Server沒有顯示用戶有效權(quán)限的工具,要記憶每個(gè)用戶具有哪些權(quán)限以及他們?yōu)楹我玫竭@些權(quán)限就更加困難。即使對(duì)于一個(gè)數(shù)據(jù)庫(kù)管理員還要擔(dān)負(fù)其他責(zé)任的小型系統(tǒng),簡(jiǎn)化安全策略也有助于減輕問題的復(fù)雜程度。因此,首選的方法應(yīng)該是使用NT驗(yàn)證的登錄,然后通過一些精心選擇的全局組和數(shù)據(jù)庫(kù)角色管理數(shù)據(jù)庫(kù)訪問。 4.加強(qiáng)數(shù)據(jù)庫(kù)日志的記錄。 審核數(shù)據(jù)庫(kù)登錄事件的“失敗和成功”,在實(shí)例屬性中選擇“安全性”,將其中的審核級(jí)別選定為全部,這樣在數(shù)據(jù)庫(kù)系統(tǒng)和操作系統(tǒng)日志里面,就詳細(xì)記錄了所有帳號(hào)的登錄事件。定期查看SQL Server日志檢查是否有可疑的登錄事件發(fā)生,或者使用DOS命令。 findstr /C:"登錄" d:\Microsoft SQL Server\MSSQL\LOG\*.* 5.管理擴(kuò)展存儲(chǔ)過程 對(duì)存儲(chǔ)過程進(jìn)行大手術(shù),并且對(duì)帳號(hào)調(diào)用擴(kuò)展存儲(chǔ)過程的權(quán)限要慎重。其實(shí)在多數(shù)應(yīng)用中根本用不到多少系統(tǒng)的存儲(chǔ)過程,而SQL Server的這么多系統(tǒng)存儲(chǔ)過程只是用來適應(yīng)廣大用戶需求的,所以請(qǐng)刪除不必要的存儲(chǔ)過程,因?yàn)橛行┫到y(tǒng)的存儲(chǔ)過程能很容易地被人利用起來提升權(quán)限或進(jìn)行破壞。 如果你不需要擴(kuò)展存儲(chǔ)過程xp_cmdshell請(qǐng)把它去掉。使用這個(gè)SQL語句: use master sp_dropextendedproc 'xp_cmdshell' xp_cmdshell是進(jìn)入操作系統(tǒng)的最佳捷徑,是數(shù)據(jù)庫(kù)留給操作系統(tǒng)的一個(gè)大后門。如果你需要這個(gè)存儲(chǔ)過程,請(qǐng)用這個(gè)語句也可以恢復(fù)過來。 sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 如果你不需要請(qǐng)丟棄OLE自動(dòng)存儲(chǔ)過程(會(huì)造成管理器中的某些特征不能使用),這些過程包括如下: Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop 去掉不需要的注冊(cè)表訪問的存儲(chǔ)過程,注冊(cè)表存儲(chǔ)過程甚至能夠讀出操作系統(tǒng)管理員的密碼來,如下: Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread Xp_regremovemultistring Xp_regwrite 還有一些其他的擴(kuò)展存儲(chǔ)過程,你也最好檢查檢查。 在處理存儲(chǔ)過程的時(shí)候,請(qǐng)確認(rèn)一下,避免造成對(duì)數(shù)據(jù)庫(kù)或應(yīng)用程序的傷害。 6.使用協(xié)議加密 SQL Server 2005使用的Tabular Data Stream協(xié)議來進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)交換,如果不加密的話,所有的網(wǎng)絡(luò)傳輸都是明文的,包括密碼、數(shù)據(jù)庫(kù)內(nèi)容等等,這是一個(gè)很大的安全威脅。能被人在網(wǎng)絡(luò)中截獲到他們需要的東西,包括數(shù)據(jù)庫(kù)帳號(hào)和密碼。所以,在條件容許情況下,最好使用SSL來加密協(xié)議,當(dāng)然,你需要一個(gè)證書來支持。 7.不要讓人隨便探測(cè)到你的TCP/IP端口 默認(rèn)情況下,SQL Server使用1433端口監(jiān)聽,很多人都說SQL Server配置的時(shí)候要把這個(gè)端口改變,這樣別人就不能很容易地知道使用的什么端口了。可惜,通過微軟未公開的1434端口的UDP探測(cè)可以很容易知道SQL Server使用的什么TCP/IP端口了(請(qǐng)參考《深入探索SQL Server網(wǎng)絡(luò)連接的安全問題》)。 不過微軟還是考慮到了這個(gè)問題,畢竟公開而且開放的端口會(huì)引起不必要的麻煩。在實(shí)例屬性中選擇TCP/IP協(xié)議的屬性。選擇隱藏 SQL Server 實(shí)例。如果隱藏了 SQL Server 實(shí)例,則將禁止對(duì)試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的 SQL Server 實(shí)例的客戶端所發(fā)出的廣播作出響應(yīng)。這樣,別人就不能用1434來探測(cè)你的TCP/IP端口了(除非用Port Scan)。 8.修改TCP/IP使用的端口 請(qǐng)?jiān)谏弦徊脚渲玫幕A(chǔ)上,更改原默認(rèn)的1433端口。在實(shí)例屬性中選擇網(wǎng)絡(luò)配置中的TCP/IP協(xié)議的屬性,將TCP/IP使用的默認(rèn)端口變?yōu)槠渌丝凇?9.拒絕來自1434端口的探測(cè) 由于1434端口探測(cè)沒有限制,能夠被別人探測(cè)到一些數(shù)據(jù)庫(kù)信息,而且還可能遭到DOS***讓數(shù)據(jù)庫(kù)服務(wù)器的CPU負(fù)荷增大,所以對(duì)Windows 2000操作系統(tǒng)來說,在IPSec過濾拒絕掉1434端口的UDP通訊,可以盡可能地隱藏你的SQL Server。 10.對(duì)網(wǎng)絡(luò)連接進(jìn)行IP限制 SQL Server 2005數(shù)據(jù)庫(kù)系統(tǒng)本身沒有提供網(wǎng)絡(luò)連接的安全解決辦法,但是Windows 2000提供了這樣的安全機(jī)制。使用操作系統(tǒng)自己的IPSec可以實(shí)現(xiàn)IP數(shù)據(jù)包的安全性。請(qǐng)對(duì)IP連接進(jìn)行限制,只保證自己的IP能夠訪問,也拒絕其他IP進(jìn)行的端口連接,把來自網(wǎng)絡(luò)上的安全威脅進(jìn)行有效的控制。 11.網(wǎng)絡(luò)傳輸安全性 將明文轉(zhuǎn)化為暗文:我們?cè)诮oSQL申請(qǐng)證書要做到以下幾步: 一:首先我們要在我們的計(jì)算機(jī)中安裝證書服務(wù); 開始—設(shè)置—控制面板 選擇添加刪除程序-----添加刪除windows組件---------證書服務(wù)(彈出如果安裝證書服務(wù)后,計(jì)算機(jī)名與于成員身份不能更改了點(diǎn)擊是 ) 選擇 “獨(dú)立根” 然后點(diǎn)擊 下一步 填寫 CA服務(wù)器的名稱 如下圖 默認(rèn) 選擇下一步彈出 安裝證書服務(wù)時(shí)必須暫時(shí)停止Internet 信息服務(wù) 選擇 是 系統(tǒng) 開始安裝 CA證書服務(wù)處 如下圖 如下圖所示 安裝CA服務(wù)器 安裝完畢 二:為服務(wù)器申請(qǐng)證書 打開IE 在地址欄 里輸入 HTTP://CA服務(wù)器的IP/certsrv 選擇“申請(qǐng)一個(gè)證書” 在申請(qǐng)一個(gè)證書里 選擇 “ 高級(jí)申請(qǐng) ” 在高級(jí)申請(qǐng) 里 選擇 “創(chuàng)建并先向此CA提交一個(gè)申請(qǐng)” 在填寫 高級(jí)證書申請(qǐng) 時(shí) 注意兩點(diǎn) 第一點(diǎn)是填寫 “姓名”時(shí)不要添錯(cuò), 第二點(diǎn)是在密鑰選項(xiàng) 里的CSP 選擇“Microsoft RSA SChannel Cryptographic Provider” 如下圖 三:頒發(fā)證書 在CA服務(wù)器上 打開證書頒發(fā)機(jī)構(gòu)如下圖 在開始程序—管理工具—證書頒發(fā)機(jī)構(gòu) 雙擊打開 在打開的證書頒發(fā)機(jī)構(gòu) 找到“掛起的申請(qǐng)” 里會(huì)看到剛才申請(qǐng)的證書 鼠標(biāo)右件--所有任務(wù)—選擇頒發(fā) 如下圖所示 四:下載并安裝證書在次用IE打開 如下圖 選擇 “查看掛起的證書申請(qǐng)狀態(tài)” 選擇 剛剛 “申請(qǐng)的服務(wù)器證書” 雙擊 進(jìn)入 選擇 “安裝此證書” 在彈出的“潛在的腳本沖突” 選擇 是 五:給SQL服務(wù)器啟用加密 在開始—程序—SQL server 2005—配置工具—SQL Server Configuration Manager 如下圖 在打開的SQL Server Configuration Manager 里找到“MSSERVER的協(xié)議” 鼠標(biāo)右鍵選擇屬性 彈出的MSSQLSERVER的協(xié)議屬性里在標(biāo)志里選擇 打開服務(wù)器實(shí)例加密 如下圖選擇 是 在證書的標(biāo)簽里 選擇為SQL服務(wù)器申請(qǐng)好的證書 如下圖 對(duì)sql server服務(wù)器進(jìn)行加密,然后必須重啟SQL服務(wù),如下圖 完成后我們通過web傳輸?shù)乃袛?shù)據(jù)全都是通過加密的,即使對(duì)方從中間竊取到信息,也完全不用擔(dān)心,數(shù)據(jù)庫(kù)的數(shù)據(jù)文件不會(huì)丟失。 12.數(shù)據(jù)庫(kù)存儲(chǔ)安全性:做備份 備份分為:完全備份,差異備份,事務(wù)日志備份,文件和文件組備份。一般情況不用文件和文件組備份。 備份的目的地:磁盤的一個(gè)文件:disk='盤符及文件名';備份設(shè)備:先創(chuàng)建備份設(shè)備,在應(yīng)用此設(shè)備即可 a:完全備份:備份數(shù)據(jù)庫(kù)的所有內(nèi)容。sql 語句為: backup datebase 數(shù)據(jù)庫(kù)名稱 to disk='盤符及文件名' backup datebase 數(shù)據(jù)庫(kù)名稱 to 備份設(shè)備名 創(chuàng)建一個(gè)備份設(shè)備: sp_addumpdevice 'disk','itet_back','f:\backup\itet.bak' 例如: use itet create table test ( 編號(hào) char(4), 姓名 varchar(10), 性別 char(2), 年齡 int ) insert into test values ('0001','張三','男',20) backup database itet to itet_back drop database itet use master 還原數(shù)據(jù)庫(kù): 語法:restore database 數(shù)據(jù)庫(kù)名稱 from 備份設(shè)備 restore database itet from itet_back select * from itet..test b:差異備份:備份的是上一次完全備份以后發(fā)生的更改的內(nèi)容,只依賴完全備份 語法:backup database 數(shù)據(jù)庫(kù)名稱 to 備份設(shè)備 with differential 例如: use itet insert into test values ('0002','李四','女',29 select * from test backup database itet to itet_back with differential 還原數(shù)據(jù)庫(kù): 語法:restore database 數(shù)據(jù)庫(kù)名稱 from 備份設(shè)備 use master restore database itet from itet_back with file=1,norecovery restore database itet from itet_back with file=3,recovery select * from itet..test c:事務(wù)日志備份:備份的是上一次備份以后發(fā)生更改的內(nèi)容 語法:backup log 數(shù)據(jù)庫(kù)名稱 to 備份設(shè)備 insert into itet..test values ('0004','趙六','男',41) huan 還原事務(wù)日志備份: 語法:restore log 數(shù)據(jù)庫(kù)名稱 from 備份設(shè)備 backup log itet to itet_back drop database itet restore headeronly from itet_back restore database itet from itet_back with file=1,norecovery restore database itet from itet_back with file=3,norecovery restore log itet from itet_back with file=4,recovery select * from itet..test 13.數(shù)據(jù)庫(kù)的恢復(fù)模型: 簡(jiǎn)單模型:處于此模型,由只記錄數(shù)據(jù),不記錄操作。 大容量日志記錄:不記錄大容量操作: "select into" "bulk insert" 完全模型:支持的備份類型最完整。 14.時(shí)刻確保你裝了最新的服務(wù)程序更新包。 15.安裝防病毒軟件, 要保證數(shù)據(jù)庫(kù)的安全,一定要先保證系統(tǒng)的安全,解決系統(tǒng)安全的好辦法之一少不了安裝防病毒軟件,來防止***的***,避免有些病毒使服務(wù)器運(yùn)轉(zhuǎn)緩慢,有效的避免病毒給數(shù)據(jù)庫(kù)帶來的危害! 16. 物理安全性:數(shù)據(jù)庫(kù)服務(wù)器的獨(dú)立存放 數(shù)據(jù)庫(kù)服務(wù)器的服務(wù)一定要獨(dú)立,不要同時(shí)跑多個(gè)種類的數(shù)據(jù)庫(kù),防止發(fā)生沖突,防止用戶通過其他數(shù)據(jù)庫(kù)竊取到你另外的數(shù)據(jù)文件。還要注意的是數(shù)據(jù)庫(kù)服務(wù)器一定要獨(dú)立存放,不要跟過多的人接觸,最好把服務(wù)器放到專門的服務(wù)器公司,專門來存放,避免數(shù)據(jù)文件的丟失。

轉(zhuǎn)載于:https://blog.51cto.com/songtao87/110452

總結(jié)

以上是生活随笔為你收集整理的如何保证数据库服务器的安全性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。