??系統(tǒng)的安裝
1、不要選擇從網(wǎng)絡上安裝
雖然微軟支持在線安裝,但這絕對不安全。在系統(tǒng)未全部安裝完之前不要連入網(wǎng)絡,特別是Internet!甚至不要把一切硬件都連接好來安裝。因為Windows 2000安裝時,在輸入用戶管理員賬號“Administrator”的密碼后,系統(tǒng)會建立一個“ADMIN”的共享賬號,但是并沒有用剛輸入的密碼來保護它,這種情況一直會持續(xù)到計算機再次啟動。在此期間,任何人都可以通過“ADMIN”進入系統(tǒng);同時,安裝完成,各種服務會馬上自動運行,而這時的服務器還到處是漏洞,非常容易從外部侵入。
2、要選擇NTFS格式來分區(qū)
最好所有的分區(qū)都是NTFS格式,因為NTFS格式的分區(qū)在安全性方面更加有保障。就算其他分區(qū)采用別的格式(如FAT32),但至少系統(tǒng)所在的分區(qū)中應是NTFS格式。
另外,應用程序不要和系統(tǒng)放在同一個分區(qū)中,以免攻擊者利用應用程序的漏洞(如微軟的IIS的漏洞)導致系統(tǒng)文件的泄漏,甚至讓入侵者遠程獲取管理員權限。
3、系統(tǒng)版本的選擇
版本的選擇:WIN2000有各種語言的版本,對于我們來說,可以選擇英文版或簡體中文版,我強烈建議:在語言不成為障礙的情況下,請一定使用英文版。要知道,微軟的產(chǎn)品是以Bug &
Patch而著稱的,中文版的Bug遠遠多于英文版,而補丁一般還會遲至少半個月(也就是說一般微軟公布了漏洞后你的機子還會有半個月處于無保護狀況)
4、組件的定制:
win2000在默認情況下會安裝一些常用的組件,但是正是這個默認安裝是很危險的,你應該確切的知道你需要哪些服務,而且僅僅安裝你確實需要的服務,根據(jù)安全原則,最少的服務+最小的權限=最大的安全。典型的WEB服務器需要的最小組件選擇是:只安裝IIS的Com Files,IIS Snap-In,WWW Server組件。如果你確實需要安裝其他組件,請慎重,特別是:Indexing Service, FrontPage 2000 Server Extensions, Internet Service Manager (HTML)這幾個危險服務。
5、分區(qū)和邏輯盤的分配
建議最少建立兩個分區(qū),一個系統(tǒng)分區(qū),一個應用程序分區(qū),這是因為,微軟的IIS經(jīng)常會有泄漏源碼/溢出的漏洞,如果把系統(tǒng)和IIS放在同一個驅(qū)動器會導致系統(tǒng)文件的泄漏甚至入侵者遠程獲取ADMIN。推薦的安全配置是建立三個邏輯驅(qū)動器,第一個大于2G,用來裝系統(tǒng)和重要的日志文件,第二個放IIS,第三個放FTP,這樣無論IIS或FTP出了安全漏洞都不會直接影響到系統(tǒng)目錄和系統(tǒng)文件。要知道,IIS和FTP是對外服務的,比較容易出問題。而把IIS和FTP分開主要是為了防止入侵者上傳程序并從IIS中運行。(這個可能會導致程序開發(fā)人員和編輯的苦惱,管他呢,反正你是管理員J)
6、安裝殺毒軟件。
殺毒軟件不僅能殺掉一些著名的病毒,還能查殺大量木馬和后門程序,因此要注意經(jīng)常運行程序并升級病毒庫。 7、安裝防火墻。
8、安裝系統(tǒng)補丁。
到微軟網(wǎng)站下載最新的補丁程序:
經(jīng)常訪問微軟和一些安全站點,下載最新的Service Pack和漏洞補丁,是保障服務器長久安全的惟一方法。
9、安裝順序的選擇
首先,何時接入網(wǎng)絡:Win2000在安裝時的ADMIN$的共享的漏洞;同時,只要安裝一完成,各種服務就會自動運行,而這時的服務器是滿身漏洞,非常容易進入的,因此,在完全安裝并配置好win2000 SERVER之前,一定不要把主機接入網(wǎng)絡。
其次,補丁的安裝:補丁的安裝應該在所有應用程序安裝完之后,因為補丁程序往往要替換/修改某些系統(tǒng)文件,如果先安裝補丁再安裝應用程序有可能導致補丁不能起到應有的效果,例如:IIS的HotFix就要求每次更改IIS的配置都需要安裝。
系統(tǒng)的安全設置
1、用戶安全設置
用戶帳號檢查,停止不需要的帳號,建議更改默認的帳號名。
1)、禁用Guest賬號
在計算機管理的用戶里面把Guest賬號禁用。為了保險起見,最好給Guest加一個復雜的密碼。
2)、限制不必要的用戶
去掉所有的Duplicate User用戶、測試用戶、共享用戶等等。用戶組策略設置相應權限,并且經(jīng)常檢查系統(tǒng)的用戶,刪除已經(jīng)不再使用的用戶。
3)、創(chuàng)建兩個管理員賬號
創(chuàng)建一個一般權限用戶用來收信以及處理一些日常事物,另一個擁有Administrators權限的用戶只在需要的時候使用。
4)、把系統(tǒng)Administrator賬號改名
大家都知道,Windows 2000的Administrator用戶是不能被停用的,這意味著別人可以一遍又一遍地嘗試這個用戶的密碼。盡量把它偽裝成普通用戶,比如改成Guesycludx。
5)、創(chuàng)建一個陷阱用戶
什么是陷阱用戶?即創(chuàng)建一個名為“Administrator”的本地用戶,把它的權限設置成最低,什么事也干不了的那種,并且加上一個超過10位的超級復雜密碼。這樣可以讓想入侵的人慢慢忙一段時間。
6)、把共享文件的權限從Everyone組改成授權用戶
不要把共享文件的用戶設置成“Everyone”組,包括打印共享,默認的屬性就是“Everyone”組的。
7)、開啟用戶策略 (不建議)
使用用戶策略,分別設置復位用戶鎖定計數(shù)器時間為20分鐘,用戶鎖定時間為20分鐘,用戶鎖定閾值為3次。
8)、不讓系統(tǒng)顯示上次登錄的用戶名 (可選)
打開注冊表編輯器并找到注冊表項HKLMSoftwareMicrosoftWindowsTCurrentVersionWinlogonDont-DisplayLastUserName,把鍵值改成1
9)、系統(tǒng)賬號/共享列表
Win2000的默認安裝允許任何用戶通過空用戶得到系統(tǒng)所有賬號/共享列表,這個本來是為了方便局域網(wǎng)用戶共享文件的,但是一個遠程用戶也可以得到你的用戶列表并使用暴力法破解用戶密碼。可以通過更改注冊表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1來禁止139空連接,還可以在win2000的本地安全策略(如果是域服務器就是在域服務器安全和域安全策略中)就有這樣的選項RestrictAnonymous(匿名連接的額外限制),這個選項有三個值: 0:None. Rely on default permissions(無,取決于默認的權限) 1:Do not allow enumeration of SAM accounts and shares(不允許枚舉SAM帳號和共享) 2:No access without explicit anonymous permissions(沒有顯式匿名權限就不允許訪問) 0這個值是系統(tǒng)默認的,什么限制都沒有,遠程用戶可以知道你機器上所有的賬號、組信息、共享目錄、網(wǎng)絡傳輸列表(NetServerTransportEnum等等,對服務器來說這樣的設置非常危險。 1這個值是只允許非NULL用戶存取SAM賬號信息和共享信息。 2這個值是在win2000中才支持的,如果不想有任何共享,就設為2。一般推薦設為1。
2、 口令安全設置
1)、使用安全密碼
要注意密碼的復雜性,還要記住經(jīng)常改密碼。
2)、開啟密碼策略
注意應用密碼策略,如啟用密碼復雜性要求,設置密碼長度最小值為8位,設置強制密碼歷史為5次,時間為42天。
3、 系統(tǒng)安全設置
1)、利用Windows 2000的安全配置工具來配置安全策略
微軟提供了一套基于MMC(管理控制臺)安全配置和分析工具,利用它們你可以很方便地配置你的服務器以滿足你的要求。具體內(nèi)容請參考微軟主頁:http://www.microsoft.com/windows2000/techinfo/
howitworks/security/sctoolset.asp
2)、安全日志:Win2000的默認安裝是不開任何安全審核的!可以到本地安全策略
->審核策略中打開相應的審核,推薦的審核是:
賬戶管理 成功 失敗
登錄事件 成功 失敗
對象訪問 失敗
策略更改 成功 失敗
特權使用 失敗
系統(tǒng)事件 成功 失敗
目錄服務訪問 失敗
賬戶登錄事件 成功 失敗
(審核項目少的缺點是萬一你想看發(fā)現(xiàn)沒有記錄那就一點都沒轍;審核項目太多不僅會占用系統(tǒng)資源而且會導致你根本沒空去看,這樣就失去了審核的意義。)
與之相關的是:
在賬戶策略->密碼策略中設定:
密碼復雜性要求 啟用
密碼長度最小值 8位
強制密碼歷史 5次
最長存留期 42天
在賬戶策略->賬戶鎖定策略中設定:
賬戶鎖定 5次錯誤登錄
鎖定時間 20分鐘
復位鎖定計數(shù) 20分鐘
同樣,Terminal Service的安全日志默認也是不開的,我們可以在Terminal Service Configration(遠程服務配置)-權限-高級中配置安全審核,一般來說只要記錄登錄、注銷事件就可以了。
3)、目錄和文件權限:
為了控制好服務器上用戶的權限,同時也為了預防以后可能的入侵和溢出,我們還必須非常小心地設置目錄和文件的訪問權限,NT的訪問權限分為:讀取、寫入、讀取及執(zhí)行、修改、列目錄、完全控制。在默認的情況下,大多數(shù)的文件夾對所有用戶(Everyone這個組)是完全敞開的(Full Control),你需要根據(jù)應用的需要進行權限重設。
在進行權限控制時,請記住以下幾個原則:
1>限是累計的:如果一個用戶同時屬于兩個組,那么他就有了這兩個組所允許的所有權限;
2>拒絕的權限要比允許的權限高(拒絕策略會先執(zhí)行)如果一個用戶屬于一個被拒絕訪問某個資源的組,那么不管其他的權限設置給他開放了多少權限,他也一定不能訪問這個資源。所以請非常小心地使用拒絕,任何一個不當?shù)木芙^都有可能造成系統(tǒng)無法正常運行;
3>文件權限比文件夾權限高
4>利用用戶組來進行權限控制是一個成熟的系統(tǒng)管理員必須具有的優(yōu)良習慣之一;
5>僅給用戶真正需要的權限,權限的最小化原則是安全的重要保障;
4)、禁止建立空連接(IPC$)
默認情況下,任何用戶都可通過空連接連上服務器,進而枚舉出賬號,猜測密碼。我們可以通過修改注冊表來禁止建立空連接:即把“ Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous” 的值改成“1”即可。如果使用“2”可能會造成你的一些服務無法啟動,如SQL Server
此外,安全和應用在很多時候是矛盾的。因此,你需要在其中找到平衡點,如果安全原則妨礙了系統(tǒng)應用,那么這個安全原則也不是一個好的原則
5)、禁止管理共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\LanmanServer\Parameters項
對于服務器,添加鍵值“AutoShareServer”,類型為“REG_DWORD”,值為“0”。
對于客戶機,添加鍵值“AutoShareWks”,類型為“REG_DWORD”,值為“0”。
(關閉server服務)
6)、還有一個就是139端口,139端口是NetBIOS Session端口,用來文件和打印共享,注意的是運行samba的unix機器也開放了139端口,功能一樣。以前流光2000用來判斷對方主機類型不太準確,估計就是139端口開放既認為是NT機,現(xiàn)在好了。
關閉139口聽方法是在“網(wǎng)絡和撥號連接”中“本地連接”中選取“Internet協(xié)議(TCP/IP)”屬性,進入“高級TCP/IP設置”“WINS設置”里面有一項“禁用TCP/IP的NETBIOS”,打勾就關閉了139端口。
對于個人用戶來說,可以在各項服務屬性設置中設為“禁用”,以免下次重啟服務也重新啟動,端口也開放了
7)、使用組策略,IP策略
------------------------
8)、防范SYN攻擊
使用SYN淹沒攻擊保護
相關的值項在
HKLM\SYSTEM\CurrentControlSet\Service\Tcpip\Parameters下。
1) DWORD:SynAttackProtect:定義了是否允許SYN淹沒攻擊保護,值1表示允許起用WIN2000的SYN淹沒攻擊保護。
2) DWORD:TcpMaxConnectResponseRetransmissions:定義了對于連接請求回應包的重發(fā)次數(shù)。值為1,則SYN淹沒攻擊不會有效果,但是這樣會造成連接請求失敗幾率的增高。SYN淹沒攻擊保護只有在該值>=2時才會被啟用,默認值為3。
(上邊兩個值定義是否允許SYN淹沒攻擊保護,下面三個則定義了激活SYN淹沒攻擊保護的條件,滿足其中之一,則系統(tǒng)自動激活SYN淹沒攻擊保護。)
3) DWORD:TcpMaxHalfOpen:定義能夠處于SYN_RECEIVED狀態(tài)的TCP連接的數(shù)目。默認值100。
4) TcpMaxHalfOpenRetried:定義在重新發(fā)送連接請求后,仍然處于SYN_RECEIVED狀態(tài)的TCP連接的數(shù)目。默認值80。
5) TcpMaxPortsExhausted:定義系統(tǒng)拒絕連接請求的次數(shù)。默認值5。
減小syn-ack包的響應時間。
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxConnectResponseRetransmissions定義了重發(fā)SYN-ACK包的次數(shù)。
增大NETBT的連接塊增加幅度和最大數(shù)器。NETBT使用139端口。
HKLM\SYSTEM\CurrentControlSet\Services\NetBt\Parameters\BacklogIncrement默認值為3,最大20,最小1。
HKLM\SYSTEM\CurrentControlSet\Services\NetBt\Parameters\MaxConnBackLog默認值為1000,最大可取40000。
動態(tài)配置Backlog。
相關的值項在HKLM\SYSTEM\CurrentControlSet\Service\AFD\Parameters下
1) DWORD:EnableDynamicBacklog:定義是否允許動態(tài)Backlog,默認為0,1為允許。
2) DWORD:MinimumDynamicBacklog:定義動態(tài)Backlog分配的未使用的自由連接的最小數(shù)目。默認值為0,建議設為20。
3) DWORD:MaximumDynamicBacklog:定義最大“準”連接數(shù)目。大小取決于內(nèi)存的大小,一般每32M最大可以增加5000個。
4) DWORD:DynamicBacklogGrowthDelta:定義每次增加的自由連接數(shù)目,建議設置為10。
10)、預防DoS:
在注冊表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以防御一定強度的DoS攻擊
SynAttackProtect REG_DWORD 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 0
11)、防止ICMP重定向報文的攻擊
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersEnableICMPRedirects REG_DWORD 0x0(默認值為0x1)
該參數(shù)控制Windows 2000是否會改變其路由表以響應網(wǎng)絡設備(如路由器)發(fā)送給它的ICMP重定向消息,有時會被利用來干壞事。Win2000中默認值為1,表示響應ICMP重定向報文。
12)、禁止響應ICMP路由通告報文
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interfacePerformRouterDiscovery REG_DWORD 0x0(默認值為0x2)
“ICMP路由公告”功能可造成他人計算機的網(wǎng)絡連接異常,數(shù)據(jù)被竊聽,計算機被用于流量攻擊等嚴重后果。此問題曾導致校園網(wǎng)某些局域網(wǎng)大面積,長時間的網(wǎng)絡異常。建議關閉響應ICMP路由通告報文.Win2000中默認值為2,表示當DHCP發(fā)送路由器發(fā)現(xiàn)選項時啟用。
13)、設置生存時間
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersDefaultTTL REG_DWORD 0-0xff(0-255 十進制,默認值128)
指定傳出IP數(shù)據(jù)包中設置的默認生存時間(TTL)值。TTL決定了IP數(shù)據(jù)包在到達目標前在網(wǎng)絡中生存的最大時間。它實際上限定了IP數(shù)據(jù)包在丟棄前允許通過的路由器數(shù)量.有時利用此數(shù)值來探測遠程主機*作系統(tǒng)。
14)、不支持IGMP協(xié)議
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersIGMPLevel REG_DWORD 0x0(默認值為0x2)
記得Win9x下有個bug,就是用可以用IGMP使別人藍屏,修改注冊表可以修正這個bug。Win2000雖然沒這個bug了,但IGMP并不是必要的,因此照樣可以去掉。改成0后用route print將看不到那個討厭的224.0.0.0項了。
15)、設置arp緩存老化時間設置
HKLM\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters
ArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒數(shù),默認值為120秒)
ArpCacheMinReferencedLife REG_DWORD 0-0xFFFFFFFF(秒數(shù),默認值為600)
如果ArpCacheLife大于或等于ArpCacheMinReferencedLife,則引用或未引用的ARP緩存項在ArpCacheLife秒后到期。如果ArpCacheLife小于ArpCacheMinReferencedLife,未引用項在ArpCacheLife秒后到期,而引用項在ArpCacheMinReferencedLife秒后到期。每次將出站數(shù)據(jù)包發(fā)送到項的IP地址時,就會引用ARP緩存中的項。
16)、禁止死網(wǎng)關監(jiān)測技術
HKLM\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters
EnableDeadGWDetect REG_DWORD 0x0(默認值為ox1)
如果你設置了多個網(wǎng)關,那么你的機器在處理多個連接有困難時,就會自動改用備份網(wǎng)關,有時候這并不是一項好主意,建議禁止死網(wǎng)關監(jiān)測。
17)、不支持路由功能
HKLM\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters
IPEnableRouter REG_DWORD 0x0(默認值為0x0)
把值設置為0x1可以使Win2000具備路由功能,由此帶來不必要的問題。
18)、做NAT時放大轉(zhuǎn)換的對外端口最大值
HKLM\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters
MaxUserPort REG_DWORD 5000-65534(十進制)(默認值0x1388--十進制為5000)
當應用程序從系統(tǒng)請求可用的用戶端口數(shù)時,該參數(shù)控制所使用的最大端口數(shù)。正常情況下,短期端口的分配數(shù)量為1024-5000。將該參數(shù)設置到有效范圍以外時,就會使用最接近的有效數(shù)值(5000或65534)。使用NAT時建議把值放大點。
19)、修改MAC地址
HKLM\SYSTEM\CurrentControlSet\Control\Class找到右窗口的說明為"網(wǎng)卡"的目錄,比如說是{4D36E972-E325-11CE-BFC1-08002BE10318}展開之,在其下0000,0001,0002...的分支中找到"DriverDesc"的鍵值為你網(wǎng)卡的說明,比如說"DriverDesc"的值為"Intel® 82559 Fast Ethernet LAN on Motherboard"然后在右窗口新建一字符串值,名字為"Networkaddress",內(nèi)容為你想要的MAC值,比如說是"004040404040"然后重起計算機,ipconfig /all看看。
20)、禁止光盤的自動運行功能
Windows 2000的光盤的自動運行功能也是系統(tǒng)安全的隱患,光盤中只要存在autorun.inf文件,則系統(tǒng)會自動試圖執(zhí)行文件中open字段后的文件路徑(市場上已經(jīng)出現(xiàn)了破解屏保密碼的光盤,如果不禁止光盤的自動運行功能,以上所做的設置都將是白費),步驟為:
⑴展開HKEY_LOCAL_MACHINE\SO
FTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer子鍵分支;
⑵在Explorer主鍵中新建DWORD值NoDriveTypeAutoRun,改值為1。
21)、禁止使用MS-DOS方式
采用上述方法隱藏某個磁盤分區(qū)的作用僅限于圖形界面,但在字符界面如MS-DOS方式無效,因此我們必須采用適當?shù)姆椒ń蛊胀ㄓ脩羰褂肕S-DOS方式。方法為:
①展開HKLU\SOFTWARE \Policies\Microsoft\Windows\system分支;
②新建一個名為DisableCMD的DWORD值,改值為1(這項用于禁止用戶進入Windows 2000的MS-DOS方式)。值為2則批處理文件也不能運行。
22)、禁止運行指定的程序
23)、只允許運行指定的程序
24)、禁止使用注冊表編輯器
HKCU\Software\Microsoft\Windows\Current Version\policies\System下
DWORD:DisableRegistryTools:值為1則禁用注冊表編輯器。注意:使用此功能最好作個注冊表備份,或者準備一個其他的注冊表修改工具,因為禁止了注冊表編輯器以后,就不能再用該注冊表編輯器將值項改回來了。
22)、禁止使用任何程序(對于前邊設置的陷阱用戶)
不允許運行任何程序。方法為:
①展開HKLU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer子鍵分支;
②在Explorer主鍵下新建RestrctRun的DWORD值,將值改為1。
不過你也可以發(fā)一下善心,給他幾個Windows 2000自帶的游戲玩一玩,方法為:在Explorer主鍵下新建名為RestrctRun的主鍵,在其下分別新建名為1、2、3、4的字符串值,將值分別改為MSHEARTS.EXE、FREECELL.EXE、WINMINE.EXE、SOL.EXE(只需程序名,無需路徑),則系統(tǒng)只能運行網(wǎng)上紅心大戰(zhàn)、空當接龍、掃雷、紙牌。無法執(zhí)行其它任何程序。
服務安全設置
1)、關閉不必要的端口
關閉端口意味著減少功能,在安全和功能上面需要你做一點決策。如果服務器安裝在防火墻的后面,冒險就會少些。但是,永遠不要認為你可以高枕無憂了。用端口掃描器掃描系統(tǒng)已開放的端口,確定系統(tǒng)開放的哪些服務可能引起黑客入侵。在系統(tǒng)目錄中的\system32\drivers\etc\services 文件中有知名端口和服務的對照表可供參考。具體方法為:打開“ 網(wǎng)上鄰居/屬性/本地連接/屬性/internet 協(xié)議(TCP/IP)/屬性/高級/選項/TCP/IP篩選/屬性” 打開“TCP/IP篩選”,添加需要的TCP、UDP協(xié)議即可。
2)、設置好安全記錄的訪問權限
安全記錄在默認情況下是沒有保護的,把它設置成只有Administrators和系統(tǒng)賬戶才有權訪問。
3)、把敏感文件存放在另外的文件服務器中
雖然現(xiàn)在服務器的硬盤容量都很大,但是你還是應該考慮是否有必要把一些重要的用戶數(shù)據(jù)(文件、數(shù)據(jù)表、項目文件等)存放在另外一個安全的服務器中,并且經(jīng)常備份它們。
4)、停止不必要的服務
服務開的太多也不是個好事,將沒有必要的服務通通關掉吧!特別是連管理員都不知道是干什么的服務,還開著干什么!關掉!免得給系統(tǒng)帶來災難。
另外,管理員如果不外出,不需要遠程管理你的計算機的話,最好將一切的遠程網(wǎng)絡登錄功能都關掉。注意,除非特別需要,否則禁用“Task Scheduler”、“RunAs Service”服務!
關閉一項服務的方法很簡單,運行cmd.exe之后,直接net stop servername即可
5)、更改管理服務的端口
pcanywhere端口號,終端服務端口號。
5)、在Win2000中如何關閉ICMP(Ping)
ICMP的全名是Internet Control and Message Protocal即因特網(wǎng)控制消息/錯誤報文協(xié)議,這個協(xié)議主要是用來進行錯誤信息和控制信息的傳遞,例如著名的Ping和Tracert工具都是利用ICMP協(xié)議中的ECHO request報文進行的(請求報文ICMP ECHO類型8代碼0,應答報文ICMP ECHOREPLY類型0代碼0)。
ICMP協(xié)議有一個特點---它是無連結(jié)的,也就是說只要發(fā)送端完成ICMP報文的封裝并傳遞給路由器,這個報文將會象郵包一樣自己去尋找目的地址,這個特點使得ICMP協(xié)議非常靈活快捷,但是同時也帶來一個致命的缺陷---易偽造(郵包上的寄信人地址是可以隨便寫的),任何人都可以偽造一個ICMP報文并發(fā)送出去,偽造者可以利用SOCK_RAW編程直接改寫報文的ICMP首部和IP首部,這樣的報文攜帶的源地址是偽造的,在目的端根本無法追查,(攻擊者不怕被抓那還不有恃無恐?)根據(jù)這個原理,外面出現(xiàn)了不少基于ICMP的攻擊軟件,有通過網(wǎng)絡架構缺陷制造ICMP風暴的,有使用非常大的報文堵塞網(wǎng)絡的,有利用ICMP碎片攻擊消耗服務器CPU的,甚至如果將ICMP協(xié)議用來進行通訊,可以制作出不需要任何TCP/UDP端口的木馬(參見相關文章)......既然ICMP協(xié)議這么危險,我們?yōu)槭裁床魂P掉它呢?
我們都知道,Win2000在網(wǎng)絡屬性中自帶了一個TCP/IP過濾器,我們來看看能不能通過這里關掉ICMP協(xié)議,桌面上右擊網(wǎng)上鄰居->屬性->右擊你要配置的網(wǎng)卡->屬性->TCP/IP->高級->選項->TCP/IP過濾,這里有三個過濾器,分別為:TCP端口、UDP端口和IP協(xié)議,我們先允許TCP/IP過濾,然后一個一個來配置,先是TCP端口,點擊"只允許",然后在下面加上你需要開的端口,一般來說WEB服務器只需要開80(www),F(xiàn)TP服務器需要開20(FTP Data),21(FTP Control),郵件服務器可能需要打開25(SMTP),110(POP3),以此類推......接著是UDP,UDP協(xié)議和ICMP協(xié)議一樣是基于無連結(jié)的,一樣容易偽造,所以如果不是必要(例如要從UDP提供DNS服務之類)應該選擇全部不允許,避免受到洪水(Flood)或碎片(Fragment)攻擊。最右邊的一個編輯框是定義IP協(xié)議過濾的,我們選擇只允許TCP協(xié)議通過,添加一個6(6是TCP在IP協(xié)議中的代碼,IPPROTO_TCP=6),從道理上來說,只允許TCP協(xié)議通過時無論UDP還是ICMP都不應該能通過,可惜的是這里的IP協(xié)議過濾指的是狹義的IP協(xié)議,從架構上來說雖然ICMP協(xié)議和IGMP協(xié)議都是IP協(xié)議的附屬協(xié)議,但是從網(wǎng)絡7層結(jié)構上ICMP/IGMP協(xié)議與IP協(xié)議同屬一層,所以微軟在這里的IP協(xié)議過濾是不包括ICMP協(xié)議的,也就是說即使你設置了“只允許TCP協(xié)議通過”,ICMP報文仍然可以正常通過,所以如果我們要過濾ICMP協(xié)議還需要另想辦法。
剛剛在我們進行TCP/IP過濾時,還有另外一個選項:IP安全機制(IP Security),我們過濾ICMP的想法就要著落在它身上。
打開本地安全策略,選擇IP安全策略,在這里我們可以定義自己的IP安全策略。
一個IP安全過濾器由兩個部分組成:過濾策略和過濾*作,過濾策略決定哪些報文應當引起過濾器的關注,過濾*作決定過濾器是“允許”還是“拒絕”報文的通過。要新建IP安全過濾器,必須新建自己的過濾策略和過濾*作:右擊本機的IP安全策略,選擇管理IP過濾器,在IP過濾器管理列表中建立一個新的過濾規(guī)則:ICMP_ANY_IN,源地址選任意IP,目標地址選本機,協(xié)議類型是ICMP,切換到管理過濾器*作,增加一個名為Deny的*作,*作類型為"阻止"(Block)。這樣我們就有了一個關注所有進入ICMP報文的過濾策略和丟棄所有報文的過濾*作了。需要注意的是,在地址選項中有一個鏡像選擇,如果選中鏡像,那么將會建立一個對稱的過濾策略,也就是說當你關注any IP->my IP的時候,由于鏡像的作用,實際上你也同時關注了my IP->any IP,你可以根據(jù)自己的需要選擇或者放棄鏡像。
再次右擊本機的IP安全策略,選擇新建IP過濾策略,建立一個名稱為ICMP Filter的過濾器,通過增加過濾規(guī)則向?qū)В覀儼褎倓偠x的ICMP_ANY_IN過濾策略指定給ICMP Filter,然后在*作選框中選擇我們剛剛定義的Deny*作,退出向?qū)Т翱冢覔鬒CMP Filter并啟用它,現(xiàn)在任何地址進入的ICMP報文都會被丟棄了。
雖然用IP sec能夠?qū)CMP報文進行過濾,不過*作起來太麻煩,而且如果你只需要過濾特定的ICMP報文,還要保留一些常用報文(如主機不可達、網(wǎng)絡不可達等),IP sec策略就力不從心了,我們可以利用Win2000的另一個強大工具路由與遠程訪問控制(Routing & Remote Access)來完成這些復雜的過濾*作。
路由與遠程訪問控制是Win2000用來管理路由表、配置VPN、控制遠程訪問、進行IP報文過濾的工具,默認情況下并沒有安裝,所以首先你需要啟用它,打開"管理工具"->"路由與遠程訪問",右擊服務器(如果沒有則需要添加本機)選擇"配置并啟用路由及遠程訪問",這時配置向?qū)屇氵x擇是什么樣的服務器,一般來說,如果你不需要配置VPN服務器,那么選擇"手動配置"就可以了,配置完成后,主機下將出現(xiàn)一個IP路由的選項,在"常規(guī)"中選擇你想配置的網(wǎng)卡(如果你有多塊網(wǎng)卡,你可以選擇關閉某一塊的ICMP),在網(wǎng)卡屬性中點擊"輸入篩選器",添加一條過濾策略"from:ANY to:ANY 協(xié)議:ICMP 類型:8 :編碼:0 丟棄"就可以了(類型8編碼0就是Ping使用的ICMP_ECHO報文,如果要過濾所有的ICMP報文只需要將類型和編碼都設置為255)
IIS:IIS是微軟的組件中漏洞最多的一個,平均兩三個月就要出一個漏洞,而微軟的IIS默認安裝又實在不敢恭維,所以IIS的配置是我們的重點,現(xiàn)在大家跟著我一起來:
首先,把C盤那個什么Inetpub目錄徹底刪掉,在D盤建一個Inetpub(要是你不放心用默認目錄名也可以改一個名字,但是自己要記得)在IIS管理器中將主目錄指向D:\Inetpub;
其次,那個IIS安裝時默認的什么scripts等虛擬目錄一概刪除(罪惡之源呀,忘了http://www.target.com/scripts/..%c1%1c../winnt/system32/cmd.exe了?我們雖然已經(jīng)把Inetpub從系統(tǒng)盤挪出來了,但是還是小心為上),如果你需要什么權限的目錄可以自己慢慢建,需要什么權限開什么。(特別注意寫權限和執(zhí)行程序的權限,沒有絕對的必要千萬不要給)
第三,應用程序配置:在IIS管理器中刪除必須之外的任何無用映射,必須指的是ASP, ASA和其他你確實需要用到的文件類型,例如你用到stml等(使用server side include),實際上90%的主機有了上面兩個映射就夠了,其余的映射幾乎每個都有一個凄慘的故事:htw, htr, idq, ida……想知道這些故事?去查以前的漏洞列表吧。什么?找不到在哪里刪?在IIS管理器中右擊主機->屬性->WWW服務 編輯->主目錄 配置->應用程序映射,然后就開始一個個刪吧(里面沒有全選的,嘿嘿)。接著在剛剛那個窗口的應用程序調(diào)試書簽內(nèi)將腳本錯誤消息改為發(fā)送文本(除非你想ASP出錯的時候用戶知道你的程序/網(wǎng)絡/數(shù)據(jù)庫結(jié)構)錯誤文本寫什么?隨便你喜歡,自己看著辦。點擊確定退出時別忘了讓虛擬站點繼承你設定的屬性。
為了對付日益增多的cgi漏洞掃描器,還有一個小技巧可以參考,在IIS中將HTTP404 Object Not Found出錯頁面通過URL重定向到一個定制HTM文件,可以讓目前絕大多數(shù)CGI漏洞掃描器失靈。其實原因很簡單,大多數(shù)CGI掃描器在編寫時為了方便,都是通過查看返回頁面的HTTP代碼來判斷漏洞是否存在的,例如,著名的IDQ漏洞一般都是通過取1.idq來檢驗,如果返回HTTP200,就認為是有這個漏洞,反之如果返回HTTP404就認為沒有,如果你通過URL將HTTP404出錯信息重定向到HTTP404.htm文件,那么所有的掃描無論存不存在漏洞都會返回HTTP200,90%的CGI掃描器會認為你什么漏洞都有,結(jié)果反而掩蓋了你真正的漏洞,讓入侵者茫然無處下手(武俠小說中常說全身漏洞反而無懈可擊,難道說的就是這個境界?)不過從個人角度來說,我還是認為扎扎實實做好安全設置比這樣的小技巧重要的多。
最后,為了保險起見,你可以使用IIS的備份功能,將剛剛的設定全部備份下來,這樣就可以隨時恢復IIS的安全配置。還有,如果你怕IIS負荷過高導致服務器滿負荷死機,也可以在性能中打開CPU限制,例如將IIS的最大CPU使用率限制在70%。
需要注意事項
實際上,安全和應用在很多時候是矛盾的,因此,你需要在其中找到平衡點,畢竟服務器是給用戶用而不是做OPEN HACK的,如果安全原則妨礙了系統(tǒng)應用,那么這個安全原則也不是一個好的原則。
網(wǎng)絡安全是一項系統(tǒng)工程,它不僅有空間的跨度,還有時間的跨度。很多朋友(包括部分系統(tǒng)管理員)認為進行了安全配置的主機就是安全的,其實這其中有個誤區(qū):我們只能說一臺主機在一定的情況一定的時間上是安全的,隨著網(wǎng)絡結(jié)構的變化、新的漏洞的發(fā)現(xiàn),管理員/用戶的*作,主機的安全狀況是隨時隨地變化著的,只有讓安全意識和安全制度貫穿整個過程才能做到真正的安全。
提高IIS 5.0網(wǎng)站伺服器的執(zhí)行效率的八種方法
以下是提高IIS 5.0網(wǎng)站伺服器的執(zhí)行效率的八種方法:
1. 啟用HTTP的持續(xù)作用可以改善15~20%的執(zhí)行效率。
2. 不啟用記錄可以改善5~8%的執(zhí)行效率。
3. 使用 [獨立] 的處理程序會損失20%的執(zhí)行效率。
4. 增加快取記憶體的保存檔案數(shù)量,可提高Active Server Pages之效能。
5. 勿使用CGI程式。
6. 增加IIS 5.0電腦CPU數(shù)量。
7. 勿啟用ASP偵錯功能。
8. 靜態(tài)網(wǎng)頁采用HTTP 壓縮,大約可以減少20%的傳輸量。
簡單介紹如下。 1、啟用HTTP的持續(xù)作用
啟用HTTP的持續(xù)作用(Keep-Alive)時,IIS與瀏覽器的連線不會斷線,可以改善執(zhí)行效率,直到瀏覽器關閉時連線才會斷線。因為維持「Keep-Alive」狀態(tài)時,於每次用戶端請求時都不須重新建立一個新的連接,所以將改善伺服器的效率。
此功能為HTTP 1.1預設的功能,HTTP 1.0加上Keep-Alive
header也可以提供HTTP的持續(xù)作用功能。
2、啟用HTTP的持續(xù)作用可以改善15~20%的執(zhí)行效率。
如何啟用HTTP的持續(xù)作用呢?步驟如下:
在 [Internet服務管理員] 中,選取整個IIS電腦、或Web站臺,於 [內(nèi)容] 之 [主目錄]
頁,勾選 [HTTP的持續(xù)作用] 選項。
3、不啟用記錄
不啟用記錄可以改善5~8%的執(zhí)行效率。
如何設定不啟用記錄呢?步驟如下:
在 [Internet服務管理員] 中,選取整個IIS電腦、或Web站臺,於 [內(nèi)容] 之 [主目錄]頁,不勾選 [啟用記錄] 選項。
設定非獨立的處理程序
使用 [獨立] 的處理程序會損失20%的執(zhí)行效率,此處所謂「獨立」系指將 [主目錄]、[虛擬目錄] 頁之應用程式保護選項設定為 [高(獨立的)] 時。因此 [應用程式保護] 設定為 [低 (IIS處理程序)] 時執(zhí)行效率較高,設定畫面如下:
如何設定非「獨立」的處理程序呢?步驟如下:
在 [Internet服務管理員] 中,選取整個IIS電腦、Web站臺、或應用程式的起始目錄。於 [內(nèi)容] 之 [主目錄]、[虛擬目錄] 頁,設定應用程式保護選項為 [低 (IIS處理程序)] 。
4、調(diào)整快取(Cache)記憶體
IIS 5.0將靜態(tài)的網(wǎng)頁資料暫存於快取(Cache)記憶體當中;IIS
4.0則將靜態(tài)的網(wǎng)頁資料暫存於檔案當中。調(diào)整快取(Cache)記憶體的保存檔案數(shù)量可以改善執(zhí)行效率。
ASP指令檔案執(zhí)行過後,會在暫存於快取(Cache)記憶體中以提高執(zhí)行效能。增加快取記憶體的保存檔案數(shù)量,可提高Active Server Pages之效能。
可以設定所有在整個IIS電腦、「獨立」Web站臺、或「獨立」應用程式上執(zhí)行之應用程式的快取記憶體檔案數(shù)量。
如何設定快取(Cache)功能呢?步驟如下:
在 [Internet服務管理員]
中,選取整個IIS電腦、「獨立」Web站臺、或「獨立」應用程式的起始目錄。於 [內(nèi)容]之[主目錄]、[虛擬目錄] 頁,按下 [設定] 按鈕時,即可由 [處理程序選項] 頁設定 [指令檔快取記憶體] 。
如何設定快取(Cache)記憶體檔案數(shù)量呢?步驟如下:
在 [Internet服務管理員] 中,選取整個IIS電腦、或Web站臺的起始目錄。於 [內(nèi)容]之[伺服器擴充程式] 頁,按下 [設定] 按鈕。
即可設定快取(Cache)記憶體檔案數(shù)量。
5、勿使用CGI程式
使用CGI程式時,因為處理程序(Process)須不斷地產(chǎn)生與摧毀,造成執(zhí)行效率不佳。
一般而言,執(zhí)行效率比較如下:
靜態(tài)網(wǎng)頁(Static):100
ISAPI:50
ASP:10
CGI:1
換句話說,ASP比CGI可能快10倍,因此勿使用CGI程式可以改善IIS的執(zhí)行效率。
以彈性(Flexibility)而言:ASP > CGI > ISAPI > 靜態(tài)網(wǎng)頁(Static)。
以安全(Security)而言:ASP(獨立) = ISAPI(獨立)= CGI > ASP(非獨立) =
ISAPI(非獨立)= 靜態(tài)網(wǎng)頁(Static)。
6、增加IIS 5.0電腦CPU數(shù)量
根據(jù)微軟的測試報告,增加IIS 4.0電腦CPU數(shù)量,執(zhí)行效率并不會改善多少;但是增加IIS 5.0電腦CPU數(shù)量,執(zhí)行效率會幾乎成正比地提供,換句話說,兩顆CPU的IIS 5.0電腦執(zhí)行效率幾乎是一顆CPU電腦的兩倍,四顆CPU的IIS 5.0電腦執(zhí)行效率幾乎是一顆CPU電腦的四倍。
IIS 5.0將靜態(tài)的網(wǎng)頁資料暫存於快取(Cache)記憶體當中;IIS
4.0則將靜態(tài)的網(wǎng)頁資料暫存於檔案當中。調(diào)整快取(Cache)記憶體的保存檔案數(shù)量可以改善執(zhí)行效率。
7、啟用ASP偵錯功能
勿啟用ASP偵錯功能可以改善執(zhí)行效率。
如何勿啟用ASP偵錯功能呢?步驟如下:
於 [Internet服務管理員] 中,選取Web站臺、或應用程式的起始目錄,按右鍵選擇 [內(nèi)容],按 [主目錄]、[虛擬目錄] 或 [目錄] 頁,按下 [設定] 按鈕,選擇 [應用程式偵錯] 頁,不勾選 [啟用ASP伺服器端指令偵錯]、[啟用ASP用戶端指令偵錯] 選項。
8、靜態(tài)網(wǎng)頁采用HTTP 壓縮
靜態(tài)網(wǎng)頁采用HTTP 壓縮,大約可以減少20%的傳輸量。
HTTP壓縮功能啟用或關閉,系針對整臺IIS伺服器來設定。
用戶端使用IE 5.0瀏覽器連線到已經(jīng)啟用HTTP壓縮IIS 5.0之Web伺服器,才有HTTP壓縮功能。
如何啟用HTTP壓縮功能呢?步驟如下:
若要啟用HTTP壓縮功能,方法為在 [Internet服務管理員] 中,選取電腦之 [內(nèi)容],於 [主要內(nèi)容]
之下選取 [WWW服務]。然後按一下 [編輯] 按鈕,於 [服務] 頁上,選取 [壓縮靜態(tài)檔案] 可以壓縮靜態(tài)檔案,不選取 [壓縮應用程式檔案] 。
動態(tài)產(chǎn)生的內(nèi)容檔案(壓縮應用程式檔案)也可以壓縮,但是須耗費額外CPU處理時間,若% Processor Time已經(jīng)百分之八十或更多時,建議不要壓縮。