win2003服務器安全配置全套詳解_Windows教程

      編輯Tag賺U幣

      其實,在服務器的安全設置方面,我雖然有一些經驗,但是還談不上有研究,所以我寫這篇文章的時候心里很不踏實,總害怕說錯了會誤了別人的事。

      本文更側重于防止ASP漏洞攻擊,所以服務器防黑等方面的講解可能略嫌少了點。
      基本的服務器安全設置
      安裝補丁
      安裝好操作系統之后,最好能在托管之前就完成補丁的安裝,配置好網絡后,如果是2000則確定安裝上了SP4,如果是2003,則最好安裝上SP1,然后點擊開始→Windows Update,安裝所有的關鍵更新。
      安裝殺毒軟件
      雖然殺毒軟件有時候不能解決問題,但是殺毒軟件避免了很多問題。我一直在用諾頓2004,據說2005可以殺木馬,不過我沒試過。還有人用瑞星,瑞星是確定可以殺木馬的。更多的人說卡巴司機好,不過我沒用過。
      不要指望殺毒軟件殺掉所有的木馬,因為ASP木馬的特征是可以通過一定手段來避開殺毒軟件的查殺。
      設置端口保護和防火墻、刪除默認共享
      都是服務器防黑的措施,即使你的服務器上沒有IIS,這些安全措施都最好做上。這是阿江的盲區,大概知道屏蔽端口用本地安全策略,不過這方面的東西網上攻略很多,大家可以擻出來看看,晚些時候我或者會復制一些到我的網站上。
      權限設置
      阿江感覺這是防止ASP漏洞攻擊的關鍵所在,優秀的權限設置可以將危害減少在一個IIS站點甚至一個虛擬目錄里。我這里講一下原理和設置思路,聰明的朋友應該看完這個就能解決問題了。
      權限設置的原理
      WINDOWS用戶,在WINNT系統中大多數時候把權限按用戶(組)來劃分。在【開始→程序→管理工具→計算機管理→本地用戶和組】管理系統用戶和用戶組。
      NTFS權限設置,請記住分區的時候把所有的硬盤都分為NTFS分區,然后我們可以確定每個分區對每個用戶開放的權限。【文件(夾)上右鍵→屬性→安全】在這里管理NTFS文件(夾)權限。
      IIS匿名用戶,每個IIS站點或者虛擬目錄,都可以設置一個匿名訪問用戶(現在暫且把它叫“IIS匿名用戶”),當用戶訪問你的網站的.ASP文件的時候,這個.ASP文件所具有的權限,就是這個“IIS匿名用戶”所具有的權限。
      權限設置的思路
      要為每個獨立的要保護的個體(比如一個網站或者一個虛擬目錄)創建一個系統用戶,讓這個站點在系統中具有惟一的可以設置權限的身份。
      在IIS的【站點屬性或者虛擬目錄屬性→目錄安全性→匿名訪問和驗證控制→編輯→匿名訪問→編輯】填寫剛剛創建的那個用戶名。
      設置所有的分區禁止這個用戶訪問,而剛才這個站點的主目錄對應的那個文件夾設置允許這個用戶訪問(要去掉繼承父權限,并且要加上超管組和SYSTEM組)。
      這樣設置了之后,這個站點里的ASP程序就只有當前這個文件夾的權限了,從探針上看,所有的硬盤都是紅叉叉。
      我的設置方法
      我是先創建一個用戶組,以后所有的站點的用戶都建在這個組里,然后設置這個組在各個分區沒有權限或者完全拒絕。然后再設置各個IIS用戶在各在的文件夾里的權限。
      因為比較多,所以我很不想寫,其實知道了上面的原理,大多數人都應該懂了,除非不知道怎么添加系統用戶和組,不知道怎么設置文件夾權限,不知道IIS站點屬性在那里。真的有那樣的人,你也不要著急,要沉住氣慢慢來,具體的方法其實自己也能摸索出來的,我就是這樣。當然,如果我有空,我會寫我的具體設置方法,很傲能還會配上圖片。
      改名或卸載不安全組件
      不安全組件不驚人
      我的在阿江探針1.9里加入了不安全組件檢測功能(其實這是參考7i24的代碼寫的,只是把界面改的友好了一點,檢測方法和他是基本一樣的),這個功能讓很多站長吃驚不小,因為他發現他的服務器支持很多不安全組件。
      其實,只要做好了上面的權限設置,那么FSO、XML、strem都不再是不安全組件了,因為他們都沒有跨出自己的文件夾或者站點的權限。那個歡樂時光更不用怕,有殺毒軟件在還怕什么時光啊。
      最危險的組件是WSH和Shell,因為它可以運行你硬盤里的EXE等程序,比如它可以運行提升程序來提升SERV-U權限甚至用SERVU來運行更高權限的系統程序。
      謹慎決定是否卸載一個組件
      組件是為了應用而出現的,而不是為了不安全而出現的,所有的組件都有它的用處,所以在卸載一個組件之前,你必須確認這個組件是你的網站程序不需要的,或者即使去掉也不關大體的。否則,你只能留著這個組件并在你的ASP程序本身上下工夫,防止別人進來,而不是防止別人進來后SHELL。
      比如,FSO和XML是非常常用的組件之一,很多程序會用到他們。WSH組件會被一部分主機管理程序用到,也有的打包程序也會用到。
      一、操作系統配置
      1.安裝操作系統(NTFS分區)后,裝殺毒軟件,我選用的是卡巴。
      2.安裝系統補丁。掃描漏洞全面殺毒
      3.刪除Windows Server 2003默認共享
      首先編寫如下內容的批處理文件:

       

      @echo off
      net share C$ /del
      net share D$ /del
      net share E$ /del
      net share F$ /del
      net share admin$ /del


      文件名為delshare.bat,放到啟動項中,每次開機時會自動刪除共享。
      4.禁用IPC連接
      打開CMD后輸入如下命令即可進行連接:net use\\ip\ipc$ "password" /user:"usernqme"。我們可以通過修改注冊表來禁用IPC連接。打開注冊表編輯器。找到如下組建HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa中的restrictanonymous子鍵,將其值改為1即可禁用IPC連接。
      5.刪除"網絡連接"里的協議和服務
      在"網絡連接"里,把不需要的協議和服務都刪掉,這里只安裝了基本的Internet協議(TCP/IP),同時在高級tcp/ip設置里--"NetBIOS"設置"禁用tcp/IP上的NetBIOS(S)"。
      6.啟用windows連接防火墻,只開放web服務(80端口)。
      注:在2003系統里,不推薦用TCP/IP篩選里的端口過濾功能,譬如在使用FTP服務器的時候,如果僅僅只開放21端口,由于FTP協議的特殊性,在進行FTP傳輸的時候,由于FTP 特有的Port模式和Passive模式,在進行數據傳輸的時候,需要動態的打開高端口,所以在使用TCP/IP過濾的情況下,經常會出現連接上后無法列出目錄和數據傳輸的問題。所以在2003系統上增加的windows連接防火墻能很好的解決這個問題,所以都不推薦使用網卡的TCP/IP過濾功能。
      7.磁盤權限
      系統盤只給 Administrators 和 SYSTEM 權限
      系統盤\Documents and Settings 目錄只給 Administrators 和 SYSTEM 權限;
      系統盤\Documents and Settings\All Users 目錄只給 Administrators 和 SYSTEM 權限;
      系統盤\Documents and Settings\All Users\Application Data目錄只給 Administrators 和 SYSTEM 權限;
      系統盤\Windows 目錄只給 Administrators 、 SYSTEM 和 users 權限;
      系統盤\Windows\System32\net.exe;net1.exe;cmd.exe;command.exeftp.exe;netstat.exe;regedit.exe;at.exe;attrib.exe;cacls.exe 文件只給 Administrators 權限(如果覺得沒用就刪了它,比如我刪了cmd.exe,command.exe,嘿嘿。);
      其它盤,有安裝程序運行的(我的sql server 2000 在D盤)給 Administrators 和 SYSTEM 權限,無只給 Administrators 權限。
      8.本地安全策略設置
      開始菜單—>管理工具—>本地安全策略
      A、本地策略——>審核策略 (可選用)
      審核策略更改 成功 失敗
      審核登錄事件 成功 失敗
      審核對象訪問 失敗
      審核過程跟蹤 無審核
      審核目錄服務訪問 失敗
      審核特權使用 失敗
      審核系統事件 成功 失敗
      審核賬戶登錄事件 成功 失敗
      審核賬戶管理 成功 失敗
      B、本地策略——>用戶權限分配
      關閉系統:只有Administrators組、其它全部刪除。
      通過終端服務拒絕登陸:加入Guests、Users組
      通過終端服務允許登陸:只加入Administrators組,其他全部刪除
      C、本地策略——>安全選項
      交互式登陸:不顯示上次的用戶名 啟用
      網絡訪問:可匿名訪問的共享 全部刪除
      網絡訪問:可匿名訪問的命名管道 全部刪除
      **網絡訪問:可遠程訪問的注冊表路徑 全部刪除
      **網絡訪問:可遠程訪問的注冊表路徑和子路徑 全部刪除
      帳戶:重命名來賓帳戶 重命名一個帳戶
      (下面一項更改可能導致sqlserver不能使用)
      帳戶:重命名系統管理員帳戶 重命名一個帳戶
      二、iis配置(包括網站所在目錄)
      1.新建自己的網站(*注意:在應用程序設置中執行權限設為無,在需要的目錄里再更改),目錄不在系統盤
      注:為支持asp.net,將系統盤\Inetpub\wwwroot中的aspnet_client文件夾復制到web根目錄下,并給web根目錄加上users權限。
      2.刪掉系統盤\inetpub目錄
      3.刪除不用的映射
      在"應用程序配置"里,只給必要的腳本執行權限:ASP、ASPX。
      4.為網站創建系統用戶
      A.例如:網站為yushan43436.net,新建用戶yushan43436.net權限為guests。然后在web站點屬性里"目錄安全性"---"身份驗證和訪問控制"里設置匿名訪問使用下列Windows 用戶帳戶"的用戶名和密碼都使用yushan43436.net這個用戶的信息。(用戶名:主機名\yushan43436.net)
      B.給網站所在的磁盤目錄添加用戶yushan43436.net,只給讀取和寫入的權限。
      5.設置應用程及子目錄的執行權限
      A.主應用程序目錄中的"屬性--應用程序設置--執行權限"設為純腳本
      B.在不需要執行asp、asp.net的子目錄中,例如上傳文件目錄,執行權限設為無
      6.應用程序池設置
      我的網站使用的是默認應用程序池。設置"內存回收":這里的最大虛擬內存為:1000M,最大使用的物理內存為256M,這樣的設置幾乎是沒限制這個站點的性能的。
      回收工作進程(分鐘):1440
      在下列時間回收工作進程:06:00
      三、sql server 2000 配置
      1.密碼設置
      我編的程序用了sa用戶,密碼設置超復雜(自己記不住,保存在手機里,嘿嘿)。
      2.刪除危險的擴展存儲過程和相關.dll。
      3.Xp_cmdshell(這個肯定首當其沖,不用說了)、Xp_regaddmultistring、Xp_regdeletekey、Xp_regdeletevalue、Xp_regenumvalues、Xp_regread、Xp_regwrite、Xp_regremovemultistring
      漏洞一直很多前段時間我自己的服務器就出現了一個sql的臨時儲存過程漏洞漏洞擴展:xp_dirtree儲存過程。
        事前:最近發現一個漏洞是sql服務器造成的
      前幾天正好沒有什么事情,就用阿d的sql注入工具對自己服務器的網站進行注入,偶然發現了使用mssql的網站浸染可以利用sql注入的形式得到整個服務器上所有目錄(我的服務器作了安全設置的)依然可以看見,然后在服務器上安裝了一個抓包工具對sql server進行抓包發現,使用工具連接sql漏洞xp_dirtree讀取目錄,可獲得整個服務器目錄,如列出c盤目錄他會把你c盤下的所有目錄列出來,這樣是很不安全的,目前是只可以查處目錄上穿東西,大家可以設想一下,如果我隨意修改一個boot.ini覆蓋了c盤的boot.ini是一個什么概念,呵呵首先可以導致服務其癱瘓,無法讀取系統
      解決方案:刪除xp_dirtree,命令是sp_dropextendedproc 'xp_dirtree'
      刪除了以上的那個組建您在使用阿d或者任何的sql注入工具都是白搭
        在這里也給大家提供一些其他sql危險的儲存過程
        建議刪除
        [注意:所有刪除sql儲存過程的操作必須在mssql查詢分析器里操作,下面哪些前面的是儲存過程的名字后面是刪除儲存過程的命令]
      先來列出危險的內置存儲過程:

       

      xp_cmdshell sp_dropextendedproc 'xp_cmdshell'
      xp_regaddmultistring sp_dropextendedproc 'xp_regaddmultistring'
      xp_regdeletekey sp_dropextendedproc 'xp_regdeletekey'
      xp_regdeletevalue sp_dropextendedproc 'xp_regdeletevalue'
      xp_regenumkeys sp_dropextendedproc 'xp_regenumkeys'
      xp_regenumvalues sp_dropextendedproc 'xp_regenumvalues'
      xp_regread sp_dropextendedproc 'xp_regread'
      xp_regremovemultistring sp_dropextendedproc 'xp_regremovemultistring'
      xp_regwrite sp_dropextendedproc 'xp_regwrite'


      ActiveX腳本:

       

      sp_OACreate sp_dropextendedproc 'sp_OACreate'
      sp_OADestroy sp_dropextendedproc 'sp_OADestroy'
      sp_OAMethod sp_dropextendedproc 'sp_OAMethod'
      sp_OAGetProperty sp_dropextendedproc 'sp_OAGetProperty'
      sp_OAGetErrorInfo sp_dropextendedproc 'sp_OAGetErrorInfo'
      sp_OAStop sp_dropextendedproc 'sp_OAStop'


      四、其它設置(可選用,本人可不負責)
      1.任何用戶密碼都要復雜,不需要的用戶---刪。
      2.防止SYN洪水攻擊
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
      新建DWORD值,名為SynAttackProtect,值為2
      3.禁止響應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.禁用DCOM:
      運行中輸入 Dcomcnfg.exe。 回車, 單擊“控制臺根節點”下的“組件服務”。 打開“計算機”子文件夾。
      對于本地計算機,請以右鍵單擊“我的電腦”,然后選擇“屬性”。選擇“默認屬性”選項卡。
      清除“在這臺計算機上啟用分布式 COM”復選框。
      7.卸載不安全組件。
      [code]
      regsvr32/u C:\Windows\System32\wshom.ocx
      regsvr32/u C:\Windows\System32\shell32.dll 在CMD 下執行以上兩個命令。
      五.防止Serv-U權限提升
      其實,注銷了Shell組件之后,侵入者運行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設置一下為好。
      用Ultraedit打開ServUDaemon.exe查找Ascii:LocalAdministrator,和[email=#l@$ak#.lk;0@P]#l@$ak#.lk;0@P[/email],修改成等長度的其它字符就可以了,ServUAdmin.exe也一樣處理。
      另外注意設置Serv-U所在的文件夾的權限,不要讓IIS匿名用戶有讀取的權限,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。
      利用ASP漏洞攻擊的常見方法及防范
      一般情況下,黑客總是瞄準論壇等程序,因為這些程序都有上傳功能,他們很容易的就可以上傳ASP木馬,即使設置了權限,木馬也可以控制當前站點的所有文件了。另外,有了木馬就然后用木馬上傳提升工具來獲得更高的權限,我們關閉shell組件的目的很大程度上就是為了防止攻擊者運行提升工具。
      如果論壇管理員關閉了上傳功能,則黑客會想辦法獲得超管密碼,比如,如果你用動網論壇并且數據庫忘記了改名,人家就可以直接下載你的數據庫了,然后距離找到論壇管理員密碼就不遠了。
      作為管理員,我們首先要檢查我們的ASP程序,做好必要的設置,防止網站被黑客進入。另外就是防止攻擊者使用一個被黑的網站來控制整個服務器,因為如果你的服務器上還為朋友開了站點,你可能無法確定你的朋友會把他上傳的論壇做好安全設置。這就用到了前面所說的那一大堆東西,做了那些權限設置和防提升之后,黑客就算是進入了一個站點,也無法破壞這個網站以外的東西。
      后記
      也許有安全高手或者破壞高手看了我的文章會嘲笑或者竊喜,但我想我的經驗里畢竟還是存在很多正確的地方,有千千萬萬的比我知道的更少的人像我剛開始完全不懂的時候那樣在渴求著這樣一篇文章,所以我必須寫,我不管別人怎么說我,我也不怕后世會有千千萬萬的人對我唾罵,我一個人承擔下來,我也沒有娘子需要交代的……
      因為這其實只是拋磚引玉的做法,從別人的笑聲中,我和我的讀者們都可以學到更多有用的東西。

      來源:網絡搜集//所屬分類:Windows教程/更新時間:2011-12-08
      相關Windows教程