防止SQLserver架設(shè)的服務(wù)器被黑 |
發(fā)布時(shí)間: 2012/9/12 15:14:29 |
如何防止SQLserver架設(shè)的服務(wù)器被黑 一、基本的安全設(shè)定 (1)文件系統(tǒng)的設(shè)定 windows2000server 支持多種文件系統(tǒng),最安全的要數(shù)NTFS文件系統(tǒng),如果你的windows2000server要 用作服務(wù)器,最好將所有的分區(qū)都格式化為NTFS文件系統(tǒng),fat32是不能用的 (2)補(bǔ)。╬ack) 目前windows2000已經(jīng)到sp4了,這個(gè)大補(bǔ)丁一定要裝的,安裝sp4后再到網(wǎng)絡(luò)上升級(jí),將微軟提供的各 種重要系統(tǒng)安全更新全部都升級(jí),不要怕麻煩,這是防病毒和黑客攻擊的非常重要安全設(shè)置步驟。 (3)帳號(hào)安全 帳號(hào)是windows2000server的重要的安全保證,要注意區(qū)分一些工作組的權(quán)限: administrators是系統(tǒng)管理員組,administrator是系統(tǒng)默認(rèn)的管理帳號(hào),administrator最好設(shè)置一 個(gè)復(fù)雜的密碼,復(fù)雜到什么程度呢?簡(jiǎn)單的說,自己都要記不住這個(gè)密碼,這個(gè)密碼可以是字符、數(shù)字、 符號(hào)、大小寫的組合(如:AGgF!452KhtUN),密碼不要讓別人猜得到,不要用自己得電話號(hào)碼啦之類的東 西,最好在筆記本上將密碼設(shè)定好后再設(shè)置,設(shè)好密碼后妥善保管記錄密碼的筆記本,每隔一段時(shí)間更改 自己的密碼,guest帳號(hào)最好禁止使用,如果沒有必要,不要添加其他的系統(tǒng)管理員帳號(hào) (4)關(guān)閉不必要的服務(wù) 在服務(wù)中將一些不常用的服務(wù)關(guān)閉(比如打印、遠(yuǎn)程注冊(cè)表操作,信息發(fā)送等不必要的服務(wù)) (5)網(wǎng)絡(luò)協(xié)議 如果沒有其他的用途,windows2000server只需要安裝tcp/ip協(xié)議,其他不必要的協(xié)議統(tǒng)統(tǒng)刪除 (6)如果沒必要,IIS一定不要安裝(如果需要安裝iis,那么看后面的設(shè)置) IIS是windows2000server中最不安全的組件,不裝IIS,windows2000將是很安全的 (7)默認(rèn)共享的刪除 windows2000server默認(rèn)的共享有以下幾種 c$ d$ e$ ..... IPC$ ADMIN$ 這些默認(rèn)共享一定要關(guān),否者h(yuǎn)k利用簡(jiǎn)單的Net use命令就可以將你的服務(wù)器黑掉 下面提供簡(jiǎn)單的關(guān)閉這些共享的方法 A、建立一個(gè)批處理文件,如a.bat B、在該批處理文件中添加下面的語(yǔ)句 net share c$ /del (這是取消c盤的默認(rèn)共享,同理 net share d$ /del 是取消d盤的共享,你有多少個(gè)盤符,就編多少 個(gè)以上的語(yǔ)句) net share ipc$ /del (刪除ipc默認(rèn)共享) net share admin$ /del (刪除 admin默認(rèn)共享) C 、將以上的語(yǔ)句添加完后,將該文件放入開始菜單中程序中啟動(dòng)文件夾中,讓windows2000server每 次啟動(dòng)都將默認(rèn)的共享刪除 (7)CMD的設(shè)置 cmd.exe是windows2000中非常重要的文件,很多漏洞都是要*調(diào)用該個(gè)文件,該文件在 windows2000server所在目錄的system32中,我們需要對(duì)其進(jìn)行設(shè)定 A、將該文件從system32中拷貝出來放在其他地方,將原來的文件刪除 B、將拷貝出來的文件進(jìn)行權(quán)限設(shè)定,只允許administrator訪問,不允許其他任何的工作組或用戶訪 問該文件 (8)windows2000server終端服務(wù)(默認(rèn)3389端口) windows2000server提供了遠(yuǎn)程終端服務(wù),此服務(wù)方便了網(wǎng)絡(luò)管理員對(duì)服務(wù)器的遠(yuǎn)程管理,但是,該服 務(wù)也為黑客提供了非常危險(xiǎn)的攻擊,網(wǎng)絡(luò)黑客口中的所謂跳板(肉雞)絕大部分都是利用該功能進(jìn)行自我 隱蔽的攻擊。一旦系統(tǒng)管理員的密碼被破解,而該服務(wù)器又提供終端服務(wù),黑客就可以完全控制了該服務(wù) 器,不但服務(wù)器的各種資料會(huì)完全暴露,而且黑客還會(huì)利用這臺(tái)服務(wù)器去攻擊其他的服務(wù)器,因此該服務(wù) 除非你覺得自己的服務(wù)器足夠安全,否則最好不要打開,特別是暴露在互連網(wǎng)絡(luò)中的服務(wù)器,打開該功能 一定要小心謹(jǐn)慎。 A、如何知道自己的終端服務(wù)是否打開? 終端服務(wù)需要安裝,我們可以通過控制面板中的添加/刪除程序中的添加/刪除windows組件來安裝,在 windows組件向?qū)Я斜碇凶钕旅嬗袃蓚(gè)組件,一個(gè)是“終端服務(wù)”,一個(gè)是“終端服務(wù)授權(quán)”,我們只需要 安裝“終端服務(wù)”這個(gè)組件就可以將該功能啟用,一旦啟用了該功能,默認(rèn)的情況下,我們的tcp3389端口 就會(huì)打開。所以,我們看看這個(gè)地方,如果你的組件“終端服務(wù)”前面打了勾,就表明你已經(jīng)打開了該服 務(wù)。 有些黑客手段很高明,一旦控制了你的計(jì)算機(jī)后,可以遠(yuǎn)程打開該服務(wù),這種情況下,我們最好檢查 windows2000server啟用了哪些服務(wù),如何檢查呢?打開windows2000server的服務(wù)管理(開始菜單——程 序——管理工具——服務(wù))。在服務(wù)列表中檢查Terminal Services這項(xiàng)服務(wù)的狀態(tài),看看如果該服務(wù)處于 “ 禁用”狀態(tài),說明該服務(wù)沒打開,如果該服務(wù)處于“已啟動(dòng)”狀態(tài),說明該服務(wù)已經(jīng)打開。 B、如何關(guān)閉該服務(wù)! 第一步,通過控制面板中的添加/刪除程序中的添加/刪除windows組件來將該服務(wù)組件刪除 第二步,在服務(wù)中將Terminal Services服務(wù)禁用 注意:需要經(jīng)常檢查該服務(wù)是否被非法啟動(dòng),如果你在你沒有啟動(dòng)該服務(wù)的情況下你發(fā)現(xiàn)它已打開, 非常不幸,你的服務(wù)器已經(jīng)被黑,成為了別人的跳板(肉雞)最好的解決方法是重作服務(wù)器系統(tǒng),不要以 為關(guān)閉該服務(wù)就行了。 (9)telnet服務(wù)(默認(rèn)23端口) 相對(duì)于3389來講,telnet服務(wù)更不容易引起管理員的注意,該服務(wù)以前是UNIX和LINUX類系統(tǒng)提供的遠(yuǎn) 程管理終端服務(wù),windows2000server也提供了,它也是一個(gè)終端服務(wù),只不過telnet服務(wù)是字符界面,而 3389服務(wù)是圖形界面,二者都能完全遠(yuǎn)程控制服務(wù)器的所有功能。我以前在利用肉雞的時(shí)候,一般都不用 3389,為什么呢?該服務(wù)速度慢,我一般都是打開肉雞的telnet服務(wù),速度非常快,功能也很全面,又不 容易被發(fā)覺 A、如何知道自己的telnet服務(wù)是否打開? 在windows2000server控制面板——管理工具中有一項(xiàng)“Telnet 服務(wù)器管理”(對(duì)應(yīng)的文件是system32 中的tlntadmn.exe),這就是該服務(wù)的開關(guān),我們可以利用該程序配置我們的telnet服務(wù)。 打開開始菜單——程序——管理工具——服務(wù),在服務(wù)列表中有該服務(wù)對(duì)應(yīng)的一項(xiàng)“Telnet”,默認(rèn) 的情況下,該服務(wù)狀態(tài)是“手動(dòng)”,如果,該服務(wù)是“已啟動(dòng)”狀態(tài),說明該服務(wù)已經(jīng)啟動(dòng)了,你可以用 以下命令連接 在windows(98/2000/xp/2003)字符模式下輸入: telnet 服務(wù)器的IP地址 如果出現(xiàn)了登陸界面,非常不幸,你的telnet服務(wù)真的已開,如果不是你開的,非常不幸,你被黑了 ,你可能成為了肉雞。 B、如何關(guān)閉該服務(wù)! 打開開始菜單——程序——管理工具——服務(wù),在服務(wù)中將telnet服務(wù)禁用 建議:最好將system32中的tlntadmn.exe拷貝出來放到其他文件夾中并改名,并將該文件從system32 中刪除。 隨時(shí)檢查telnet服務(wù)的狀態(tài),如果該服務(wù)是“已啟動(dòng)”狀態(tài),而又不是你啟動(dòng)的,最好重新安裝服務(wù) 器系統(tǒng)。 最好隨時(shí)掃描你的服務(wù)器所開的端口,如果23端口已開或有一些不知名的端口已開(因?yàn)楹诳秃芸赡軙?huì) 將提供該服務(wù)的端口改為其他的端口來逃避檢查),用telnet命令測(cè)試一下,看看能不能連接。 附:telnet命令格式 telnet ip地址 端口 如:telnet 192.168.1.1 (連接服務(wù)器192.168.1.1的默認(rèn)23端口) 如:telnet 192.168.1.1 555 (連接服務(wù)器192.168.1.1的555端口) SQL Server 2000的安全配置在進(jìn)行SQL Server 2000數(shù)據(jù)庫(kù)的安全配置之前,首先你必須對(duì)操作系統(tǒng) 進(jìn)行安全配置,保證你的操作系統(tǒng)處于安全狀態(tài)。然后對(duì)你要使用的操作數(shù)據(jù)庫(kù)軟件(程序)進(jìn)行必要的 安全審核,比如對(duì)ASP、PHP等腳本,這是很多基于數(shù)據(jù)庫(kù)的WEB應(yīng)用常出現(xiàn)的安全隱患,對(duì)于腳本主要是一 個(gè)過濾問題,需要過濾一些類似 , ‘ @ / 等字符,防止破壞者構(gòu)造惡意的SQL語(yǔ)句。接著,安裝SQL Server2000后請(qǐng)打上補(bǔ)丁sp1以及最新的sp2。 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 Server2000安裝的時(shí)候,如果是使用混合模式,那么就需要輸入sa的密碼 ,除非你確認(rèn)必須使用空密碼。這比以前的版本有所改進(jìn)。同時(shí)養(yǎng)成定期修改密碼的好習(xí)慣。數(shù)據(jù)庫(kù)管理 員應(yīng)該定期查看是否有不符合密碼要求的帳號(hào)。 比如使用下面的SQL語(yǔ)句: 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 就可以了。 3、加強(qiáng)數(shù)據(jù)庫(kù)日志的記錄 審核數(shù)據(jù)庫(kù)登錄事件的“失敗和成功”,在實(shí)例屬性中選擇“安全性”,將其中的審核級(jí)別選定 為全部,這樣在數(shù)據(jù)庫(kù)系統(tǒng)和操作系統(tǒng)日志里面,就詳細(xì)記錄了所有帳號(hào)的登錄事件。請(qǐng)定期查看SQL Server日志檢查是否有可疑的登錄事件發(fā)生,或者使用DOS命令。findstr /C:"登錄" d:\Microsoft SQL Server\MSSQL\LOG\*.* 4、管理擴(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語(yǔ)句: use master sp_dropextendedproc 'xp_cmdshell' xp_cmdshell是進(jìn)入操作系統(tǒng)的最佳捷徑,是數(shù)據(jù)庫(kù)留給操作系統(tǒng)的一個(gè)大后門。如果你需要這個(gè) 存儲(chǔ)過程,請(qǐng)用這個(gè)語(yǔ)句也可以恢復(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)用程序的傷害。 5、使用協(xié)議加密 SQL Server 2000使用的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è)證書來支持。 6、不要讓人隨便探測(cè)到你的TCP/IP端口 默認(rèn)情況下,SQL Server使用1433端口監(jiān)聽,很多人都說SQL Server配置的時(shí)候要把這個(gè)端口改 變,這樣別人就不能很容易地知道使用的什么端口了。可惜,通過微軟未公開的1434端口的UDP探測(cè)可以很 容易知道SQL Server使用的什么TCP/IP端口了。不過微軟還是考慮到了這個(gè)問題,畢竟公開而且開放的端 口會(huì)引起不必要的麻煩。在實(shí)例屬性中選擇TCP/IP協(xié)議的屬性。選擇隱藏 SQL Ser 億恩科技mszdt.com 如有意者 聯(lián)系海洋QQ1359731023 電話0371-63322216 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |