Windows2000服務器管理全攻略

 

一直以來,很少在網絡上看到關於windows服務器管理的全方面的文章,即使是在windows網絡安全設置方面,雖然網絡上有着不少的關於這個方面的話題,但是這些文章當中並沒有完全徹底的貫徹“最少的服務+最小的權限=最大的安全”這一原則,筆者由於前段時間工作於一家虛擬主機提供商,因工作需要對此進行了深入的探索。本文所有的環境均是在windows 2000 adv server上測試,因此部分內容可能不適合於windows 2003系統,但是大部分內容是通用的。這裏我們以虛擬主機爲例來探討。

第一部分   服務器安全設置

安裝之前的準備工作

很多時候,一部分的安全問題在你將windows安裝光盤放入光驅中的時候就已產生,所以,在安裝之前我們必須做好一些必要的準備工作。主要包括安裝源和物理介質的安全檢查以及服務器的安全規劃。這部分內容主要包括以下幾個方面:
1.    確保你的安裝光盤沒有任何問題,這裏所說的是指光盤內容沒有經過第三方加以修改和光盤沒有遭到物理損壞。對於刻錄的安裝光盤請確認你的源文件安全可靠,儘量使用集成了SP4的安裝光盤,以減少後面打補丁的工作量。
2.    確保你的硬盤沒有任何問題,請儘量使用新硬盤,對於使用過的硬盤應先進行低級格式化。無論新舊硬盤需要確認硬盤本身沒有遭受到病毒感染。
3.    規劃好系統安裝過程與服務器的所需要的程序、服務等並準備好這些安裝程序且確保這些安裝程序沒有任何問題,儘量使用官方提供的安裝程序。規劃好硬盤的分區以及各分區的功用。分區方案建議分四個分區,將系統存放在C盤,應用程序放在D盤,備份文件和一些重要的日誌等放在E盤,用戶站點等放在F盤中,儘可能少的向系統盤寫入非系統文件以減少系統備份的工作量,至於各分區的容量視情況而定。不要安裝任何多餘的程序或組件,遵循“最少的服務+最小的權限=最大的安全”原則。
4.完成之後以上工作,對bios進行所需的相關設置,便可以進行安裝了,如需要做raid,則需要在安裝前完成raid的設置工作。安裝時磁盤格式請務必使用NTFS格式,安裝過程中請更改windows安裝目錄,避免使用默認的winnt目錄,安裝過程中的密碼設置可在此處先簡單設置一個熟悉的密碼[此處不推薦使用空密碼]。

安裝過程中的安全問題

安裝過程中需要注意的問題有以下幾個方面:
1.磁盤的分區容量視情況而定,磁盤格式務必要使用NTFS格式,在安裝過程中請更改windows安裝目錄,避免使用默認的winnt目錄作爲系統目錄,安裝過程中的密碼設置可在此處簡單設置一個密碼,儘量不要使用空密碼,儘管此時沒有連接到網絡,但是一些物理安全問題仍然要重視。
2.安裝過程中對於組件的安裝只安裝必須的組件,對於不需要的組件或者所需要的組件中多餘的部分一概捨棄不進行安裝。例如WEB服務器的IIS組件我們只安裝Internet服務管理器、world wide web服務器、公用文件三部分即可。對於這些組件、程序的安裝一定要遵循“最少的服務+最小的權限=最大的安全”原則。
3.其他安裝過程根據需要進行相關的設置即可,安裝完畢之後重新啓動系統,安裝完驅動程序後重新啓動系統,接下來將安裝所有必須的軟件部分如winrar等。[如果部分應用軟件需要到網絡上下載請先做完後面的一些安全設置]
4.安裝軟件所必須注意的問題:對於所有的軟件安裝在規劃的軟件安裝盤下,軟件安裝目錄儘量不要用默認的Program Files目錄,可以建立一個其他名稱的目錄放置應用程序。

安裝後的服務器安全設置

安裝好操作系統之後,不要急於連上網絡,此時的系統安全是十分脆弱的,需要首先進行一些基本的設置。
1.設置相關安全策略:
   打開“本地安全策略”,推薦設置如下:
密碼策略設置爲:啓用密碼必須符合複雜性要求,設置密碼最小長度值爲8,密碼最長駐留期30天,最短0天,強制保留密碼歷史爲5個記住的密碼。
帳戶鎖定策略設置爲:復位帳戶鎖定計數器設置爲30分鐘之後,帳戶鎖定時間爲60分鐘,帳戶鎖定閾值爲3次無效登陸。
   審覈策略設置爲:策略更改(成功、失敗);登陸事件(成功、失敗);對象訪問(失敗);目錄服務訪問(失敗);特權使用(失敗);系統事件(成功、失敗);帳戶登陸事件(成功、失敗);帳戶管理(成功、失敗)。
   用戶權利指派中將拒絕從網絡訪問這臺計算機中添加guest帳號。
   安全選項中需要設置的有:
登陸屏幕不顯示上次登陸的用戶名
對匿名連接的額外限制更改爲“不允許枚舉SAM帳號和密碼”
防止用戶安裝打印機驅動
禁止未簽名驅動程序、非驅動程序的安裝,禁止在未登陸前關機
設置只有本地登陸的用戶才能訪問CD-ROM和軟盤
2. 重新命名administrator用戶,按照密碼策略修改密碼。[下文爲闡述方便,仍將改名後的administrator稱爲administrator]。可以另創建一個管理員用戶,日常管理使用只其中一個,備用帳號只作爲忘記密碼或者系統被入侵管理帳號密碼被更改時應急之用。禁用或刪除掉guest帳號(手工或工具均可,推薦刪除guest)。
3.設置相關服務
=========================================================================
默認安裝之後需要更改的服務設置有以下:
必須禁用的服務:
以下服務危險性較大,必須禁用[先停止服務再將屬性設置爲已禁用]。

禁用Remote Registry服務        [說明:禁止遠程連接註冊表]
禁用task schedule服務    [說明:禁止自動運行程序]
禁用server服務           [說明:禁止默認共享]
禁用Telnet服務           [說明:禁止telnet遠程登陸]
禁用workstation服務      [說明:防止一些漏洞和系統敏感信息獲取]

推薦設置的服務:
以下服務一般並不需要用到,推薦關閉並將啓動方式設爲手動和禁止:

 

服務名稱                 適用情況說明
Alerter                  [不需要管理警報]               
ClipBook                 [不需要查看遠程剪貼簿的剪貼頁面]
Fax Service              [不需要發送或接收傳真]
Indexing Service         [不提供遠程文件索引和快速訪問或者沒有連上局域網]
Internet Connection Sharing  [不需要共享連接網絡]   
IPSEC Policy Agent       [如連接要windows域該服務需要開啓]
Messager                 [未連接到Windows 2000的域並且不需要管理警報]
Net Logon                [不需要讓局域網的其他用戶登陸]
NetMeeting Remote Desktop Sharing [不需要使用NetMeeting遠程管理計算機]
Network DDE                        [提高安全性]
Network DDE DSDM                   [提高安全性]
TCP/IP NetBIOS Helper Service  [服務器不需要開啓共享]
RunAs Service                  [不需要在某一用戶態下用另外一用戶執行程序]
Wireless Configuration         [不需要無線網絡]
QoS RSVP                       [不需要使用依賴於QoS的程序]  
Remote Access Auto Connection Manager [不需要讓程序讀取網絡信息時自動連接到網絡]
Routing and Remote Access       [機器不做路由之用]
Smart Card                      [沒有智能卡閱讀器和智能卡]
Smart Card Helper               [沒有舊式智能卡閱讀器和智能卡]
Uninterruptible Power Supply    [沒有使用UPS或者UPS不支持雙向傳輸信號]
Utility Manager                 [不從一個窗口中啓動和配置輔助工具]

經過以上設置之後,對服務進行復查,一般開放的服務爲以下幾個:
Automatic Updates
COM+ Event System
Event Log
IPSEC Policy Agent
Logical Disk Manager
Plug and Play
Protected Storage
Remote Access Connection Manager
Remote Procedure Call (RPC)
Removable Storage
Security Accounts Manager
System Event Notification
Telephony
Windows Management Instrumentation
Windows Management Instrumentation Driver Extensions

其他服務根據需要決定是否開放,如web服務需要開放的服務:
IIS Admin
World Wide Web

4.修改部分註冊表項目[注意修改前要備份,修改完成後重新啓動計算機]:

關閉 NTFS 8.3 名稱生成:
NTFS 可以自動生成 8.3 個名稱以與 16 位應用程序實現反向兼容。由於 16 位應用程序不應該在安全 Web 服務器上使用,因此可以安全關閉 8.3 名稱生成。還應該注意,對此進行設置還存在性能上的優勢。關閉8.3文件名:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
將NtfsDisable8dot3NameCreation設置爲1

刪除OS/2和POSIX子系統:
刪除HKEY_LOCAL_MACHINESOFTWAREMicrosoftOS/2 Subsystem for NT分支;刪除HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment中的Os2LibPath項;刪除HKEY_LOCAL_MACHINESYSTEM
CurrentControlSetControlSession ManagerSubSystems中的Os2和Posix項。然後刪除winntsystem32下的os2文件夾。

抵禦DDOS攻擊設置:

抵禦DDOS攻擊的註冊表修改可以直接導入下面的註冊表文件,直接導入之後重新啓動系統即可生效。相關修改如下:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]
"ForwardBroadcasts"=dword:00000000
"IPEnableRouter"=dword:00000000
"Domain"=""
"SearchList"=""
"UseDomainNameDevolution"=dword:00000001
"EnableICMPRedirect"=dword:00000001
"DeadGWDetectDefault"=dword:00000001
"DontAddDefaultGatewayDefault"=dword:00000000
"EnableSecurityFilters"=dword:00000000
"AllowUnqualifiedQuery"=dword:00000000
"PrioritizeRecordData"=dword:00000001
"ReservedPorts"=hex(7):31,00,34,00,33,00,33,00,2d,00,31,00,34,00,33,00,34,00,
00,00,00,00
"DisableTaskOffload"=dword:00000001
"DefaultTTL"=dword:00000040
"TcpRecvSegmentSize"=dword:000005b4
"GlobalMaxTcpWindowSize"=dword:00002000
"TcpWindowSize"=dword:00002000
"EnablePMTUDiscovery"=dword:00000000
"EnablePMTUBHDetect"=dword:00000001
"SackOpts"=dword:00000001
"Tcp1323Opts"=dword:00000003
"SynAttackProtect"=dword:00000002
"TcpMaxConnectResponseRetransmissions"=dword:00000001
"TcpMaxPortsExhausted"=dword:00000005
"TcpMaxHalfOpen"=dword:000001f4
"TcpMaxHalfOpenRetried"=dword:00000190
"KeepAliveTime"=dword:00007530
"TcpTimedWaitDelay"=dword:0000001e

4.重新啓動服務器後檢查各種服務運行是否正常,簡單設置各磁盤權限,將C盤設置爲administrator和system完全控制,D、E、F盤設置爲administrator完全控制,並且重置所有子對象的權限。
5.安裝防火牆和殺毒軟件,可使用macfee的殺毒軟件和防火牆。
6.更改日誌文件默認保存目錄,將應用程序日誌、系統日誌、安全日誌更改到E:event目錄[需要修改註冊表以更改],調整日誌文件大小,將該目錄只允許system有寫入權限和administrator完全控制權限。
7.設置網絡連接,在屬性裏只保留TCP/IP協議,禁用TCP/IP上的netbios。[最徹底的禁用netbios的方法是在“設備管理器”中顯示隱藏的設備,在“非即插即用設備”中禁用netbios。]
8.重新啓動系統,設置IE的安全等級爲高,連接網絡,打好所有可用補丁,升級殺毒軟件。重新啓動計算機。
9.安裝完成所有應用軟件。如PHP、ActivePerl、Serv-U、mysql、pcanywhere等,PHP、ActivePerl和mysql請不要安裝在默認的php、usr、mysql目錄下,其他程序可默認安裝在Program  Files下,但不要採用默認目錄。安裝相關所需要的組件(如jmail、動易組件等)和相關係統維護工具。
10.安裝完所有的應用程序之後,重新啓動服務器,調試所有的應用程序都工作正常之後,再根據需要對應用程序進行相關的安全設置,相關設置見第二章。
11.設置完成之後重新啓動計算機,確定應用程序均工作正常。然後進行權限設置[以下以web服務器權限設置爲例],這是筆者反覆實驗所得到的最小的權限設置:

C盤根目錄                         給system和administrator用戶完全控制權限,將權限繼承下去
C:Program filescommon filessystem   給users組讀取、列目錄、執行權限
C:WINNTTemp                          給users組讀取、寫入權限
C:winntsystem32inetsrv下的除MetaBase.bin外所有文件(不包含目錄)給users組列目錄、讀取、執行權限
C:winntsystem32下的所有非exe、com、msc文件(注意是文件,不包含目錄)   給users組讀取和執行權限
再給c:winntsystem32dllhost.exe       給users讀取和執行權限
如果有PHP給C:WINNTphp.ini            給users讀取權限
還需要給PHP、MYSQL目錄                  給users讀取、列目錄、執行權限
 
這樣設置之後只有c:winnttemp目錄有寫入權限了,如果你還有更高的要求,可更改環境變量將tmp和temp將c:winnttemp更改爲其他盤下的目錄,權限設置成一樣,然後重新啓動刪除掉c;winnttemp。
然後去除部分危險命令的system權限以防止緩衝區溢出等安全問題引發的安全問題。
首先可以將cacls設置爲拒絕任何人訪問,然後取消下列命令的system訪問權限:
At  cmd  cscript  ftp  net  net1  netstat  runas  telnet  tftp  tlntadmn  wscript
12.以上設置完成之後,設置TCP/IP篩選,TCP只開放80,20,21,25,110,5631,1433,3306,
4001-4003[根據各人主機情況按需要開放],這些端口分別對應於:
80:web服務             20:FTP主動模式            21:FTP服務  
25:SMTP[mail服務]     110:POP3[mail服務]         5631:遠程管理[pcanywhere]     
4001-4003:FTP被動模式[需要在serv-u中將被動模式設置成該端口範圍]
1433:MSSQL服務        3306:MySQL服務
13.設置IP策略,IP策略的相關設置爲:
   允許的策略爲:
   允許所有IP連接本服務器策略設置和TCP/IP篩選一致,這裏不做闡述。除此之外可開放本機對外的ICMP協議。
   拒絕的策略爲:
   禁止任何IP與本服務器的除TCP、UDP外的所有協議,禁止本機與任何IP的除TCP、UDP、ICMP的所有協議。另外需要禁止任何IP對本機的TCP135、137、138、139、445、3389端口的訪問,禁止UDP69端口的訪問。
14.給一些黑客常用的文件類型更改掉打開的方式,在“文件類型”中將bat,vbs,vbe,reg文件類型修改成默認使用notepad打開。設置使用Windows傳統風格的桌面和文件夾。如還有其他應用程序,安裝完成之後給予對應權限。
15.所有工作均完成之後,重新啓動計算機,設置macfee的病毒策略和防火牆策略,這裏以web服務器和winwebmail郵件服務器爲例進行設置。

    Web服務器的設置爲:
端口阻擋設置爲:除默認設置外,勾選以下幾條:禁止從玩維網下載,禁止FTP出站通訊。文件、共享和文件夾保護設置爲:阻擋對所有共享資源的讀寫訪問[除非有其他需要開放的設置],要阻擋的文件和文件夾可全部勾選,必須注意,在後期更新系統補丁或安裝軟件等工作時必須先將此處的相關保護取消。緩衝區溢出保護設置爲:啓用緩衝區溢出保護。有害程序策略設置爲:全部勾選。

    郵件服務器的設置爲:
設置 WinWebMail 的殺毒產品名稱爲“McAfee VirusScan for Win32”並指定有效的執行程序路徑。請將執行程序路徑指向: 系統盤符:Program FilesCommon FilesNetwork Associates 目錄或其子目錄下的 SCAN.EXE 文件。

    注意1:
必須使用缺省的執行程序文件名。使用 McAfee 時就必須指向 SCAN.EXE 文件,而不能使用其他文件(如:SCAN32.EXE),否則不但無法查毒,並且會影響郵件系統的正常工作。
    注意2:
SCAN.EXE 文件並不在其安裝目錄下!

禁用 VirusScan 的電子郵件掃描功能。在 VirusScan 掃描屬性下“所有進程 | 檢測”中的“排除磁盤、文件和文件夾”內,點擊“排除”按鈕,在其“設置排除”中添加一個排除設置將安裝 WinWebMail 的目錄以及所有子目錄都設爲排除。必須要設置排除,否則有可能出現郵件計數錯誤,從而造成郵箱滿的假象。
在 McAfee 控制檯中有“訪問保護”項中必須在其規則中不要選中“禁止大量發送郵件的蠕蟲病毒發送郵件”項。否則會引起“Service unavailable”錯誤。

至於防火牆策略和TCP/IP篩選和IP策略相近,這裏不多說,只是在程序訪問規則中將需要訪問網絡的程序要進行相關設置。

§1.2  專用服務器的安全設置 

WEB服務器安全設置

IIS的相關設置:
刪除默認建立的站點的虛擬目錄,停止默認web站點,刪除對應的文件目錄c:inetpub,配置所有站點的公共設置,設置好相關的連接數限制,帶寬設置以及性能設置等其他設置。配置應用程序映射,刪除所有不必要的應用程序擴展,只保留asp,php,cgi,pl,aspx應用程序擴展。對於php和cgi,推薦使用isapi方式解析,用exe解析對安全和性能有所影響。用戶程序調試設置發送文本錯誤信息給客戶。對於數據庫,儘量採用mdb後綴,不需要更改爲asp,可在IIS中設置一個mdb的擴展映射,將這個映射使用一個無關的dll文件如C:WINNTsystem32inetsrvssinc.dll來防止數據庫被下載。設置IIS的日誌保存目錄,調整日誌記錄信息。設置爲發送文本錯誤信息。修改403錯誤頁面,將其轉向到其他頁,可防止一些掃描器的探測。另外爲隱藏系統信息,防止telnet到80端口所泄露的系統版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相關軟件如banneredit修改。
對於用戶站點所在的目錄,在此說明一下,用戶的FTP根目錄下對應三個文件佳,wwwroot,database,logfiles,分別存放站點文件,數據庫備份和該站點的日誌。如果一旦發生入侵事件可對該用戶站點所在目錄設置具體的權限,圖片所在的目錄只給予列目錄的權限,程序所在目錄如果不需要生成文件(如生成html的程序)不給予寫入權限。因爲是虛擬主機平常對腳本安全沒辦法做到細緻入微的地步,更多的只能在方法用戶從腳本提升權限:

ASP的安全設置:
設置過權限和服務之後,防範asp木馬還需要做以下工作,在cmd窗口運行以下命令:
regsvr32/u C:WINNTSystem32wshom.ocx 
del C:WINNTSystem32wshom.ocx
regsvr32/u C:WINNTsystem32shell32.dll
del C:WINNTsystem32shell32.dll
即可將WScript.Shell, Shell.application, WScript.Network組件卸載,可有效防止asp木馬通過wscript或shell.application執行命令以及使用木馬查看一些系統敏感信息。另法:可取消以上文件的users用戶的權限,重新啓動IIS即可生效。但不推薦該方法。
另外,對於FSO由於用戶程序需要使用,服務器上可以不註銷掉該組件,這裏只提一下FSO的防範,但並不需要在自動開通空間的虛擬商服務器上使用,只適合於手工開通的站點。可以針對需要FSO和不需要FSO的站點設置兩個組,對於需要FSO的用戶組給予c:winntsystem32scrrun.dll文件的執行權限,不需要的不給權限。重新啓動服務器即可生效。
對於這樣的設置結合上面的權限設置,你會發現海陽木馬已經在這裏失去了作用!

PHP的安全設置:
默認安裝的php需要有以下幾個注意的問題:
C:winntphp.ini只給予users讀權限即可。在php.ini裏需要做如下設置:
Safe_mode=on
register_globals = Off
allow_url_fopen = Off
display_errors = Off  
magic_quotes_gpc = On  [默認是on,但需檢查一遍]
open_basedir =web目錄
disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod
默認設置com.allow_dcom = true修改爲false[修改前要取消掉前面的;]

MySQL安全設置:
如果服務器上啓用MySQL數據庫,MySQL數據庫需要注意的安全設置爲:
刪除mysql中的所有默認用戶,只保留本地root帳戶,爲root用戶加上一個複雜的密碼。賦予普通用戶updatedeletealertcreatedrop權限的時候,並限定到特定的數據庫,尤其要避免普通客戶擁有對mysql數據庫操作的權限。檢查mysql.user表,取消不必要用戶的shutdown_priv,reload_priv,process_priv和File_priv權限,這些權限可能泄漏更多的服務器信息包括非mysql的其它信息出去。可以爲mysql設置一個啓動用戶,該用戶只對mysql目錄有權限。設置安裝目錄的data數據庫的權限(此目錄存放了mysql數據庫的數據信息)。對於mysql安裝目錄給users加上讀取、列目錄和執行權限。

Serv-u安全問題:
安裝程序儘量採用最新版本,避免採用默認安裝目錄,設置好serv-u目錄所在的權限,設置一個複雜的管理員密碼。修改serv-u的banner信息,設置被動模式端口範圍(4001—4003)
在本地服務器中設置中做好相關安全設置:包括檢查匿名密碼,禁用反超時調度,攔截“FTP bounce”攻擊和FXP,對於在30秒內連接超過3次的用戶攔截10分鐘。域中的設置爲:要求複雜密碼,目錄只使用小寫字母,高級中設置取消允許使用MDTM命令更改文件的日期。
更改serv-u的啓動用戶:在系統中新建一個用戶,設置一個複雜點的密碼,不屬於任何組。將servu的安裝目錄給予該用戶完全控制權限。建立一個FTP根目錄,需要給予這個用戶該目錄完全控制權限,因爲所有的ftp用戶上傳,刪除,更改文件都是繼承了該用戶的權限,否則無法操作文件。另外需要給該目錄以上的上級目錄給該用戶的讀取權限,否則會在連接的時候出現530 Not logged in, home directory does not exist。比如在測試的時候ftp根目錄爲d:soft,必須給d盤該用戶的讀取權限,爲了安全取消d盤其他文件夾的繼承權限。而一般的使用默認的system啓動就沒有這些問題,因爲system一般都擁有這些權限的。

數據庫服務器的安全設置

對於專用的MSSQL數據庫服務器,按照上文所講的設置TCP/IP篩選和IP策略,對外只開放1433和5631端口。對於MSSQL首先需要爲sa設置一個強壯的密碼,使用混合身份驗證,加強數據庫日誌的記錄,審覈數據庫登陸事件的”成功和失敗”.刪除一些不需要的和危險的OLE自動存儲過程(會造成企業管理器中部分功能不能使用),這些過程包括如下:
Sp_OACreate      Sp_OADestroy        Sp_OAGetErrorInfo      Sp_OAGetProperty
Sp_OAMethod       Sp_OASetProperty     Sp_OAStop
去掉不需要的註冊表訪問過程,包括有:
Xp_regaddmultistring    Xp_regdeletekey    Xp_regdeletevalue
Xp_regenumvalues        Xp_regread         Xp_regremovemultistring
Xp_regwrite
去掉其他系統存儲過程,如果認爲還有威脅,當然要小心Drop這些過程,可以在測試機器上測試,保證正常的系統能完成工作,這些過程包括:
xp_cmdshell            xp_dirtree       xp_dropwebtask  sp_addsrvrolemember
xp_makewebtask         xp_runwebtask    xp_subdirs      sp_addlogin
sp_addextendedproc
在實例屬性中選擇TCP/IP協議的屬性。選擇隱藏 SQL Server 實例可防止對1434端口的探測,可修改默認使用的1433端口。除去數據庫的guest賬戶把未經認可的使用者據之在外。 例外情況是master和 tempdb 數據庫,因爲對他們guest帳戶是必需的。另外注意設置好各個數據庫用戶的權限,對於這些用戶只給予所在數據庫的一些權限。在程序中不要用sa用戶去連接任何數據庫。網絡上有建議大家使用協議加密的,千萬不要這麼做,否則你只能重裝MSSQL了。


第二部分  入侵檢測和數據備份

§1.1  入侵檢測工作

作爲服務器的日常管理,入侵檢測是一項非常重要的工作,在平常的檢測過程中,主要包含日常的服務器安全例行檢查和遭到入侵時的入侵檢查,也就是分爲在入侵進行時的安全檢查和在入侵前後的安全檢查。系統的安全性遵循木桶原理,木桶原理指的是:一個木桶由許多塊木板組成,如果組成木桶的這些木板長短不一,那麼這個木桶的最大容量不取決於長的木板,而取決於最短的那塊木板。應用到安全方面也就是說系統的安全性取決於系統中最脆弱的地方,這些地方是日常的安全檢測的重點所在。

日常的安全檢測

日常安全檢測主要針對系統的安全性,工作主要按照以下步驟進行:
1.查看服務器狀態:
   打開進程管理器,查看服務器性能,觀察CPU和內存使用狀況。查看是否有CPU和內存佔用過高等異常情況。
2.檢查當前進程情況
   切換“任務管理器”到進程,查找有無可疑的應用程序或後臺進程在運行。用進程管理器查看進程時裏面會有一項taskmgr,這個是進程管理器自身的進程。如果正在運行windows更新會有一項wuauclt.exe進程。對於拿不準的進程或者說不知道是服務器上哪個應用程序開啓的進程,可以在網絡上搜索一下該進程名加以確定[進程知識庫:http://www.dofile.com/]。通常的後門如果有進程的話,一般會取一個與系統進程類似的名稱,如svch0st.exe,此時要仔細辨別[通常迷惑手段是變字母o爲數字0,變字母l爲數字1]
3.檢查系統帳號
   打開計算機管理,展開本地用戶和組選項,查看組選項,查看administrators組是否添加有新帳號,檢查是否有克隆帳號。
4.查看當前端口開放情況
   使用activeport,查看當前的端口連接情況,尤其是注意與外部連接着的端口情況,看是否有未經允許的端口與外界在通信。如有,立即關閉該端口並記錄下該端口對應的程序並記錄,將該程序轉移到其他目錄下存放以便後來分析。打開計算機管理==》軟件環境==》正在運行任務[在此處可以查看進程管理器中看不到的隱藏進程],查看當前運行的程序,如果有不明程序,記錄下該程序的位置,打開任務管理器結束該進程,對於採用了守護進程的後門等程序可嘗試結束進程樹,如仍然無法結束,在註冊表中搜索該程序名,刪除掉相關鍵值,切換到安全模式下刪除掉相關的程序文件。
5.檢查系統服務
   運行services.msc,檢查處於已啓動狀態的服務,查看是否有新加的未知服務並確定服務的用途。對於不清楚的服務打開該服務的屬性,查看該服務所對應的可執行文件是什麼,如果確定該文件是系統內的正常使用的文件,可粗略放過。查看是否有其他正常開放服務依存在該服務上,如果有,可以粗略的放過。如果無法確定該執行文件是否是系統內正常文件並且沒有其他正常開放服務依存在該服務上,可暫時停止掉該服務,然後測試下各種應用是否正常。對於一些後門由於採用了hook系統API技術,添加的服務項目在服務管理器中是無法看到的,這時需要打開註冊表中的HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices項進行查找,通過查看各服務的名稱、對應的執行文件來確定是否是後門、木馬程序等。
6.查看相關日誌
   運行eventvwr.msc,粗略檢查系統中的相關日誌記錄。在查看時在對應的日誌記錄上點右鍵選“屬性”,在“篩選器”中設置一個日誌篩選器,只選擇錯誤、警告,查看日誌的來源和具體描述信息。對於出現的錯誤如能在服務器常見故障排除中找到解決辦法則依照該辦法處理該問題,如果無解決辦法則記錄下該問題,詳細記錄下事件來源、ID號和具體描述信息,以便找到問題解決的辦法。
7.檢查系統文件
   主要檢查系統盤的exe和dll文件,建議系統安裝完畢之後用dir *.exe /s >1.txt將C盤所有的exe文件列表保存下來,然後每次檢查的時候再用該命令生成一份當時的列表,用fc比較兩個文件,同樣如此針對dll文件做相關檢查。需要注意的是打補丁或者安裝軟件後重新生成一次原始列表。檢查相關係統文件是否被替換或系統中是否被安裝了木馬後門等惡意程序。必要時可運行一次殺毒程序對系統盤進行一次掃描處理。
8.檢查安全策略是否更改
   打開本地連接的屬性,查看“常規”中是否只勾選了“TCP/IP協議”,打開“TCP/IP”協議設置,點“高級”==》“選項”,查看“IP安全機制”是否是設定的IP策略,查看“TCP/IP”篩選允許的端口有沒有被更改。打開“管理工具”=》“本地安全策略”,查看目前使用的IP安全策略是否發生更改。
9.檢查目錄權限
   重點查看系統目錄和重要的應用程序權限是否被更改。需要查看的目錄有c:;c:winnt;
   C:winntsystem32;c:winntsystem32inetsrv;c:winntsystem32inetsrvdata;c:documents and
   Settings;然後再檢查serv-u安裝目錄,查看這些目錄的權限是否做過變動。檢查system32下的一些重要文件是否更改過權限,包括:cmd,net,ftp,tftp,cacls等文件。
10.檢查啓動項
   主要檢查當前的開機自啓動程序。可以使用AReporter來檢查開機自啓動的程序。

發現入侵時的應對措施

對於即時發現的入侵事件,以下情況針對系統已遭受到破壞情況下的處理,系統未遭受到破壞或暫時無法察覺到破壞先按照上述的檢查步驟檢查一遍後再酌情考慮以下措施。系統遭受到破壞後應立即採取以下措施:
視情況嚴重決定處理的方式,是通過遠程處理還是通過實地處理。如情況嚴重建議採用實地處理。如採用實地處理,在發現入侵的第一時間通知機房關閉服務器,待處理人員趕到機房時斷開網線,再進入系統進行檢查。如採用遠程處理,如情況嚴重第一時間停止所有應用服務,更改IP策略爲只允許遠程管理端口進行連接然後重新啓動服務器,重新啓動之後再遠程連接上去進行處理,重啓前先用AReporter檢查開機自啓動的程序。然後再進行安全檢查。

以下處理措施針對用戶站點被入侵但未危及系統的情況,如果用戶要求加強自己站點的安全性,可按如下方式加固用戶站點的安全:
  
站點根目錄----只給administrator讀取權限,權限繼承下去。
wwwroot ------給web用戶讀取、寫入權限。高級裏面有刪除子文件夾和文件權限
logfiles------給system寫入權限。
database------給web用戶讀取、寫入權限。高級裏面沒有刪除子文件夾和文件權限

如需要進一步修改,可針對用戶站點的特性對於普通文件存放目錄如html、js、圖片文件夾只給讀取權限,對asp等腳本文件給予上表中的權限。另外查看該用戶站點對應的安全日誌,找出漏洞原因,協助用戶修補程序漏洞。

§1.2  數據備份和數據恢復

數據備份工作大致如下:
1.    每月備份一次系統數據。
2.    備份系統後的兩週單獨備份一次應用程序數據,主要包括IIS、serv-u、數據庫等數據。
3.    確保備份數據的安全,並分類放置這些數據備份。因基本上採用的都是全備份方法,對於數據的保留週期可以只保留該次備份和上次備份數據兩份即可。

數據恢復工作:
1.系統崩潰或遇到其他不可恢復系統正常狀態情況時,先對上次系統備份後發生的一些更改事件如應用程序、安全策略等的設置做好備份,恢復完系統後再恢復這些更改。
2.應用程序等出錯採用最近一次的備份數據恢複相關內容。


第三部分  服務器性能優化

§3.1  服務器性能優化

系統性能優化
整理系統空間:
刪除系統備份文件,刪除驅動備份,刪除不用的輸入法,刪除系統的幫助文件,卸載不常用的組件。最小化C盤文件。
性能優化:
刪除多餘的開機自動運行程序;減少預讀取,減少進度條等待時間;讓系統自動關閉停止響應的程序;禁用錯誤報告,但在發生嚴重錯誤時通知;關閉自動更新,改爲手動更新計算機;
啓用硬件和DirectX加速;禁用關機事件跟蹤;禁用配置服務器嚮導; 減少開機磁盤掃描等待時間;將處理器計劃和內存使用都調到應用程序上;調整虛擬內存;內存優化;修改cpu的二級緩存;修改磁盤緩存。

IIS性能優化
1、調整IIS高速緩存
HKEY_LOCAL_MACHINE SystemCurrentControlSetServicesInetInfoParametersMemoryCacheSize
MemoryCacheSize的範圍是從0道4GB,缺省值爲3072000(3MB)。一般來說此值最小應設爲服務器內存的10%。IIS通過高速緩存系統句柄、目錄列表以及其他常用數據的值來提高系統的性能。這個參數指明瞭分配給高速緩存的內存大小。如果該值爲0,那就意味着“不進行任何高速緩存”。在這種情況下系統的性能可能會降低。如果你的服務器網絡通訊繁忙,並且有足夠的內存空間,可以考慮增大該值。必須注意的是修改註冊表後,需要重新啓動才能使新值生效。

2.不要關閉系統服務: “Protected Storage”

3.對訪問流量進行限制
A.對站點訪問人數進行限制
B.站點帶寬限制。保持HTTP連接。
C.進程限制, 輸入CPU的耗用百分比

4.提高IIS的處理效率
應用程序設置”處的“應用程序保護”下拉按鈕,從彈出的下拉列表中,選中“低(IIS進程)”選項,IIS服務器處理程序的效率可以提高20%左右。但此設置會帶來嚴重的安全問題,不值得推薦。

5.將IIS服務器設置爲獨立的服務器
   A.提高硬件配置來優化IIS性能
硬盤:硬盤空間被NT和IIS服務以如下兩種方式使用:一種是簡單地存儲數據;另一種是作爲虛擬內存使用。如果使用Ultra2的SCSI硬盤,可以顯著提高IIS的性能
B.可以把NT服務器的頁交換文件分佈到多個物理磁盤上,注意是多個“物理磁盤”,分佈在多個分區上是無效的。另外,不要將頁交換文件放在與WIndows NT引導區相同的分區中
C.使用磁盤鏡像或磁盤帶區集可以提高磁盤的讀取性能
D.最好把所有的數據都儲存在一個單獨的分區裏。然後定期運行磁盤碎片整理程序以保證在存儲Web服務器數據的分區中沒有碎片。使用NTFS有助於減少碎片。推薦使用Norton的Speeddisk,可以很快的整理NTFS分區。

6.起用HTTP壓縮
   HTTP壓縮是在Web服務器和瀏覽器間傳輸壓縮文本內容的方法。HTTP壓縮採用通用的壓縮算法如gzip等壓縮HTML、JavaScript或CSS文件。可使用pipeboost進行設置。

7.起用資源回收
   使用IIS5Recycle定時回收進程資源。

§3.2  服務器常見故障排除

1.    ASP“請求的資源正在使用中”的解決辦法:
該問題一般與殺毒軟件有關,在服務器上安裝個人版殺毒軟件所致。出現這種錯誤可以通過卸載殺毒軟件解決,也可嘗試重新註冊vbscript.dll和jscript.dll來解決,在命令行下運行:regsvr32 vbscript.dll 和regsvr32 jscript.dll即可。

2.ASP500錯誤解決辦法:
首先確定該問題是否是單一站點存在還是所有站點存在,如果是單一站點存在該問題,則是網站程序的問題,可打開該站點的錯誤提示,把IE的“顯示友好HTTP錯誤”信息取消,查看具體錯誤信息,然後對應修改相關程序。如是所有站點存在該問題,並且HTML頁面沒有出現該問題,相關日誌出現“服務器無法加載應用程序‘/LM/W3SVC/1/ROOT‘。錯誤是 ‘不支持此接口‘”。那十有八九是服務器系統中的ASP相關組件出現了問題,重新啓動IIS服務,嘗試是否可以解決該問題,無法解決重新啓動系統嘗試是否可解決該問題,如無法解決可重新修復一下ASP組件:首先刪除com組件中的關於IIS的三個東西,需要先將屬性裏的高級中“禁止刪除”的勾選取消。
命令行中,輸入“cd winntsystem32inetsrv”字符串命令,單擊回車鍵後,再執行“rundll32 wamreg.dll,CreateIISPackage”命令,接着再依次執行“regsvr32 asptxn.dll”命令、“iisreset”命令,最後重新啓動一下計算機操作系統,這樣IIS服務器就能重新正確響應ASP腳本頁面了。

3. IIS出現105錯誤:
在系統日誌中“服務器無法註冊管理工具發現信息。管理工具可能無法看到此服務器” 來源:w3svc  ID:105
解決辦法:在網絡連接中重新安裝netbios協議即可,安裝完成之後取消掉勾選。

4.MySQL服務無法啓動【錯誤代碼1067】的解決方法
啓動MySQL服務時都會在中途報錯!內容爲:在 本地計算機 無法啓動MySQL服務 錯誤1067:進程意外中止。
解決方法:查找Windows目錄下的my.ini文件,編輯內容(如果沒有該文件,則新建一個),至少包含
basedir,datadir這兩個基本的配置。
[mysqld]
# set basedir to installation path, e.g., c:/mysql
# 設置爲MYSQL的安裝目錄
basedir=D:/www/WebServer/MySQL
# set datadir to location of data directory,
# e.g., c:/mysql/data or d:/mydata/data
# 設置爲MYSQL的數據目錄
datadir=D:/www/WebServer/MySQL/data
注意,我在更改系統的temp目錄之後沒有對更改後的目錄給予system用戶的權限也出現過該問題。

5.DllHotst進程消耗cpu 100%的問題
服務器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現這種問題的服務器,CPU會突然一直處100%的水平,而且不會下降。查看任務管理器,可以發現是DLLHOST.EXE消耗了所有的CPU空閒時間,管理員在這種情況下,只好重新啓動IIS服務,奇怪的是,重新啓動IIS服務後一切正常,但可能過了一段時間後,問題又再次出現了。
直接原因:
有一個或多個ACCESS數據庫在多次讀寫過程中損壞, MDAC系統在寫入這個損壞的ACCESS文件時,ASP線程處於BLOCK狀態,結果其他線程只能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST中。
解決辦法:
把數據庫下載到本地,然後用ACCESS打開,進行修復操作。再上傳到網站。如果還不行,只有新建一個ACCESS數據庫,再從原來的數據庫中導入所有表和記錄。然後把新數據庫上傳到服務器上。

   6.Windows installer出錯:
   在安裝軟件的時候出現“不能訪問windows installer 服務。可能你在安全模式下運行 windows ,或者windows installer 沒有正確的安裝。請和你的支持人員聯繫以獲得幫助” 如果試圖重新安裝InstMsiW.exe,提示:“指定的服務已存在”。
   解決辦法:
   關於installer的錯誤,可能還有其他錯誤提示,可嘗試以下解決辦法:
   首先確認是否是權限方面的問題,提示信息會提供相關信息,如果是權限問題,給予winnt目錄everyone權限即可[安裝完把權限改回來即可]。如果提示的是上述信息,可以嘗試以下解決方法:運行“msiexec /unregserver”卸載Windows Installer服務,如果無法卸載可使用SRVINSTW進行卸載,然後下載windows installer的安裝程序[地址:http://www.newhua.com/cfan/200410/instmsiw.exe],用winrar解壓該文件,在解壓縮出來的文件夾裏面找到msi.inf文件,右鍵單擊選擇“安裝”,重新啓動系統後運行“msiexec /regserver”重新註冊Windows Installer服務。


第四部分  服務器管理

§4.1  服務器日常管理安排

服務器管理工作必須規範嚴謹,尤其在不是隻有一位管理員的時候,日常管理工作包括:
1.服務器的定時重啓。每臺服務器保證每週重新啓動一次。重新啓動之後要進行復查,確認服務器已經啓動了,確認服務器上的各項服務均恢復正常。對於沒有啓動起來或服務未能及時恢復的情況要採取相應措施。前者可請求託管商的相關工作人員幫忙手工重新啓動,必要時可要求讓連接上顯示器確認是否已啓動起來;後者需要遠程登陸上服務器進行原因查找並根據原因嘗試恢復服務。
2.服務器的安全、性能檢查,每服務器至少保證每週登陸兩次粗略檢查兩次。每次檢查的結果要求進行登記在冊。如需要使用一些工具進行檢查,可直接在e:tools中查找到相關工具。對於臨時需要從網絡上找的工具,首先將IE的安全級別調整到高,然後在網絡上進行查找,不要去任何不明站點下載,儘量選擇如華軍、天空等大型網站進行下載,下載後確保當前殺毒軟件已升級到最新版本,升級完畢後對下載的軟件進行一次殺毒,確認正常後方能使用。對於下載的新工具對以後維護需要使用的話,將該工具保存到e:tools下,並在該目錄中的readme.txt文件中做好相應記錄,記錄該工具的名稱,功能,使用方法。並且在該文件夾中的rar文件夾中保留一份該工具的winrar壓縮文件備份,設置解壓密碼。
3.服務器的數據備份工作,每服務器至少保證每月備份一次系統數據,系統備份採用ghost方式,對於ghost文件固定存放在e:ghost文件目錄下,文件名以備份的日期命名,如0824.gho,每服務器至少保證每兩週備份一次應用程序數據,每服務器至少保證每月備份一次用戶數據,備份的數據固定存放在e:databak文件夾,針對各種數據再建立對應的子文件夾,如serv-u用戶數據放在該文件夾下的servu文件夾下,iis站點數據存放在該文件夾下的iis文件夾下。
4.服務器的監控工作,每天正常工作期間必須保證監視所有服務器狀態,一旦發現服務停止要及時採取相應措施。對於發現服務停止,首先檢查該服務器上同類型的服務是否中斷,如所有同類型的服務都已中斷及時登陸服務器查看相關原因並針對該原因嘗試重新開啓對應服務。
5.服務器的相關日誌操作,每服務器保證每月對相關日誌進行一次清理,清理前對應的各項日誌如應用程序日誌、安全日誌、系統日誌等都應選擇“保存日誌”。所有的日誌文件統一保存在e:logs下,應用程序日誌保存在e:logsapp中,系統程序日誌保存在e:logssys中,安全日誌保存在e:logssec中。對於另外其他一些應用程序的日誌,也按照這個方式進行處理,如ftp的日誌保存在e:logsftp中。所有的備份日誌文件都以備份的日期命名,如20050824.evt。對於不是單文件形式的日誌,在對應的記錄位置下建立一個以日期命名的文件夾,將這些文件存放在該文件夾中。
6.服務器的補丁修補、應用程序更新工作,對於新出的漏洞補丁,應用程序方面的安全更新一定要在發現的第一時間給每服務器打上應用程序的補丁。
7.服務器的隱患檢查工作,主要包括安全隱患、性能等方面。每服務器必須保證每月重點的單獨檢查一次。每次的檢查結果必須做好記錄。
8.不定時的相關工作,每服務器由於應用軟件更改或其他某原因需要安裝新的應用程序或卸載應用程序等操作必須知會所有管理員。
9.定期的管理密碼更改工作,每服務器保證至少每兩個月更改一次密碼,對於SQL服務器由於如果SQL採用混合驗證更改系統管理員密碼會影響數據庫的使用則不予修改。

相關建議:對每服務器設立一個服務器管理記載,管理員每次登陸系統都應該在此中進行詳細的記錄,共需要記錄以下幾項:登入時間,退出時間,登入時服務器狀態[包含不明進程記錄,端口連接狀態,系統帳號狀態,內存/CPU狀態],詳細操作情況記錄[詳細記錄下管理員登陸系統後的每一步操作]。無論是遠程登陸操作還是物理接觸操作都要進行記錄,然後將這些記錄按照各服務器歸檔,按時間順序整理好文檔。
對於數據備份、服務器定時重啓等操作建議將服務器分組,例如分成四組,每月的週六晚備份一組服務器的數據,每週的某一天定時去重啓一組的服務器,這樣對於工作的開展比較方便,這些屬於固定性的工作。另外有些工作可以同步進行,如每月一次的數據備份、安全檢查和管理員密碼修改工作,先進行數據備份,然後進行安全檢查,再修改密碼。對於需要的即時操作如服務器補丁程序的安裝、服務器不定時的故障維護等工作,這些屬於即時性的工作,但是原則上即時性的工作不能影響固定工作的安排。

§4.2  管理員日常注意事項

在服務器管理過程中,管理員需要注意以下事項:
1.對自己的每一次操作應做好詳細記錄,具體見上述建議,以便於後來檢查。
2.努力提高自身水平,加強學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章