一、系統文件權限的分類
當要給文件設置權限的時候,要首先保證該分區格式爲NTFS(WindowsNT的文件系統),當然你也可以使用文件分配表(FAT)格式,但是FAT文件系統沒有對文件的訪問權限加以任何限制,FAT只在那些相對來講對安全要求較低的情況下使用。在NTFS文件系統中,可以使用權限對單個文件進行保護,並且可以把該權限應用到本地訪問和網絡訪問中。在NTFS文件系統上,可以對文件設置文件權限,對目錄設置目錄權限,用於指定可以訪問的組和用戶以及允許的訪問等級時。
如果實施了NTFS的文件系統格式,可通過系統的資源管理器直接來管理文件的安全,設置目錄或文件的權限。
以regedit.exe文件爲例,右鍵選擇"屬性",
在"安全"標籤裏面選擇不同組的名稱,就可以更改配置他們對該文件的操作權限。
基於文件級的權限可以分配下面幾種:讀取(用戶可以讀取該文件的內容),寫入(用戶可以寫入數據到該文件中),讀取及執行(用戶可以執行該程序),修改(用戶可以修改該文件內容,包括刪除),完全控制(以上所有權限都有)。因此,適當地爲不同權限的帳號分配相應的訪問權限(在"允許","拒絕"欄分別打勾)對於文件系統的安全是致關重要的。
二、如何保護註冊表的安全
WindowsNT/2000中的註冊表(Registry)是一系列的數據庫文件,主要存儲在系統安裝目錄\System32\Config下,有些註冊表文件建立和存儲在內存中,這些文件的備份也存儲在系統安裝目錄\Repair下。由於所有配置和控制系統數據最終都存在於註冊表中,而且Registry的缺省權限設置是對"所有人""完全控制"(FullControl)和"創建"(create),這種設置可能會被惡意用戶刪除或者替換掉註冊表(Registry)文件。所以,如果註冊表權限沒有設置好的話,整個Windows NT/2000的系統就不安全,因此我們必須控制註冊表的訪問權。
對於註冊表(Registry),建議應嚴格限制只能在本地進行註冊,不能被遠程訪問,限制對註冊表(Registry)編輯工具的訪問。具體可以利用文件管理器設置只允許網絡管理員使用註冊表編輯工具regedit.exe或regedt32.exe,其他任何用戶不得使用;還可使用第三方工具軟件,比如EnterpriseAdministrator (Mission CriticalSoftware)來鎖住註冊表(Registry)。或者把對註冊表缺省的所有用戶都能"完全控制"的權利改成只能"讀取".
在"開始""運行"裏面輸入regedt32:
假設我們將HKEY_CURRENT_USER支更改成一般用戶只能讀,在菜單中選擇"安全""權限":
選擇組用戶users(在win2000系統中默認uers是一般用戶,如果在上面列表中沒有定義users組權限,可以選擇"添加"按紐,將該組進行權限設置)
同時,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
這個鍵應該只允許Administrators組成員訪問。
爲了能識別用戶,防止匿名登陸,應該在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA下新建一個DWORD(雙字節)類型的RestrictAnonymous項,並設置其值爲1。
實際上,如果把用戶操作註冊表的這種權利設置成"只讀",將會給一些應用軟件帶來許多潛在的功能性問題,比如Dlexpert(下載專家,一個下載軟件),在下載的時候會將當前下載地址等信息寫入到註冊表裏面,如果在設置了註冊表權限的機器上運行該程序,會出現下載地址無法保存的現象,解決辦法就是使用regedt32軟件將用戶權限更改回去,在這裏,我們建議在重要服務器上不要安裝和運行其他非系統的軟件。
三、消除默認安裝目錄風險
WindowsNT/2000默認安裝路徑是在系統主分區的\WINNT目錄下,在安裝時可以修改它的安裝路徑,如C:\WINNT可以改爲C:\WINDOW或D:\WINNT等;改變默認安裝目錄對合法用戶不會造成任何影響,但對於那些企圖通過類似WEB服務器的漏洞或者缺陷來遠程訪問文件的攻擊者來說就大大地增加了難度。
四、取消默認系統帳號風險
對於在WindowsNT/2000默認系統帳號,如administrator,guest等都必須改名,對於其它一些帳號,比如IUSR_機器名是在安裝IIS後產生的,對其也必須改名。因爲改變Administrator帳戶的名字,可以防止黑客對缺省命名的帳戶進行攻擊,這個措施可以解決一系列的安全漏洞,一旦帳號被他人竊取或攻破,整個網絡系統便無任何安全性可言了。
所以應爲系統管理員和備份操作員創建特殊帳戶,系統管理員在進行特殊任務時必須用這個特殊帳戶註冊,然後註銷。所有具有Administrator和備份特權的帳戶絕對不能瀏覽Web。所有的帳戶只能具有User或者PowerUser組的權限,對於Guest帳戶,默認是無口令的,所以最好能停止使用Guest帳戶。
注:停用Guest帳戶,可能會給win9x用戶通過網上鄰居訪問服務器帶來"無權限訪問"的錯誤。解決方法是在服務器中添加win9x機器上的用戶名或者啓用guest帳號。
五、刪除默認共享風險
WindowsNT/2000出於管理的目的自動地建立了一些默認共享,包括C$,D$磁盤共享以及ADMIN$目錄共享等。儘管它們僅僅是針對管理而配置的,但仍成爲一個沒必要的風險,成爲攻擊者的目標。
我們打開註冊表。 在主鍵
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters目錄下,創建一個叫AutoShareServer的鍵值,類型爲DWORD(雙字節)並且值爲0,來禁止這些共享;再創建一個鍵值名爲AutoShareWks的雙字節值,修改鍵值爲0。
最後,請重新啓動計算機生效。
同樣可以通過控制面板裏面的管理工具來暫時取消共享。選擇"計算機管理"程序,選擇"共享文件夾",在相應的共享文件夾上按右鍵,選擇"停止"共享即可。不過在系統重新啓動後,IPC$和printer$會再次共享。
六、如何加強系統打印驅動的安全
WindowsNT/2000的打印機驅動是以完全控制權限運行在操作系統級別。缺省情況下,任何人都可以在WindowsNT/2000中安裝打印機驅動,這種默認權限使系統很易遭受木馬攻擊。攻擊者可以建立假的打印機驅動而實際上進行了其它的活動,例如,開啓後門等。
因此,要嚴格限制用戶擁有安裝的權限,只允許管理員組和打印機操作員可以安裝打印驅動,具體可以打開註冊表,在主鍵
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanManPrint Services中增加類型爲DWORD(雙字節)的AddPrintDrivers項,並設置其值爲1。
最後,請重新啓動計算機生效。
七、如何加強共享系統對象的安全
我們應該嚴格限制打印機、串口等共享對象,使其只能被管理員使用,由於這種限制可以影響許多程序,比如在一局域網中的服務器上的共享打印機,設置了權限控制後,一般用戶就無法進行網絡打印了。所以在應用這種限制時要考慮是否該服務器對外提供了這些服務。如果沒有提供可以使用下面的方法來進行權限設置:請首先打開註冊表。然後在主鍵
HKEY_LOCAL_MACHINE\System\currentControlSet\Control\SessionManager中增加(或者修改)一個類型爲DWORD(雙字節)的名稱爲ProtectionMode的項,並將其值設成1。
最後,請重新啓動計算機生效。
八、如何手動查找並清除木馬程序
第一種方法是查看系統註冊表。先打開註冊表。進入註冊表後,可以通過查看以下主鍵:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run或RunServers
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run或RunServers
下面是否有類似Netspy.exe,空格.exe等可疑文件名,並手動刪除鍵值和相應的程序。
九、加強對域和帳號數據庫的管理
所謂"域"是指網絡服務器和其他計算機的邏輯分組,凡是在共享域範圍內的用戶都使用公共的安全機制和用戶帳號信息。每個用戶有一個帳號,每次登錄的是整個域,而不是某一個服務器。即使在物理上相隔較遠,但在邏輯上可以在一個域上,這樣便於管理。在網絡環境下,使用域的管理就顯得更爲有效;在使用"域"的劃分時,我們應該注意到"域"是建立在一個子網範圍內,其根本基礎是相互之間的信任度很高。
這裏我們應該注意到在WindowsNT/2000中,關於域的所用安全機制信息或用戶帳號信息都存放在帳號數據庫中(稱爲安全帳號管理器(SAM)數據庫)。安全帳號管理器(SAM)數據庫在磁盤上的具體位置就保存在系統安裝目錄下的system32\config\中的SAM文件,在這個目錄下還包括一個SECURITY文件,也是安全數據庫的內容。安全帳號管理器(SAM)數據庫中包含所有組、帳戶的信息,包括密碼HASH結果、帳戶的SID等。所以在對WindowsNT/2000進行維護時應該特別小心安全帳號管理器(SAM)數據庫的完整性,嚴格限制Administrator組和備份組帳戶的成員資格。加強對這些帳戶的跟蹤,尤其是Administrator帳戶的登錄(Logon)失敗和註銷(Logoff)失敗。對SAM進行的任何權限改變和對其本身的修改都要進行審計,切記要改變缺省權限設置來預防這個漏洞,一般來講只有管理員才允許具有對以上兩個文件的編輯權限。
下面的過程演示了怎麼樣啓用SAM訪問審覈。
首先啓動一個cmd命令窗口,在"開始""運行"輸入:
會出來一個黑底的命令窗口。
以下命令均是在該窗口中進行操作
1.確認啓動schedule,如未啓動,使用以下命令啓動該服務
netstart schedule
2.使用At 命令添加任務:
at<時間> /interactive "regedt32.exe"
比如當前時間16:49,那麼我們可以設置程序在16:51分啓動:
at 14:51 /interactive"regedt32.exe"
3.那麼到14:51分,Regedt32.exe會以系統帳號啓動。
4. 選擇HKEY_LOCAL_MACHINE 窗口;
5. 選擇 SAM並從"安全"菜單選擇"權限";
再選擇"高級"出來窗口:
6.單擊"添加",然後"顯示用戶";
7. 添加如下帳號:
2. SYSTEM
3. Domain Admins
4. Administrator
5. Backup Operators
隨着操作系統版本不一樣,可能用戶組名、帳號服務器上並不存在。
其他擁有以下權限的帳號:
6. Take ownership offiles or other objects(取得文件或其他對象的所有權)
7. Back up files anddirectories(備份文件和目錄)
8. Manage auditingand security log(管理審覈和安全日誌)
9. Restore files anddirectories(還原文件和目錄)
10. Add workstationsto domain(域中添加工作站)
11. Replace a processlevel token(替換進程級記號)
單擊"確定";
12.爲下面設置"成功"和"失敗"的審覈:
13. Query Value(查詢數值)
14. Set Value(設置數值)
15. Write DAC(寫入DAC)
16. ReadControl(讀取控制)
17.單擊"確定"。單擊"是"。
18.停止schedule服務,在"開始" "運行"裏輸入:
net stop schedule
十、修改共享目錄默認控制權限
對於WindowsNT/2000系統來說,默認情況下當新增一個共享目錄時,操作系統會自動將EveryOne這個用戶組添加到權限模塊當中,由於這個組的默認權限是完全控制,結果使得任何人都可以對共享目錄進行讀寫。因此,在新建共享目錄之後,要立刻刪除EveryOne組或者將該組的權限調整爲讀取:
十一、禁止不必要的服務
WindowsNT/2000系統中有許多用不着的服務自動處於激活狀態,它們中可能存在的安全漏洞使攻擊者甚至不需要賬戶就能控制機器.爲了系統的安全,應把該關的功能服務及時關閉,從而大大減少安全風險。
具體操作可以在"控制面板"的"管理工具"裏面"服務"菜單中,選取不必要的服務進行禁止:
相關需要禁止的服務如下:
Alerter:通知所選用戶和計算機有關係統管理級警報。
ApplicationManagement:提供軟件安裝服務,諸如分派,發行以及刪除。
ClipBook:支持"剪貼簿查看器",以便可以從遠程剪貼簿查閱剪貼頁面。
COM+ EventSystem:提供事件的自動發佈到訂閱 COM 組件。
ComputerBrowser:維護網絡上計算機的最新列表以及提供這個列表給請求的程序。
Distributed LinkTracking Client:當文件在網絡域的 NTFS 卷中移動時發送通知。
DistributedTransaction Coordinator:並列事務,是分佈於兩個以上的數據庫,消息隊列,文件系統,或其它事務保護資源管理器。
FaxService:幫助您發送和接收傳真。
FTP publishingservice: 通過 Internet 信息服務的管理單元提供 FTP 連接和管理。
IndexingService:本地和遠程計算機上文件的索引內容和屬性;通過靈活查詢語言提供文件快速訪問。
Messenger:發送和接收系統管理員或者"警報器"服務傳遞的消息。
Net Logon:支持網絡上計算機pass-through 帳戶登錄身份驗證事件。"
Network DDE :提供動態數據交換 (DDE) 的網絡傳輸和安全特性。
Network DDE DSDM :管理網絡 DDE 的共享動態數據交換
Network Monitor :網絡監視器
NetMeeting RemoteDesktop Sharing:允許有權限的用戶使用 NetMeeting 遠程訪問 Windows 桌面。
Plug and Play(在配置好所有硬件後應該禁止掉): 管理設備安裝以及配置,並且通知程序關於設備更改的情況。
Remote Procedure Call(RPC): 提供終結點映射程序(endpoint mapper) 以及其它 RPC 服務。
Remote RegistryService:允許遠程註冊表操作。
RemovableStorage:管理可移動媒體、驅動程序和庫。
Routing and RemoteAccess:在局域網以及廣域網環境中爲企業提供路由服務。
RunAsService:在不同憑據下啓用啓動過程。
Server: 提供 RPC支持、文件、打印以及命名管道共享。
SmartCard:對插入在計算機智能卡閱讀器中的智能卡進行管理和訪問控制。
Smart CardHelper:提供對連接到計算機上舊式智能卡的支持。
Task Schedule:允許程序在指定時間運行。
TCP/IP NetbiosHelper:允許對"TCP/IP 上 NetBIOS (NetBT)"服務以及 NetBIOS 名稱解析的支持
Telephone Service:供TAPI 的支持,以便程序控制本地計算機,服務器以及 LAN 上的電話設備和基於 IP 的語音連接。
Windows ManagementInstrumentation:提供系統管理信息。
必要時需禁止的服務如下:
SNMP service:簡單網絡管理協議
SNMP trap:簡單網絡協議陷阱跟蹤
UPS:USP電源管理。
十二、如何防範NetBIOS漏洞攻擊
NetBIOS(Network BasicInput OutputSystem,網絡基本輸入輸出系統),是一種應用程序接口(API),系統可以利用WINS(管理計算機netbios名和IP影射關係)服務、廣播及Lmhost文件等多種模式將NetBIOS名解析爲相應IP地址,從而實現信息通訊。在局域網內部使用NetBIOS協議可以非常方便地實現消息通信,但是如果在互聯網上,NetBIOS就相當於一個後門程序,很多攻擊者都是通過NetBIOS漏洞發起攻擊。
對於WindowsNT系統,可以取消NetBIOS與TCP/IP協議的綁定,具體方法是:首先打開"控制面板",然後雙擊"網絡"圖標,並在"NetBIOS接口"中選擇"WINS客戶(TCP/IP)"爲"禁用",最後重新啓動計算機即可。
對於Windows2000系統而言,它沒有限制TCP/IP綁定在NetBIOS上,我們可以通過以下方式來設置:
首先選擇"開始"→"設置"→"控制面板"→"網絡和撥號連接"→"本地連接"菜單中,雙擊"Internet協議(TCP/IP)":
接着在打開的對話框中單擊"高級"按鈕,並選擇"選項"菜單:
隨後點擊"屬性"按鈕,將彈出"TCP/IP篩選"對話框,選擇"啓用TCP/IP篩選":
最後在以上"TCP端口"對話框中添加除了139之外要用到的服務端口即可。
十三、如何解決SNMP緩衝區溢出漏洞
SNMP(SimpleNetwork ManagementProtocol,簡單網絡管理協議)是所有基於TCP/IP網絡上管理不同網絡設備的基本協議,比如防火牆、計算機和路由器。所有的Windows系統(除了WindowsME)都提供了SNMP功能,但是在所有版本的系統中都不是默認安裝和執行的。
現在已經發現,如果攻擊者發送懷有惡意信息給SNMP的信息接收處理模塊,就會引起服務停止(拒絕服務)或緩衝器溢出;或者說通過向運行SNMP服務的系統發送一個畸形的管理請求,此時就存在一個緩衝區溢出漏洞,或者造成拒絕服務影響。一旦緩衝區溢出,可以在本地運行任意的代碼,可以讓攻擊者進行任意的操作。因爲SNMP的程序一般需要系統權限來運行,因此緩衝器溢出攻擊可能會造成系統權限被奪取,而形成嚴重的安全漏洞。具體解決方法如下:
由於許多基於Windows安全設備和程序都是使用SNMP服務進行管理的,所以我們建議如果不需要使用SNMP服務就應該停止它。如果要防止從外界進行的攻擊破壞,請在防火牆或者路由器上設置禁止從外界進行SNMP(UDP161和UDP162端口)操作。
另外,微軟已經爲此發佈了一個安全公告(MS02-006)以及相應補丁程序:
十四、如何加固IIS服務器的安全
Windows系統近幾年的攻擊都偏重在IIS上,曾在2001到2002年大肆流行的Nimda,CodeRed病毒等都是通過利用IIS的一些漏洞入侵併且開始傳播的。由於NT/2000系統上使用IIS作爲WWW服務程序居多,再加上IIS的脆弱性以及與操作系統相關性,整個NT/2000系統的安全性也受到了很大的影響。通過IIS的漏洞入侵來獲得整個操作系統的管理員權限對於一臺未經安全配置的機器來說是輕而易舉的事情,所以,配置和管理好你的IIS在整個系統配置裏面顯得舉足輕重了。
IIS的配置可以分爲以下幾方面:(以下操作均是使用Internet服務管理器操作,你可以在控制面板的管理工具裏面找到該快捷方式,運行界面如下:)
a) 刪除目錄映射。
默認安裝的IIS默認的根目錄是C:\inetpub,我們建議你更改到其他分區的目錄裏面,比如:D:\inetpub目錄。
默認在IIS裏面有Scripts,IISAdmin,IISSamples,MSADC,IISHelp,Printers這些目錄映射,建議你完全刪除掉安裝IIS默認映射的目錄,包括在服務器上真實的路徑(%systemroot%是一個環境變量,在具體每臺服務器上可能不一樣,默認值由安裝時候選擇目錄決定):
Scripts對應c:\inetpub\scripts目錄
IISAdmin對應%systemroot%\System32\inetsrv\iisadmin目錄
IISSamples對應c:\inetpub\iissamples目錄。
MSADC對應c:\programfiles\common files\system\msadc目錄。
FTP日誌默認位置:系統安裝目錄\system32\logfiles\msftpsvc1\日誌文件
IISHelp對應%systemroot%\help\iishelp目錄。
Printers對應%systemroot%web\printers目錄。
還有一些IIS管理員頁面目錄:
IISADMPWD對應%systemroot%\system32\inetsrv\iisadmpwd目錄
IISADMIN 對應%systemroot%\system32\inetsrv\iisadmin目錄
b)刪除可執行文件擴展名(應用程序)映射。
在應用程序配置裏面(上圖"配置按鈕"),默認有以下程序映射:
如果不使用SSI(server sideinclude, 服務器端嵌入腳本),建議刪除".shtm" ".stm" 和".shtml"這些映射.像:".cer" ".cdx" "htr""idc""printer"等,如無特別需要,建議只保留".asp"和".asa"的映射。
c) Frontpage擴展服務
從控制面板裏面打開"添加或刪除程序"選擇"添加/刪除windows組件",
選擇"Internet信息服務(IIS)",點"詳細信息",請確認FrontPage2000服務器擴展沒有被勾上。如果有,則取消掉,點確定就可以了。
提示:微軟公司提供了一個叫iislockd的程序,它可以用來幫助你更安全的配置IIS。除了上面的Frontpage擴展沒有提供外,其他兩點均能很好的支持。
NT45XP/EN-US/iislockd.exe
十五、如何安全配置MSSQL數據庫
微軟的SQLServer是一種廣泛使用的數據庫,很多單位、企業內部信息化平臺等都是基於SQLServer上的,但是數據庫的安全性還沒有被人們意識到。多數管理員認爲只要把網絡和操作系統的安全搞好了,那麼所有的應用程序也就安全了。數據庫系統中存在的安全漏洞和不當的配置通常會造成嚴重的後果,而且都難以發現。數據庫應用程序通常同操作系統的最高管理員密切相關。
這裏,我們主要談論有關SQLServer2000數據庫的安全配置以及一些相關的安全和使用上的問題。 在進行SQL Server2000數據庫的安全配置之前,首先你必須對操作系統進行安全配置,保證你的操作系統處於安全狀態。然後對你要使用的操作數據庫軟件(程序)進行必要的安全審覈,比如對ASP、PHP等腳本,這是很多基於數據庫的WEB應用常出現的安全隱患,對於腳本主要是一個過濾問題,需要過濾一些類似, ' ; @ / 等字符,防止破壞者構造惡意的SQL語句。接着,安裝SQL Server2000後請打上補丁sp1以及最新的sp2。下載地址是:
在做完上面三步基礎之後,我們再來討論SQLServer的安全配置。
在此之前我想對如何使用SQL語句操作作一個簡單的圖示。
執行SQL語句有兩種方式,一種是基於文本工具isql,類似dos操作界面的方法,另外一種就是使用SQL查詢器來查詢,它是一個可視化的界面。
SQL查詢器可以在"開始""程序""MicrosoftSQL Server" 找到它的快捷方式,程序具體位置是
C:\ProgramFiles\Microsoft SQL Server\80\Tools\Binn\isqlw.exe
這裏簡單介紹一下使用isql查詢方式(基於命令行的)
找到isql程序,它在C:\ProgramFiles\Microsoft SQL Server\80\Tools\Binn目錄下面(版本的不同或者安裝路徑不同可能在其他目錄中)。
開啓一個cmd命令窗口,
輸入:cd "ProgramFiles\Microsoft SQL Server\80\Tools\Binn"
接着輸入:isql ?CS 服務器IP-U sa ?CP sa用戶的密碼
系統會出來一個前面是標示命令行數的數值,後面跟一個>符號表示需要用戶在後面輸入SQL語句命令,如上圖 1> use master 表示第一行,usemaster是用戶的輸入。最後一行go表示開始處理SQL語句命令,如無特別說明,以下命令均是在該終端下執行的。詳細SQL命令請參考其他有關手冊。
1、使用安全的密碼策略
我們把密碼策略擺在所有安全配置的第一步,對於sa用戶應該注意此帳號的密碼設置,儘量避免不要讓sa帳號的密碼寫於應用程序或者腳本中。默認安裝sa用戶密碼爲空,應在安裝後儘快修改它,並且養成定期修改密碼的好習慣。數據庫管理員應該定期查看是否有不符合密碼要求的帳號
比如使用下面的SQL語句:
Usemaster
selectname from syslogins where password is null
給用戶密碼修改命令的語句是:
sp_password'原密碼','新密碼','用戶帳號名'。
比如:
該命令就是把用戶名爲"netconf"的密碼由原來的"netconf"改成"netconf1"。
2、使用安全的帳號策略。
由於SQLServer不能更改sa用戶名稱,也不能刪除這個超級用戶,所以,我們必須對這個帳號進行最強的保護,首先要選擇一個非常強壯的密碼。其次,最好不要在數據庫應用中使用sa帳號,只有當沒有其它方法登錄到SQL Server時才使用 sa。建議數據庫管理員新建立一個擁有與sa一樣權限的超級用戶來管理數據庫。安全的帳號策略還包括不要讓管理員權限的帳號氾濫。
SQLServer的認證模式有Windows身份認證和混合身份認證兩種。如果數據庫管理員不希望操作系統管理員來通過操作系統登陸來接觸數據庫的話,可以在帳號管理中把系統帳號"BUILTIN\Administrators"刪除。不過這樣做的結果是一旦sa帳號忘記密碼的話,就沒有辦法來恢復了。
很多主機使用數據庫應用只是用來做查詢、修改等簡單功能的,請根據實際需要分配帳號,並賦予僅僅能夠滿足應用要求和需要的權限。比如,只要查詢功能的,那麼就使用一個簡單的public帳號能夠select就可以了。
3、管理擴展存儲過程。
對存儲過程進行大手術,並且對帳號調用擴展存儲過程的權限要慎重。其實在多數應用中根本用不到多少系統的存儲過程,而SQLServer的這麼多系統存儲過程只是用來適應廣大用戶需求的,所以請刪除不必要的存儲過程,因爲有些系統的存儲過程能很容易地被人利用起來提升權限或進行破壞。
如果你不需要擴展存儲過程xp_cmdshell請把它去掉。使用這個SQL語句:
usemaster
EXECsp_dropextendedproc ''''''''''''''''xp_cmdshell''''''''''''''''
xp_cmdshell是進入操作系統的最佳捷徑,是數據庫留給操作系統的一個大後門。如果你需要這個存儲過程,請用這個語句也可以恢復過來。
EXECsp_addextendedproc ''''''''''''''''xp_cmdshell'''''''''''''''',''''''''''''''''xpsql70.dll''''''''''''''''
如果你不需要請丟棄OLE(對象鏈接與嵌套,ObjectLinking and Embedding)自動存儲過程(會造成管理器中的某些特徵不能使用),這些過程包括如下:
EXECSp_OAcreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethodSp_OASetProperty Sp_OAStop
去掉不需要的註冊表訪問的存儲過程,註冊表存儲過程甚至能夠讀出操作系統管理員的密碼來,如下:
Xp_regaddmultistringXp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
Xp_regreadXp_regremovemultistring Xp_regwrite
還有一些其他的擴展存儲過程,你也最好檢查檢查。
在處理存儲過程的時候,請確認一下,避免造成對數據庫或應用程序的傷害。
7、對網絡連接進行IP限制
SQLServer 2000數據庫系統本身沒有提供網絡連接的安全解決辦法,但是Windows2000提供了這樣的安全機制。使用操作系統自己的IPSec可以實現IP數據包的安全性。請對IP連接進行限制,只保證自己的IP能夠訪問,也拒絕其他IP進行的端口連接,把來自網絡上的安全威脅進行有效的控制。
十六、如何使用IPSec來控制端口訪問
在windows2000中提供了一種叫IPsec的安全工具,它能通過自定義規則來允許或者拒絕其他用戶通過TCP/IP協議來訪問服務器某個端口。
在網絡屬性裏面,選擇網卡的"本地連接""tcp/ip屬性"選擇"高級",
選擇屬性,勾選"啓用TCP/IP篩選(所有示配器)"
這樣,其他用戶通過這塊網卡就只能訪問到服務器的21,80,1433端口了。
十七、系統日誌放在何處
WindowsNT/2000的日誌文件通常有應用程序日誌,安全日誌、系統日誌、DNS服務器日誌、FTP日誌、WWW日誌等等。當非法用戶探測系統信息的時候,就會在安全日誌裏迅速地記下機器被探測時所用的用戶名、時間等等,用FTP探測後,也會立刻在FTP日誌中記下IP、時間、探測所用的用戶名和密碼等等,由此可見日誌審計的重要性。以下即是對各種服務日誌文件的默認位置和文件內容描述:
l 關於日誌文件默認位置:
應用程序日誌、安全日誌、系統日誌、DNS等服務日誌的默認位置在系統安裝目錄下的system32\config下。
l 關於日誌文件保存目錄詳細描述:
安全日誌文件:系統安裝目錄\system32\config\SecEvent.EVT
系統日誌文件:系統安裝目錄\system32\config\SysEvent.EVT
應用程序日誌文件:系統安裝目錄\system32\config\AppEvent.EVT
FTP日誌默認位置:系統安裝目錄\system32\logfiles\msftpsvc1\日誌文件
WWW日誌默認位置:系統安裝目錄\system32\logfiles\w3svc1\日誌文件
定時(Scheduler)服務日誌默認位置:系統安裝目錄\schedlgu.txt
安全日誌文件,系統日誌文件,應用程序日誌文件,這三個日誌記錄都是有系統的一個稱爲:Event Log服務生成的,Event Log 的作用是記錄程序和 Windows發送的事件消息。事件日誌包含對診斷問題有所幫助的信息。停止和啓動該服務就可以停止或者開始記錄上述三個日誌文件。
FTP日誌和WWW日誌均是在Internet信息服務裏面配置和控制。
在控制面板,管理工具裏面打開Internet信息服務:
其中"dumplogin"是機器名,分別右鍵"默認FTP站點""默認Web站點",選擇"屬性",以FTP的爲例:
勾選"啓用日誌記錄"就可以記錄FTP站點的信息了,日誌文件格式建議選擇"W3C擴充日誌文件格式"。
選擇"屬性",
"新日誌時間間隔"意思是每隔多長時間系統日誌單獨寫成新的一個文件,比如:選擇"每天",那麼每天在日誌文件目錄下就會多一個新的文件,該文件內容主要是記錄當天的訪問記錄。
還可以選擇按大小來拆分,選擇:"當文件大小達到"一定大小的時候,纔會生成一個新的文件,系統默認是每天單獨記錄在一個文件裏。
在"擴充的屬性"裏面,允許用戶選擇記錄哪些內容以及格式等。
比如需要記錄事件發生的日期,時間,以及客戶IP地址,用戶名等等,那麼就勾選相應的欄目。最後點"應用"就可以記錄了。
對於WWW服務來說,操作和FTP站點完全一樣。
十八、如何保護日誌文件
既然系統日誌文件能夠記錄所有的訪問信息,爲了防止他人修改系統的日誌文件,隱藏自己的行蹤,我們必須限制對日誌文件的訪問,禁止一般權限的用戶去查看日誌文件。具體方法是:
我們可以利用文件系統對目錄和文件級的權限保護(如前所述),來設置只有管理員纔可以對以上提到的系統日誌文件有操作權限。另外,我們還要小心保護好具有超級權限的密碼和用戶,因爲黑客一旦知道了這些具有超級權限的帳號後,他們就可以修改日誌文件來隱藏其蹤跡了。
我們建議管理員應該養成定時、定期備份日誌的習慣。
對於FTP,WWW日誌,只要拷貝文件到其他目錄就行了。(注:當天的日誌必須要停止掉相應的服務才能備份)。
對於事件日誌,需要打開事件查看器,然後再選擇想要備份的日誌:
選擇"另存日誌文件",在對話框中選擇路徑和文件名,然後"保存"即可。
注:由於事件日誌不是按日期來分開,所以當文件大小達到設置大小的時候可能會重寫文件,所以應該經常注意文件是否到達定額。文件最大設置大小和到達設置大小會如何處理在後面會有詳細介紹。
十九、如何進行系統日誌審覈
審覈是WindowsNT/2000中本地安全策略的一部分,它是一個維護系統安全性的工具,允許你跟蹤用戶的活動和WindowsNT/2000系統的活動,這些活動稱爲事件。
根據監控審覈結果,管理員就可以將計算機資源的非法使用消除或減到最小;通過審覈,我們可以記錄下列信息:哪些用戶企圖登錄到系統中,或從系統中註銷、登錄或註銷的日期和時間是否成功等;哪些用戶對指定的文件、文件夾或打印機進行哪種類型的訪問;系統的安全選項進行了哪些更改;用戶帳戶進行了哪些更改,是否增加或刪除了用戶等等。通過查看這些信息,我們就能夠及時發現系統存在的安全隱患,通過了解指定資源的使用情況來指定資源使用計劃。具體配置過程如下(以Windows2000爲例):
l 審覈策略的設置
爲運行Windows2000的計算機設置審覈策略,需要運行管理工具中的本地安全策略工具進行設置。具體設置步驟如下:
首先進入"控制面板",打開"管理工具"程序組,選擇"本地安全策略";在"本地安全策略"窗口的控制檯目錄樹中,單擊"本地策略";然後選擇"審覈策略",選中要審覈的事件,在操作菜單中選擇"安全性"(也可以右鍵),或是雙擊所選擇的審覈事件;在策略設置窗口中,選擇"成功"複選框或"失敗"複選框,或是將二者全部選中:
審覈策略設置完成後,需要重新啓動計算機才能生效。
l 對文件和文件夾訪問的審覈
對文件和文件夾訪問的審覈,首先要求審覈的對象必須位於NTFS分區之上,其次必須爲對象訪問事件設置審覈策略。符合以上條件,就可以對特定的文件或文件夾進行審覈,並且對哪些用戶或組指定哪些類型的訪問進行審覈。設置的步驟如下:
在"審覈"頁面上,點擊"添加"按鈕,選擇想對文件或文件夾訪問進行審覈的用戶,單擊"確定";
在"審覈項目"對話框中,爲想要審覈的事件選擇"成功"或是"失敗"複選框,選擇完成後確定:
以C:\WINNT目錄爲例,右鍵該目錄,選擇屬性,選擇"安全"標籤,
再選擇高級,
添加所要設置的用戶名或者用戶組,
確定後,就會出來如下所示:
默認情況下,對父文件夾所做的審覈更改將應用於其所包含子文件夾和文件。如果不想將父文件夾所進行的審覈更改應用到當前所選擇的文件或文件夾,請清空"允許將來自父系的可繼承審覈項目傳播給該對象" 複選框即可,相關界面見下圖所示:
l 對打印機訪問的審覈
對打印機訪問進行審覈,要求必須爲對象訪問事件設置審覈策略。滿足這個條件就能夠對特定的打印機進行審覈,並能夠審覈指定的訪問類型以及審覈擁有訪問權限的用戶。審覈步驟如下:首先選取打印機的屬性窗口,選擇"安全"頁面,點擊"高級"按鈕;然後在"審覈"頁面,點擊"添加"按鈕,選擇想對打印機訪問進行審覈的用戶或組;
最後還要在"項目審覈"窗口中,在"應用到"下拉列表中選擇審覈應用的目標,在"訪問"列表中爲審覈的事件選擇"成功"或"失敗"檢查框。設置完成後,請點擊"確定":
二十、系統日誌審覈的查看和維護
在WindowsNT/2000中設置了審覈策略和審覈事件後,審覈所產生的結果都被記錄到安全日誌中,安全日誌記錄了審覈策略監控的事件成功或失敗執行的信息。使用事件查看器可以查看安全日誌的內容或是在日誌中查找指定事件的詳細信息。操作過程如下(以Windows2000爲例):
安全日誌文件、系統日誌文件、應用程序日誌文件均可以通過"事件察看器"來查看。打開"控制面板"裏"管理工具""事件查看器":
左邊分別是"應用程序日誌","安全日誌","系統日誌"三部分,分別選擇想要查詢的日誌,在右邊就會有事件列表出來,欄目字段解釋:
"類型":有三個級別,一般信息( ),警告信息( ),錯誤信息( )
日期和時間: 記錄時間發生的日期和時間
來源:這類事件是由什麼程序,系統什麼軟件運行產生的
分類: 區分事件類型
事件:一般來說是有系統進程號來唯一標示的。
用戶:是由什麼用戶運行產生的,其中N/A表示是由程序本身產生的。
計算機:表示日誌發生在那臺計算機上,一般是計算機名。
雙擊某一個事件,會得到該事件的詳細信息。
其中,描述欄裏面就是對應事件的詳細描述,如果該事件和數據有關,比如內存段訪問錯誤,那麼在數據段裏就會有相關的數據
FTP和WWW服務的日誌是文本文件,直接通過記事本就可以進行查看。比如某FTP服務器日誌:
每一行的意思:
04:11:03:事件發生的時間,日期由文件名(如果是設置每天記錄)決定。
192.168.7.201: 訪問方IP
[1]: 爲FTP標示每個連接的ID號。
USER anonymous:表示訪問用戶是anonymous
331: 狀態碼
注:日誌記錄的各個字段的意義並不是固定的,取決與配置FTP日誌文件格式選擇的字段。
以某個WWW服務器日誌記錄爲例:
2002-11-2006:54:41:事件發生日期
192.168.7.167: 訪問者的IP
92.168.7.110: 服務器的IP
80: 訪問的端口號
GET / :用戶請求的內容
403:服務器返回給用戶的狀態碼(403表示權限不夠)
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1):表示用戶使用的客戶端軟件標誌。
二十一、日誌審覈文件屬性的編輯
對於WindowsNT/2000系統而言,隨着審覈事件的不斷增加,安全日誌文件的大小也不斷增加。日誌文件的大小可以從64KB到4GB,默認情況下是512KB。如果要對審覈事件的默認屬性進行編輯,可以實行如下操作(以Windows2000爲例):
首先在事件查看器的控制樹選中"安全日誌"項,接着點擊"操作"菜單的"屬性"項,
進入安全日誌的屬性窗口,然後在"常規"標籤頁面上,可以對日誌文件的大小進行設置;對於日誌文件達到最大尺寸時,用戶根據需要可以有以下三種選擇:改寫事件、改寫設定天數的事件和不改寫事件