參考了網絡上很多關於WIN2003的安全設置以及自己動手做了一些實踐,綜合了這些安全設置文章整理而成,希望對大家有所幫助,另外裡面有不足之處還請大家多多指點,然後給補上,謝謝!
一、系統的安裝
1、按照Windows2003安裝光盤的提示安裝,默認情況下2003沒有把IIS6.0安裝在系統裡面。
2、IIS6.0的安裝
開始菜單—>控制面板—>添加或刪除程序—>添加/刪除Windows組件
應用程序 ———ASP.NET(可選)
|——啟用網絡 COM+ 訪問(必選)
|——Internet 信息服務(IIS)———Internet 信息服務管理器(必選)
|——公用文件(必選)
|——萬維網服務———Active Server pages(必選)
|——Internet 數據連接器(可選)
|——WebDAV 發布(可選)
|——萬維網服務(必選)
|——在服務器端的包含文件(可選)
然後點擊確定—>下一步安裝。(具體見本文附件1)
3、系統補丁的更新
點擊開始菜單—>所有程序—>Windows Update
按照提示進行補丁的安裝。
4、備份系統
用GHOST備份系統。
5、安裝常用的軟件
例如:殺毒軟件、解壓縮軟件等;安裝完畢後,配置殺毒軟件,掃描系統漏洞,安裝之後用GHOST再次備份系統。
6、先關閉不需要的端口 開啟防火牆 導入IPSEC策略
在”網絡連接”裡,把不需要的協議和服務都刪掉,這裡只安裝了基本的Internet協議(TCP/IP),由於要控制帶寬流量服務,額外安裝了Qos數據包計劃程序。在高級tcp/ip設置裡--"NetBIOS"設置"禁用tcp/IP上的NetBIOS(S)"。在高級選項裡,使用"Internet連接防火牆",這是windows 2003 自帶的防火牆,在2000系統裡沒有的功能,雖然沒什麼功能,但可以屏蔽端口,這樣已經基本達到了一個IPSec的功能。
修改3389遠程連接端口
修改注冊表.
開始--運行--regedit
依次展開 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/
TERMINAL SERVER/WDS/RDPWD/TDS/TCP
右邊鍵值中 PortNumber 改為你想用的端口號.注意使用十進制(例 10000 )
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/
WINSTATIONS/RDP-TCP/
右邊鍵值中 PortNumber 改為你想用的端口號.注意使用十進制(例 10000 )
注意:別忘了在WINDOWS2003自帶的防火牆給+上10000端口
修改完畢.重新啟動服務器.設置生效.
二、用戶安全設置
1、禁用Guest賬號
在計算機管理的用戶裡面把Guest賬號禁用。為了保險起見,最好給Guest加一個復雜的密碼。你可以打開記事本,在裡面輸入一串包含特殊字符、數字、字母的長字符串,然後把它作為Guest用戶的密碼拷進去。
2、限制不必要的用戶
去掉所有的Duplicate User用戶、測試用戶、共享用戶等等。用戶組策略設置相應權限,並且經常檢查系統的用戶,刪除已經不再使用的用戶。這些用戶很多時候都是黑客們入侵系統的突破口。 3、把系統Administrator賬號改名
大家都知道,Windows 2003 的Administrator用戶是不能被停用的,這意味著別人可以一遍又一遍地嘗試這個用戶的密碼。盡量把它偽裝成普通用戶,比如改成Guesycludx。
4、創建一個陷阱用戶
什麼是陷阱用戶?即創建一個名為“Administrator”的本地用戶,把它的權限設置成最低,什麼事也干不了的那種,並且加上一個超過10位的超級復雜密碼。這樣可以讓那些 Hacker們忙上一段時間,借此發現它們的入侵企圖。
5、把共享文件的權限從Everyone組改成授權用戶
任何時候都不要把共享文件的用戶設置成“Everyone”組,包括打印共享,默認的屬性就是“Everyone”組的,一定不要忘了改。
6、開啟用戶策略
使用用戶策略,分別設置復位用戶鎖定計數器時間為20分鐘,用戶鎖定時間為20分鐘,用戶鎖定阈值為3次。 (該項為可選)
7、不讓系統顯示上次登錄的用戶名
默認情況下,登錄對話框中會顯示上次登錄的用戶名。這使得別人可以很容易地得到系統的一些用戶名,進而做密碼猜測。修改注冊表可以不讓對話框裡顯示上次登錄的用戶名。方法為:打開注冊表編輯器並找到注冊表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的鍵值改成1。
密碼安全設置
1、使用安全密碼
一些公司的管理員創建賬號的時候往往用公司名、計算機名做用戶名,然後又把這些用戶的密碼設置得太簡單,比如“welcome”等等。因此,要注意密碼的復雜性,還要記住經常改密碼。
2、設置屏幕保護密碼
這是一個很簡單也很有必要的操作。設置屏幕保護密碼也是防止內部人員破壞服務器的一個屏障。
3、開啟密碼策略
注意應用密碼策略,如啟用密碼復雜性要求,設置密碼長度最小值為6位 ,設置強制密碼歷史為5次,時間為42天。
4、考慮使用智能卡來代替密碼
對於密碼,總是使安全管理員進退兩難,密碼設置簡單容易受到黑客的攻擊,密碼設置復雜又容易忘記。如果條件允許,用智能卡來代替復雜的密碼是一個很好的解決方法。
三、系統權限的設置
1、磁盤權限
系統盤及所有磁盤只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Documents and Settings 目錄只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Documents and Settings\All Users 目錄只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只給 Administrators 組和SYSTEM 的完全 控制權限
另將\System32\cmd.exe、format.com、ftp.exe轉移到其他目錄或更名
Documents and Settings下所有些目錄都設置只給adinistrators權限。並且要一個一個目錄查看,包括下面的所有子目錄。
刪除c:\inetpub目錄
2、本地安全策略設置
開始菜單—>管理工具—>本地安全策略
A、本地策略——>審核策略
審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問 失敗審核過程跟蹤 無審核
審核目錄服務訪問 失敗
審核特權使用 失敗
審核系統事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
B、本地策略——>用戶權限分配
關閉系統:只有Administrators組、其它全部刪除。
通過終端服務允許登陸:只加入Administrators,Remote Desktop Users組,其他全部刪除
C、本地策略——>安全選項
交互式登陸:不顯示上次的用戶名 啟用
網絡訪問:不允許SAM帳戶和共享的匿名枚舉 啟用
網絡訪問:不允許為網絡身份驗證儲存憑證 啟用
網絡訪問:可匿名訪問的共享 全部刪除
網絡訪問:可匿名訪問的命 全部刪除
網絡訪問:可遠程訪問的注冊表路徑 全部刪除
網絡訪問:可遠程訪問的注冊表路徑和子路徑 全部刪除
帳戶:重命名來賓帳戶 重命名一個帳戶
帳戶:重命名系統管理員帳戶 重命名一個帳戶
3、禁用不必要的服務 開始-運行-services.msc
TCP/IPNetBIOS Helper提供 TCP/IP 服務上的 NetBIOS 和網絡上客戶端的 NetBIOS 名稱解析的支持而使用戶能夠共享
文件、打印和登錄到網絡
Server支持此計算機通過網絡的文件、打印、和命名管道共享
Computer Browser 維護網絡上計算機的最新列表以及提供這個列表
Task scheduler 允許程序在指定時間運行
Messenger 傳輸客戶端和服務器之間的 NET SEND 和 警報器服務消息
Distributed File System: 局域網管理共享文件,不需要可禁用
Distributed linktracking client:用於局域網更新連接信息,不需要可禁用
Error reporting service:禁止發送錯誤報告
Microsoft Serch:提供快速的單詞搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服務和Microsoft Serch用的,不需要可禁用
PrintSpooler:如果沒有打印機可禁用
Remote Registry:禁止遠程修改注冊表
Remote Desktop Help Session Manager:禁止遠程協助
Workstation 關閉的話遠程NET命令列不出用戶組
以上是在Windows Server 2003 系統上面默認啟動的服務中禁用的,默認禁用的服務如沒特別需要的話不要啟動。
4、修改注冊表
修改注冊表,讓系統更強壯
1、隱藏重要文件/目錄可以修改注冊表實現完全隱藏
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠標右擊 “CheckedValue”,選擇修改,把數值由1改為0
2、防止SYN洪水攻擊
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為SynAttackProtect,值為2
新建EnablePMTUDiscovery REG_DWORD 0
新建NoNameReleaseOnDemand REG_DWORD 1
新建EnableDeadGWDetect REG_DWORD 0
新建KeepAliveTime REG_DWORD 300,000
新建PerformRouterDiscovery REG_DWORD 0
新建EnableICMPRedirects REG_DWORD 03. 禁止響應ICMP路由通告報文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名為PerformRouterDiscovery 值為0
4. 防止ICMP重定向報文的攻擊
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
將EnableICMPRedirects 值設為0
5. 不支持IGMP協議
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為IGMPLevel 值為0
6、禁止IPC空連接:
cracker可以利用net use命令建立空連接,進而入侵,還有net view,nbtstat這些都是基於空連接的,禁止空連接就好了。
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把這個值改成”1”即可。
7、更改TTL值
cracker可以根據ping回的TTL值來大致判斷你的操作系統,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
實際上你可以自己改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十進制,默認值128)改成一個莫名其妙的數字如258,起碼讓那些小菜鳥暈上半天,就此放棄入侵你也不一定哦
8. 刪除默認共享
有人問過我一開機就共享所有盤,改回來以後,重啟又變成了共享是怎麼回事,這是2K為管理而設置的默認共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer類型是REG_DWORD把值改為0即可
9. 禁止建立空連接
默認情況下,任何用戶通過通過空連接連上服務器,進而枚舉出帳號,猜測密碼。我們可以通過修改注冊表來禁止建立空連接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。
10、建立一個記事本,填上以下代碼。保存為*.bat並加到啟動項目中
net share c$Content$nbsp;/del
net share d$Content$nbsp;/del
net share e$Content$nbsp;/del
net share f$Content$nbsp;/del
net share ipc$Content$nbsp;/del
net share admin$Content$nbsp;/del
5、IIS站點設置:
1、將IIS目錄&數據與系統磁盤分開,保存在專用磁盤空間內。
2、啟用父級路徑
3、在IIS管理器中刪除必須之外的任何沒有用到的映射(保留asp等必要映射即可)
4、在IIS中將HTTP404 Object Not Found出錯頁面通過URL重定向到一個定制HTM文件
5、Web站點權限設定(建議)
讀 允許
寫 不允許
腳本源訪問 不允許
目錄浏覽 建議關閉
日志訪問 建議關閉
索引資源 建議關閉
執行 推薦選擇 “僅限於腳本”
6、建議使用W3C擴充日志文件格式,每天記錄客戶IP地址,用戶名,服務器端口,方法,URI字根,HTTP狀態,用戶代理,而且每天均要審查日志。(最好不要使用缺省的目錄,建議更換一個記日志的路徑,同時設置日志的訪問權限,只允許管理員和system為Full Control)。
7、程序安全:
1) 涉及用戶名與口令的程序最好封裝在服務器端,盡量少的在ASP文件裡出現,涉及到與數據庫連接地用戶名與口令應給予最小的權限;
2) 需要經過驗證的ASP頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉進來的會話才能讀取這個頁面。3) 防止ASP主頁.inc文件洩露問題;
4) 防止UE等編輯器生成some.asp.bak文件洩露問題。
6、IIS權限設置的思路
?要為每個獨立的要保護的個體(比如一個網站或者一個虛擬目錄)創建一個系統用戶,讓這個站點在系統中具有惟一的可以設置權限的身份。
?在IIS的【站點屬性或者虛擬目錄屬性→目錄安全性→匿名訪問和驗證控制→編輯→匿名訪問→編輯】填寫剛剛創建的那個用戶名。
?設置所有的分區禁止這個用戶訪問,而剛才這個站點的主目錄對應的那個文件夾設置允許這個用戶訪問(要去掉繼承父權限,並且要加上超管組和SYSTEM組)。
7、卸載最不安全的組件
最簡單的辦法是直接卸載後刪除相應的程序文件。將下面的代碼保存為一個.BAT文件,( 以下均以 WIN2000 為例,如果使用2003,則系統文件夾應該是 C:\WINDOWS\ )
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINNT\WINDOWS\shell32.dll
然後運行一下,WScript.Shell, Shell.application, WScript.Network就會被卸載了。可能會提示無法刪除文件,不用管它,重啟一下服務器,你會發現這三個都提示“×安全”了。