一、基本安全設(shè)定:
為古縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及古縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、古縣網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
(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了,這個大補(bǔ)丁一定要裝的,安裝sp4后再到網(wǎng)絡(luò)上升級,將微軟提供的各種重要系統(tǒng)安全更新全部都升級,不要怕麻煩,這是防病毒和黑客攻擊的非常重要安全設(shè)置步驟。
(3)帳號安全帳號是windows2000server的重要的安全保證,要注意區(qū)分一些工作組的權(quán)限: administrators是系統(tǒng)管理員組,administrator是系統(tǒng)默認(rèn)的管理帳號,administrator最好設(shè)置一個復(fù)雜的密碼,復(fù)雜到什么程度呢?簡單的說,自己都要記不住這個密碼,這個密碼可以是字符、數(shù)字、符號、大小寫的組合(如:AGgF!452KhtUN),密碼不要讓別人猜得到,不要用自己得電話號碼啦之類的東西,最好在筆記本上將密碼設(shè)定好后再設(shè)置,設(shè)好密碼后妥善保管記錄密碼的筆記本,每隔一段時間更改自己的密碼 guest帳號最好禁止使用,如果沒有必要,不要添加其他的系統(tǒng)管理員帳號。
(4)關(guān)閉不必要的服務(wù)在服務(wù)中將一些不常用的服務(wù)關(guān)閉(比如打印、遠(yuǎn)程注冊表操作,信息發(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利用簡單的Net use命令就可以將你的服務(wù)器黑掉下面提供簡單的關(guān)閉這些共享的方法 A、建立一個批處理文件,如a.bat B、在該批處理文件中添加下面的語句 net share c$ /del (這是取消c盤的默認(rèn)共享,同理 net share d$ /del 是取消d盤的共享,你有多少個盤符,就編多少個以上的語句) net share ipc$/del (刪除ipc默認(rèn)共享) net share admin$ /del (刪除 admin默認(rèn)共享) C 、將以上的語句添加完后,將該文件放入開始菜單中程序中啟動文件夾中,讓windows2000server每次啟動都將默認(rèn)的共享刪除(7)CMD的設(shè)置 cmd.exe是windows2000中非常重要的文件,很多漏洞都是要*調(diào)用該個文件,該文件在windows2000server所在目錄的system32中,我們需要對其進(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ò)管理員對服務(wù)器的遠(yuǎn)程管理,但是,該服務(wù)也為黑客提供了非常危險的攻擊,網(wǎng)絡(luò)黑客口中的所謂跳板(肉雞)絕大部分都是利用該功能進(jìn)行自我隱蔽的攻擊。一旦系統(tǒng)管理員的密碼被破解,而該服務(wù)器又提供終端服務(wù),黑客就可以完全控制了該服務(wù)器,不但服務(wù)器的各種資料會完全暴露,而且黑客還會利用這臺服務(wù)器去攻擊其他的服務(wù)器,因此該服務(wù)除非你覺得自己的服務(wù)器足夠安全,否則最好不要打開,特別是暴露在互連網(wǎng)絡(luò)中的服務(wù)器,打開該功能一定要小心謹(jǐn)慎。 A、如何知道自己的終端服務(wù)是否打開?終端服務(wù)需要安裝,我們可以通過控制面板中的添加/刪除程序中的添加/刪除windows組件來安裝,在windows組件向?qū)Я斜碇凶钕旅嬗袃蓚€組件,一個是“終端服務(wù)”,一個是“終端服務(wù)授權(quán)”,我們只需要安裝“終端服務(wù)”這個組件就可以將該功能啟用,一旦啟用了該功能,默認(rèn)的情況下,我們的tcp3389端口就會打開。所以,我們看看這個地方,如果你的組件“終端服務(wù)”前面打了勾,就表明你已經(jīng)打開了該服務(wù)。有些黑客手段很高明,一旦控制了你的計算機(jī)后,可以遠(yuǎn)程打開該服務(wù),這種情況下,我們最好檢查windows2000server啟用了哪些服務(wù),如何檢查呢?打開windows2000server的服務(wù)管理(開始菜單——程序——管理工具——服務(wù))。在服務(wù)列表中檢查Terminal Services這項服務(wù)的狀態(tài),看看如果該服務(wù)處于“ 禁用”狀態(tài),說明該服務(wù)沒打開,如果該服務(wù)處于“已啟動”狀態(tài),說明該服務(wù)已經(jīng)打開。 B、如何關(guān)閉該服務(wù)!第一步,通過控制面板中的添加/刪除程序中的添加/刪除windows組件來將該服務(wù)組件刪除第二步,在服務(wù)中將Terminal Services服務(wù)禁用注意:需要經(jīng)常檢查該服務(wù)是否被非法啟動,如果你在你沒有啟動該服務(wù)的情況下你發(fā)現(xiàn)它已打開,非常不幸,你的服務(wù)器已經(jīng)被黑,成為了別人的跳板(肉雞)最好的解決方法是重作服務(wù)器系統(tǒng),不要以為關(guān)閉該服務(wù)就行了。
(9)telnet服務(wù)(默認(rèn)23端口)相對于3389來講,telnet服務(wù)更不容易引起管理員的注意,該服務(wù)以前是UNIX和Linux類系統(tǒng)提供的遠(yuǎn)程管理終端服務(wù),windows2000server也提供了,它也是一個終端服務(wù),只不過telnet服務(wù)是字符界面,而3389服務(wù)是圖形界面,二者都能完全遠(yuǎn)程控制服務(wù)器的所有功能。我以前在利用肉雞的時候,一般都不用3389,為什么呢?該服務(wù)速度慢,我一般都是打開肉雞的telnet服務(wù),速度非常快,功能也很全面,又不容易被發(fā)覺 A、如何知道自己的telnet服務(wù)是否打開?在windows2000server控制面板——管理工具中有一項“Telnet 服務(wù)器管理”(對應(yīng)的文件是system32中的tlntadmn.exe),這就是該服務(wù)的開關(guān),我們可以利用該程序配置我們的telnet服務(wù)。打開開始菜單——程序——管理工具——服務(wù),在服務(wù)列表中有該服務(wù)對應(yīng)的一項“Telnet”,默認(rèn)的情況下,該服務(wù)狀態(tài)是“手動”,如果,該服務(wù)是“已啟動”狀態(tài),說明該服務(wù)已經(jī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中刪除。隨時檢查telnet服務(wù)的狀態(tài),如果該服務(wù)是“已啟動”狀態(tài),而又不是你啟動的,最好重新安裝服務(wù)器系統(tǒng)。最好隨時掃描你的服務(wù)器所開的端口,如果23端口已開或有一些不知名的端口已開(因為黑客很可能會將提供該服務(wù)的端口改為其他的端口來逃避檢查),用telnet命令測試一下,看看能不能連接。附:telnet命令格式 telnet ip地址端口如:telnet 192.168.1.1 (連接服務(wù)器192.168.1.1的默認(rèn)23端口)如:telnet 192.168.1.1555 (連接服務(wù)器192.168.1.1的555端口) SQL Server 2000的安全配置在進(jìn)行SQL Server 2000數(shù)據(jù)庫的安全配置之前,首先你必須對操作系統(tǒng)進(jìn)行安全配置,保證你的操作系統(tǒng)處于安全狀態(tài)。然后對你要使用的操作數(shù)據(jù)庫軟件(程序)進(jìn)行必要的安全審核,比如對ASP、PHP等腳本,這是很多基于數(shù)據(jù)庫的WEB應(yīng)用常出現(xiàn)的安全隱患,對于腳本主要是一個過濾問題,需要過濾一些類似 , ‘ @ / 等字符,防止破壞者構(gòu)造惡意的SQL語句。接著,安裝SQL Server2000后請打上補(bǔ)丁sp1以及最新的sp2。 1、使用安全的密碼策略我們把密碼策略擺在所有安全配置的第一步,請注意,很多數(shù)據(jù)庫帳號的密碼過于簡單,這跟系統(tǒng)密碼過于簡單是一個道理。對于sa更應(yīng)該注意,同時不要讓sa帳號的密碼寫于應(yīng)用程序或者腳本中。健壯的密碼是安全的第一步!SQL Server2000安裝的時候,如果是使用混合模式,那么就需要輸入sa的密碼,除非你確認(rèn)必須使用空密碼。這比以前的版本有所改進(jìn)。同時養(yǎng)成定期修改密碼的好習(xí)慣。數(shù)據(jù)庫管理員應(yīng)該定期查看是否有不符合密碼要求的帳號。比如使用下面的SQL語句:Use master Select name,Password from syslogins wherepassword is null
2、使用安全帳號策略:由于SQL Server不能更改sa用戶名稱,也不能刪除這個超級用戶,所以,我們必須對這個帳號進(jìn)行最強(qiáng)的保護(hù),當(dāng)然,包括使用一個非常強(qiáng)壯的密碼,最好不要在數(shù)據(jù)庫應(yīng)用中使用sa帳號,只有當(dāng)沒有其它方法登錄到 SQL Server 實(shí)例(例如,當(dāng)其它系統(tǒng)管理員不可用或忘記了密碼)時才使用 sa。建議數(shù)據(jù)庫管理員新建立個擁有與sa一樣權(quán)限的超級用戶來管理數(shù)據(jù)庫。安全的帳號策略還包括不要讓管理員權(quán)限的帳號泛濫。SQL Server的認(rèn)證模式有Windows身份認(rèn)證和混合身份認(rèn)證兩種。如果數(shù)據(jù)庫管理員不希望操作系統(tǒng)管理員來通過操作系統(tǒng)登陸來接觸數(shù)據(jù)庫的話,可以在帳號管理中把系統(tǒng)帳號“BUILTIN\Administrators”刪除。不過這樣做的結(jié)果是一旦sa帳號忘記密碼的話,就沒有辦法來恢復(fù)了。很多主機(jī)使用數(shù)據(jù)庫應(yīng)用只是用來做查詢、修改等簡單功能的,請根據(jù)實(shí)際需要分配帳號,并賦予僅僅能夠滿足應(yīng)用要求和需要的權(quán)限。比如,只要查詢功能的,那么就使用一個簡單的public帳號能夠select就可以了。
3、加強(qiáng)數(shù)據(jù)庫日志記錄:審核數(shù)據(jù)庫登錄事件的“失敗和成功”,在實(shí)例屬性中選擇“安全性”,將其中的審核級別選定為全部,這樣在數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)日志里面,就詳細(xì)記錄了所有帳號的登錄事件。請定期查看SQL Server日志檢查是否有可疑的登錄事件發(fā)生,或者使用DOS命令。findstr /C:"登錄" d:\Microsoft SQL Server\MSSQL\LOG\*.*
4、管理擴(kuò)展存儲過程:對存儲過程進(jìn)行大手術(shù),并且對帳號調(diào)用擴(kuò)展存儲過程的權(quán)限要慎重。其實(shí)在多數(shù)應(yīng)用中根本用不到多少系統(tǒng)的存儲過程,而SQL Server的這么多系統(tǒng)存儲過程只是用來適應(yīng)廣大用戶需求的,所以請刪除不必要的存儲過程,因為有些系統(tǒng)的存儲過程能很容易地被人利用起來提升權(quán)限或進(jìn)行破壞。如果你不需要擴(kuò)展存儲過程xp_cmdshell請把它去掉。使用這個SQL語句:use master sp_dropextendedproc xp_cmdshellxp_cmdshell是進(jìn)入操作系統(tǒng)的最佳捷徑,是數(shù)據(jù)庫留給操作系統(tǒng)的一個大后門。如果你需要這個存儲過程,請用這個語句也可以恢復(fù)過來。sp_addextendedproc xp_cmdshell, xpsql70.dll 如果你不需要請丟棄OLE自動存儲過程(會造成管理器中的某些特征不能使用),這些過程包括如下:Sp_OACreateSp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop 去掉不需要的注冊表訪問的存儲過程,注冊表存儲過程甚至能夠讀出操作系統(tǒng)管理員的密碼來,如下:Xp_regaddmultistring Xp_regdeletekeyXp_regdeletevalue Xp_regenumvaluesXp_regread Xp_regremovemultistring Xp_regwrite 還有一些其他的擴(kuò)展存儲過程,你也最好檢查檢查。在處理存儲過程的時候,請確認(rèn)一下,避免造成對數(shù)據(jù)庫或應(yīng)用程序的傷害。
5、使用協(xié)議加密:SQL Server 2000使用的Tabular Data Stream協(xié)議來進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)交換,如果不加密的話,所有的網(wǎng)絡(luò)傳輸都是明文的,包括密碼、數(shù)據(jù)庫內(nèi)容等等,這是一個很大的安全威脅。能被人在網(wǎng)絡(luò)中截獲到他們需要的東西,包括數(shù)據(jù)庫帳號和密碼。所以,在條件容許情況下,最好使用SSL來加密協(xié)議,當(dāng)然,你需要一個證書來支持。
6、不要讓人隨便探測到你的TCP/IP端口:默認(rèn)情況下,SQL Server使用1433端口監(jiān)聽,很多人都說SQL Server配置的時候要把這個端口改變,這樣別人就不能很容易地知道使用的什么端口了??上?,通過微軟未公開的1434端口的UDP探測可以很容易知道SQL Server使用的什么TCP/IP端口了。不過微軟還是考慮到了這個問題,畢竟公開而且開放的端口會引起不必要的麻煩。在實(shí)例屬性中選擇TCP/IP協(xié)議的屬性。選擇隱藏 SQL Server 實(shí)例。如果隱藏了 SQL Server 實(shí)例,則將禁止對試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的 SQL Server 實(shí)例的客戶端所發(fā)出的廣播作出響應(yīng)。這樣,別人就不能用1434來探測你的TCP/IP端口了(除非用Port Scan)。
7、修改TCP/IP使用的端口:請在上一步配置的基礎(chǔ)上,更改原默認(rèn)的1433端口。在實(shí)例屬性中選擇網(wǎng)絡(luò)配置中的TCP/IP協(xié)議的屬性,將TCP/IP使用的默認(rèn)端口變?yōu)槠渌丝? 9、拒絕來自1434端口的探測由于1434端口探測沒有限制,能夠被別人探測到一些數(shù)據(jù)庫信息,而且還可能遭到DOS攻擊讓數(shù)據(jù)庫服務(wù)器的CPU負(fù)荷增大,所以對Windows 2000操作系統(tǒng)來說,在IPSec過濾拒絕掉1434端口的UDP通訊,可以盡可能地隱藏你的SQL Server。10、對網(wǎng)絡(luò)連接進(jìn)行IP限制SQL Server 2000數(shù)據(jù)庫系統(tǒng)本身沒有提供網(wǎng)絡(luò)連接的安全解決辦法,但是Windows 2000提供了這樣的安全機(jī)制。使用操作系統(tǒng)自己的IPSec可以實(shí)現(xiàn)IP數(shù)據(jù)包的安全性。請對IP連接進(jìn)行限制,只保證自己的IP能夠訪問,也拒絕其他IP進(jìn)行的端口連接,把來自網(wǎng)絡(luò)上的安全威脅進(jìn)行有效的控制。關(guān)于IPSec的使用請參看: 上面主要介紹的一些SQL Server的安全配置,經(jīng)過以上的配置,可以讓SQL Server本身具備足夠的安全防范能力。當(dāng)然,更主要的還是要加強(qiáng)內(nèi)部的安全控制和管理員的安全培訓(xùn),而且安全性問題是一個長期的解決過程,還需要以后進(jìn)行更多的安全維護(hù)一、概述在應(yīng)用系統(tǒng)中,數(shù)據(jù)庫往往是最核心的部分,一旦數(shù)據(jù)庫毀壞或損壞,將會帶來巨大的損失,所以數(shù)據(jù)庫的管理越來越重要。我們在做數(shù)據(jù)庫管理與維護(hù)工作中,不可避免會出現(xiàn)各種各樣的錯誤,本文針對數(shù)據(jù)庫的日志文件丟失時如何利用MDF文件恢復(fù)數(shù)據(jù)庫的方法進(jìn)行了研究。二、數(shù)據(jù)庫的恢復(fù)當(dāng)數(shù)據(jù)庫的主數(shù)據(jù)MDF文件完好無損時,在丟失了LDF文件的情況下,如何利用MDF文件恢復(fù)數(shù)據(jù)庫?我們把SQL Server的日志文件分為兩類:一類是無活動事務(wù)的日志,另一類是含活動事務(wù)的日志,根據(jù)不同的日志,采取不同的方法來恢復(fù)數(shù)據(jù)庫。
1. 無活動事務(wù)的日志恢復(fù):無活動事務(wù)的日志丟失時,我們很容易利用MDF文件直接恢復(fù)數(shù)據(jù)庫,具體方法如下:
①.分離被質(zhì)疑的數(shù)據(jù)庫,可用企業(yè)管理器中的"分離數(shù)據(jù)庫工具",或者用存儲過程sp_detach_db分離數(shù)據(jù)庫;②利用MDF文件附加數(shù)據(jù)庫生成新的日志文件,可用企業(yè)管理器中的"附加數(shù)據(jù)庫"的工具,或者用存儲過程sp_attach_single_file_db附加數(shù)據(jù)庫。如果數(shù)據(jù)庫的日志文件中含有活動事務(wù),利用此方法就不能恢復(fù)數(shù)據(jù)庫。
2. 含活動事務(wù)的日志恢復(fù):含有活動事務(wù)的日志丟失時,利用上述方法就會出現(xiàn)"數(shù)據(jù)庫和日志文件不符合,不能附加數(shù)據(jù)庫"。對于這種情況下,我們采用如下方法:
①新建同名數(shù)據(jù)庫AAA,并設(shè)它為緊急模式?停止SQL Server服務(wù)器;?把數(shù)據(jù)庫主數(shù)據(jù)MDF文件移走;?啟SQL Server服務(wù)器,新建一個同名的數(shù)據(jù)庫AAA;?停止SQL Server服務(wù)器,把移走的MDF文件再覆蓋回來;?啟動SQL Server服務(wù)器,把AAA設(shè)為緊急模式,不過默認(rèn)情況下,系統(tǒng)表是不能隨便修改的,必須首先設(shè)置一下使其能被修改,運(yùn)行以下語句即可: Use Master Gosp_configure ’allow updates’,1 reconfigure with override Go 接著運(yùn)行以下語句,把AAA數(shù)據(jù)庫設(shè)為緊急模式,即把Sysdatabases表中AAA數(shù)據(jù)庫的status屬性設(shè)為’37268’,就表示把AAA數(shù)據(jù)庫處于緊急模式。 updatesysdatabases set status=32768 where hame=’AAA’如果沒有報告什么錯誤,就可以進(jìn)行以下操作。
②設(shè)置數(shù)據(jù)庫AAA為單用戶模式,并檢查數(shù)據(jù)庫?重啟SQL Server服務(wù)器;?把數(shù)據(jù)庫AAA設(shè)為單用戶模式Sp_dboption ’AAA’, ’single user’, ’true’ ?運(yùn)行以下語句,檢查數(shù)據(jù)庫AAA DBCCCHECKDB(’AAA’) 如果沒有什么大的問題就可以把數(shù)據(jù)庫的狀態(tài)改回去。
③還原數(shù)據(jù)庫的狀態(tài)運(yùn)行以下語句,就可以把數(shù)據(jù)庫的狀態(tài)還原: update sysdatabases set status=28 wherename=’AAA’ sp_configure ’allow updates’,0 reconfigure with override Go 如果沒有什么大的問題,刷新一下數(shù)據(jù)庫,數(shù)據(jù)庫AAA又會出現(xiàn)在你面前,但目前恢復(fù)工作還沒有做完,此時的數(shù)據(jù)庫仍不能工作,還要進(jìn)行下面的處理,才能真正恢復(fù)。④利用DTS的導(dǎo)入導(dǎo)出向?qū)В褦?shù)據(jù)庫AAA導(dǎo)入到一個新建數(shù)據(jù)庫BBB中?新建一個數(shù)據(jù)庫BBB; ?右擊BBB,選擇IMPORT功能,打開導(dǎo)入向?qū)В?目標(biāo)源選擇"在SQL Server數(shù)據(jù)庫之間復(fù)制對象和數(shù)據(jù)庫",這樣可以把表結(jié)構(gòu),數(shù)據(jù)
怎么修改SQL
2008
R2數(shù)據(jù)庫默認(rèn)端口?為什么我們要修改數(shù)據(jù)庫的默認(rèn)端口呢,這是因為默認(rèn)的數(shù)據(jù)庫端口是1433,所以為了數(shù)據(jù)的安全可能會考慮修改一下數(shù)據(jù)庫端口,但是實(shí)際上修改了SQL
數(shù)據(jù)庫默認(rèn)端口不一定有效果,還需要進(jìn)行隱藏數(shù)據(jù)庫實(shí)例,下面由用友軟件教程網(wǎng)詳細(xì)給大家說一說具體的原因。
概念解釋:
1433端口,是SQL
Server默認(rèn)的端口,SQL...
怎么修改SQL
2008
R2數(shù)據(jù)庫默認(rèn)端口?為什么我們要修改數(shù)據(jù)庫的默認(rèn)端口呢,這是因為默認(rèn)的數(shù)據(jù)庫端口是1433,所以為了數(shù)據(jù)的安全可能會考慮修改一下數(shù)據(jù)庫端口,但是實(shí)際上修改了SQL
數(shù)據(jù)庫默認(rèn)端口不一定有效果,還需要進(jìn)行隱藏數(shù)據(jù)庫實(shí)例,下面由用友軟件教程網(wǎng)詳細(xì)給大家說一說具體的原因。
概念解釋:
1433端口,是SQL
Server默認(rèn)的端口,SQL
Server服務(wù)使用兩個端口:TCP-1433、UDP-1434。其中1433用于供SQL
Server對外提供服務(wù),1434用于向請求者返回SQL
Server使用了哪個TCP/IP端口。那么如何修改SQL
SERVER數(shù)據(jù)庫的默認(rèn)端口1433為別的端口呢?
很多人都說SQL
Server配置的時候要把1433端口改變,這樣別人就不能很容易地知道使用的什么端口了。可惜,通過微軟未公開的1434端口的UDP探測可以很容易的知道SQL
Server使用了什么TCP/IP端口。
不過微軟還是考慮到了這個問題,畢竟公開而且開放的端口會引起不必要的麻煩。在實(shí)例屬性中選擇TCP/IP協(xié)議的屬性。選擇隱藏
SQL
Server
實(shí)例。如果隱藏了
SQL
Server
實(shí)例,則將禁止對試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的
SQL
Server
實(shí)例的客戶端所發(fā)出的廣播做出響應(yīng)。這樣,別人就不能用1434來探測你的TCP/IP端口了(除非用Port
Scan)。
1433端口不是很安全,往往很容易被黑客攻陷,因此,更改SQL
Server
默認(rèn)的1433端口是很有必要的。網(wǎng)上存在很多抓1433端口肉雞的病毒。而他們利用的往往是sa弱口令,因此要注意把sa密碼設(shè)置得復(fù)雜一些,而且在conn等數(shù)據(jù)庫鏈接文件中不要使用sa用戶進(jìn)行數(shù)據(jù)庫連接。
另外1433端口,如果僅僅是本機(jī)web鏈接本機(jī)數(shù)據(jù)庫,那么沒必要開1433,它是遠(yuǎn)程鏈接使用的。
日常使用暢捷通T+軟件過程中不需要開放1433端口,也不需要做端口映射,所以在即使在公網(wǎng)下使用暢捷通T+11.51軟件,黑客也無法通過1433端口攻擊到我們的數(shù)據(jù)庫。SQL
2008
R2數(shù)據(jù)庫修改1433端口的步驟如下:
1、點(diǎn)擊“開始”-“所有程序”-“Microsoft
SQL
Server
2008R2”-“配置工具”-“SQL
Server配置管理器”
2、在打開的“SQL
Server配置管理器”窗口中,在左邊的樹形窗口中選中“SQL
Server網(wǎng)絡(luò)配置”-“MSSQLSERVER的協(xié)議”,點(diǎn)中右邊TCP/IP,然后右鍵“屬性”,即可打開“TCP/IP屬性”窗口。
(1)點(diǎn)擊“IP地址”頁簽,將“IP1”和“IP2”中的“TCP端口”都改為空,并將“IP
ALL”中的“TCP端口”改為1444,修改完之后點(diǎn)擊“確定”。
(2)選中“VIA”,點(diǎn)擊右鍵“禁用”。
3、點(diǎn)擊“開始”-“運(yùn)行”,輸入“cliconfg.exe”
4、在打開的“SQL
Server客戶端網(wǎng)絡(luò)實(shí)用工具”窗口中,常規(guī)頁簽,雙擊“按順序啟用協(xié)議”中的“TCP/IP”,將默認(rèn)端口改為1444,“確定”然后再點(diǎn)擊“確定”。如此一來我們就完成了將數(shù)據(jù)庫端口由1433更為1444。
5、點(diǎn)擊“開始”-“運(yùn)行”中輸入“CMD”進(jìn)入DOS窗口,再輸入
net
stop
mssqlserver
停止數(shù)據(jù)庫服務(wù),然后再輸入
net
start
mssqlserver
啟動數(shù)據(jù)庫服務(wù),所示:
6、檢測修改后的端口是否通:點(diǎn)擊“開始”-“運(yùn)行”中輸入“CMD”進(jìn)入DOS窗口,再輸入
telnet
127.0.0.1
1444,:
7、返回如下空白窗口,則說明1444端口通暢。T+軟件不需要進(jìn)行其他設(shè)置,可以直接訪問。
全部
1434端口是微軟SQL Server未公開的監(jiān)聽端口。你要使用SQL,就必然打開1433和1434端口。選擇隱藏 SQL Server 實(shí)例。如果隱藏了 SQL Server 實(shí)例,則將禁止對試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的 SQL Server 實(shí)例的客戶端所發(fā)出的廣播作出響應(yīng)。這樣,別人就不能用1434來探測你的TCP/IP端口了(除非用Port Scan)
SQL Server 2005不再在1434端口上進(jìn)行自動偵聽了。實(shí)際上,是完全不偵聽了。你需要打開SQL 瀏覽器服務(wù),把它作為解決客戶端向服務(wù)器端發(fā)送請求的中間媒介。SQL 瀏覽器服務(wù)只能提供名字/端口決議。
SQLServer2000的安全配置在進(jìn)行SQLServer2000數(shù)據(jù)庫的安全配置之前,首先你必須對操作系統(tǒng)進(jìn)行安全配置,保證你的操作系統(tǒng)處于安全狀態(tài)。然后對你要使用的操作數(shù)據(jù)庫軟件(程序)進(jìn)行必要的安全審核,比如對ASP、PHP等腳本,這是很多基于數(shù)據(jù)庫的WEB應(yīng)用常出現(xiàn)的安全隱患,對于腳本主要是一個過濾問題,需要過濾一些類似,‘;@/等字符,防止破壞者構(gòu)造惡意的SQL語句。接著,安裝SQLServer2000后請打上補(bǔ)丁sp1,sp2以及最新的sp3,sp4。在做完上面三步基礎(chǔ)之后,我們再來討論SQLServer的安全配置。1、使用安全的密碼策略我們把密碼策略擺在所有安全配置的第一步,請注意,很多數(shù)據(jù)庫帳號的密碼過于簡單,這跟系統(tǒng)密碼過于簡單是一個道理。對于sa更應(yīng)該注意,同時不要讓sa帳號的密碼寫于應(yīng)用程序或者腳本中。健壯的密碼是安全的第一步!SQLServer2000安裝的時候,如果是使用混合模式,那么就需要輸入sa的密碼,除非你確認(rèn)必須使用空密碼。這比以前的版本有所改進(jìn)。同時養(yǎng)成定期修改密碼的好習(xí)慣。數(shù)據(jù)庫管理員應(yīng)該定期查看是否有不符合密碼要求的帳號。比如使用下面的SQL語句:UsemasterSelectname,Passwordfromsysloginswherepasswordisnull2、使用安全的帳號策略由于SQLServer不能更改sa用戶名稱,也不能刪除這個超級用戶,所以,我們必須對這個帳號進(jìn)行最強(qiáng)的保護(hù),當(dāng)然,包括使用一個非常強(qiáng)壯的密碼,最好不要在數(shù)據(jù)庫應(yīng)用中使用sa帳號,只有當(dāng)沒有其它方法登錄到SQLServer實(shí)例(例如,當(dāng)其它系統(tǒng)管理員不可用或忘記了密碼)時才使用sa。建議數(shù)據(jù)庫管理員新建立個擁有與sa一樣權(quán)限的超級用戶來管理數(shù)據(jù)庫。安全的帳號策略還包括不要讓管理員權(quán)限的帳號泛濫。SQLServer的認(rèn)證模式有Windows身份認(rèn)證和混合身份認(rèn)證兩種。如果數(shù)據(jù)庫管理員不希望操作系統(tǒng)管理員來通過操作系統(tǒng)登陸來接觸數(shù)據(jù)庫的話,可以在帳號管理中把系統(tǒng)帳號“BUILTIN\Administrators”刪除。不過這樣做的結(jié)果是一旦sa帳號忘記密碼的話,就沒有法來恢復(fù)了。很多主機(jī)使用數(shù)據(jù)庫應(yīng)用只是用來做查詢、修改等簡單功能的,請根據(jù)實(shí)際需要分配帳號,并賦予僅僅能夠滿足應(yīng)用要求和需要的權(quán)限。比如,只要查詢功能的,那么就使用一個簡單的public帳號能夠select就可以了。3、加強(qiáng)數(shù)據(jù)庫日志的記錄審核數(shù)據(jù)庫登錄事件的“失敗和成功”,在實(shí)例屬性中選擇“安全性”,將其中的審核級別選定為全部,這樣在數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)日志里面,就詳細(xì)記錄了所有帳號的登錄事件。請定期查看SQLServer日志檢查是否有可疑的登錄事件發(fā)生,或者使用DOS命令。findstr/C:"登錄"d:\MicrosoftSQLServer\MSSQL\LOG\*.*4、管理擴(kuò)展存儲過程對存儲過程進(jìn)行大手術(shù),并且對帳號調(diào)用擴(kuò)展存儲過程的權(quán)限要慎重。其實(shí)在多數(shù)應(yīng)用中根本用不到多少系統(tǒng)的存儲過程,而SQLServer的這么多系統(tǒng)存儲過程只是用來適應(yīng)廣大用戶需求的,所以請刪除不必要的存儲過程,因為有些系統(tǒng)的存儲過程能很容易地被人利用起來提升權(quán)限或進(jìn)行破壞。如果你不需要擴(kuò)展存儲過程xp_cmdshell請把它去掉。使用這個SQL語句:usemastersp_dropextendedproc'xp_cmdshell'xp_cmdshell是進(jìn)入操作系統(tǒng)的最佳捷徑,是數(shù)據(jù)庫留給操作系統(tǒng)的一個大后門。如果你需要這個存儲過程,請用這個語句也可以恢復(fù)過來。sp_addextendedproc'xp_cmdshell','xpsql70.dll'如果你不需要請丟棄OLE自動存儲過程(會造成管理器中的某些特征不能使用),這些過程包括如下:Sp_OACreateSp_OADestroySp_OAGetErrorInfoSp_OAGetPropertySp_OAMethodSp_OASetPropertySp_OAStop去掉不需要的注冊表訪問的存儲過程,注冊表存儲過程甚至能夠讀出操作系統(tǒng)管理員的密碼來,如下:Xp_regaddmultistringXp_regdeletekeyXp_regdeletevalueXp_regenumvaluesXp_regreadXp_regremovemultistringXp_regwrite還有一些其他的擴(kuò)展存儲過程,你也最好檢查檢查。在處理存儲過程的時候,請確認(rèn)一下,避免造成對數(shù)據(jù)庫或應(yīng)用程序的傷害。5、使用協(xié)議加密SQLServer2000使用的TabularDataStream協(xié)議來進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)交換,如果不加密的話,所有的網(wǎng)絡(luò)傳輸都是明文的,包括密碼、數(shù)據(jù)庫內(nèi)容等等,這是一個很大的安全威脅。能被人在網(wǎng)絡(luò)中截獲到他們需要的東西,包括數(shù)據(jù)庫帳號和密碼。所以,在條件容許情況下,最好使用SSL來加密協(xié)議,當(dāng)然,你需要一個證書來支持。6、不要讓人隨便探測到你的TCP/IP端口默認(rèn)情況下,SQLServer使用1433端口監(jiān)聽,很多人都說SQLServer配置的時候要把這個端口改變,這樣別人就不能很容易地知道使用的什么端口了??上Вㄟ^微軟未公開的1434端口的UDP探測可以很容易知道SQLServer使用的什么TCP/IP端口了。不過微軟還是考慮到了這個問題,畢竟公開而且開放的端口會引起不必要的麻煩。在實(shí)例屬性中選擇TCP/IP協(xié)議的屬性。選擇隱藏SQLServer實(shí)例。如果隱藏了SQLServer實(shí)例,則將禁止對試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的SQLServer實(shí)例的客戶端所發(fā)出的廣播作出響應(yīng)。這樣,別人就不能用1434來探測你的TCP/IP端口了(除非用PortScan)。7、修改TCP/IP使用的端口請在上一步配置的基礎(chǔ)上,更改原默認(rèn)的1433端口。在實(shí)例屬性中選擇網(wǎng)絡(luò)配置中的TCP/IP協(xié)議的屬性,將TCP/IP使用的默認(rèn)端口變?yōu)槠渌丝?9、拒絕來自1434端口的探測由于1434端口探測沒有限制,能夠被別人探測到一些數(shù)據(jù)庫信息,而且還可能遭到DOS攻擊讓數(shù)據(jù)庫服務(wù)器的CPU負(fù)荷增大,所以對Windows2000操作系統(tǒng)來說,在IPSec過濾拒絕掉1434端口的UDP通訊,可以盡可能地隱藏你的SQLServer。10、對網(wǎng)絡(luò)連接進(jìn)行IP限制SQLServer2000數(shù)據(jù)庫系統(tǒng)本身沒有提供網(wǎng)絡(luò)連接的安全解決法,但是Windows2000提供了這樣的安全機(jī)制。使用操作系統(tǒng)自己的IPSec可以實(shí)現(xiàn)IP數(shù)據(jù)包的安全性。請對IP連接進(jìn)行限制,只保證自己的IP能夠訪問,也拒絕其他IP進(jìn)行的端口連接,把來自網(wǎng)絡(luò)上的安全威脅進(jìn)行有效的控制。
……首先你要明確一個原則:如果只是上網(wǎng)的話你只要開著80端口就可以了
所以如果你還想有其他功能的話,就看下面:
1434端口是微軟SQLServer未公開的監(jiān)聽端口。你要使用SQL,就必然打開1433和1434端口。
默認(rèn)情況下,SQLServer使用1433端口監(jiān)聽,很多人都說SQLServer配置的時候要把這個端口改變,這樣別
人就不能很容易地知道使用的什么端口了。可惜,通過微軟未公開的1434端口的UDP探測可以很容易知道
SQLServer使用的什么TCP/IP端口了。例如:“2003蠕蟲王”利用SQLSERVER2000的解析端口1434的緩沖區(qū)
溢出漏洞,對網(wǎng)絡(luò)進(jìn)行攻擊。
不過微軟還是考慮到了這個問題,畢竟公開而且開放的端口會引起不必要的麻煩。在實(shí)例屬性中選擇
TCP/IP協(xié)議的屬性。選擇隱藏SQLServer實(shí)例。如果隱藏了SQLServer實(shí)例,則將禁止對試圖枚舉網(wǎng)絡(luò)上現(xiàn)
有的SQLServer實(shí)例的客戶端所發(fā)出的廣播作出響應(yīng)。這樣,別人就不能用1434來探測你的TCP/IP端口了
(除非用PortScan)
SQLServer2005不再在1434端口上進(jìn)行自動偵聽了。實(shí)際上,是完全不偵聽了。你需要打開SQL瀏覽器服務(wù)
,把它作為解決客戶端向服務(wù)器端發(fā)送請求的中間媒介。SQL瀏覽器服務(wù)只能提供名字/端口決議。
試一下數(shù)據(jù)的導(dǎo)入導(dǎo)出,
1、先建一個結(jié)構(gòu)與所需數(shù)據(jù)庫一樣的庫。
2、然后將要恢復(fù)的數(shù)據(jù)庫數(shù)據(jù)全部導(dǎo)出
3、選擇建好的新庫,執(zhí)行導(dǎo)入數(shù)據(jù) 其中指定表復(fù)制或查詢一項選擇 在SQLSERVER之間復(fù)制對象和數(shù)據(jù)
4、OK