Windows2003服務器安全配置的一些思路

今天既然大家提出讓我簡單寫個東西,那麼我就簡單整理一下拿出來獻醜了,權當入門的基本配置。我也沒多少時間關注安全問題,很多思想也是拜讀其他高手的一些資料而得到的。如下的一些配置主要是 針對 WIN2003和NTFS格式的,而且是提供網絡服務的,不是客戶端電腦(客戶端電腦自己去安裝一些防***間諜病毒或防火牆或其他,注意跟蹤目前的較新的反彈式***技術,簡單的***的隱蔽無非就是註冊表、Win.ini、System.ini、Autoexec.bat、Congfig.sys、Winstart.bat、Wininit.ini、啓動組等地方,仔細點一般可找出)。
(1)系統升級、打操作系統補丁,尤其是IIS 6.0補丁、SQL SP3a補丁,甚至IE 6.0補丁也要打。到教科網計算機安全網上下載,也可以自己到微軟升級網站或用瑞星的最新版掃描或其他,工具很多。要早點下載下來。其實,服務器端,把不要的東西刪除,如Telnet、Wins等一般禁用或刪除。不要直接在服務器端運行和訪問其他網站(至少可以防止jpeg、vbs病毒等,當然也要打上JPEG漏洞補丁)。基本這些問題就不大了。運行 netstat –an 一目瞭然。漏洞的通知速度,我倒建議除了微軟外,到瑞星網站看看:http://it.rising.com.cn/newSite/Channels/Safety/LatestHole/index.htm
(2)將FSO、WSH、Ado..Stream、Ditction..、shell.application等禁止(如:Regsvr32 /u scrrun.dll)或修改註冊表中名稱(推薦後者!)。方法在後面會說明。地球人都知道。
(3)停掉Guest 帳號、並給guest 加一個異常複雜的密碼(反正不用,亂敲一通)。
(4)把Adm…改名或僞裝(比如改爲guest6,那麼最好同時創建10來個如guest1――guest10等不同的帳號,但權限都極低,密碼超級複雜,在帳號安全策略中,甚至都不允許他們進行本極登錄,干擾視線),創建陷阱帳號(假的Administrator帳號,實際權限非常低),並在試圖嘗試的login scripts上做點手腳。當然,真正的帳號密碼必須設置特殊字符和足夠強度。
(5)關閉不必要的端口,在\system32\drivers\etc\services中有列表。網上鄰居>屬性>本地連接>屬性>internet 協議(tcp/ip)>屬性>高級>選項>tcp/ip篩選>屬性 打開tcp/ip篩選,添加需要的tcp,udp,協議即可。
(6)如果懶惰的話,最簡單的方法是啓用WIN2003的自身帶的網絡防火牆,並進行端口的改變。功能還可以!Internet 連接防火牆可以有效地攔截對Windows 2003服務器的非法***,防止非法遠程主機對服務器的掃描,提高Windows 2003服務器的安全性。同時,也可以有效攔截利用操作系統漏洞進行端口***的病毒,如衝擊波等蠕蟲病毒。如果在用Windows 2003構造的虛擬路由器上啓用此防火牆功能,能夠對整個內部網絡起到很好的保護作用。
網絡->本地鏈接狀態->高級->通過限制或阻止….來保護我的計算機,選中,並進行設置。剩下的就簡單了。開必要的端口,如80、25、110等,要注意做安全日誌。上面也有設置。但最好手工修改註冊表。比如,把3389註冊表中修改爲××××端口,然後再通過防火牆映射爲外部端口××××,內部端口××××。這樣基本可以了。註冊表中至少要修改4個地方,不過主要與PortNumber這個參數值有關,也方便找。我等會做個reg文件,運行一下就好了。
遠程桌面端口:3389->××××->××××(這個肯定是要改變的)
SQL SERVER:1434->×××    同時隱藏SQL 實例
FTP端口21->××××

(7)打開審覈策略!這個也非常重要,必須開啓。當有人嘗試***時,都會被安全審覈記錄下來。比如下表:
         策略 設置
審覈系統登陸事件 成功,失敗
審覈帳戶管理 成功,失敗
審覈登陸事件 成功,失敗
審覈對象訪問 成功
審覈策略更改 成功,失敗
審覈特權使用 成功,失敗
審覈系統事件 成功,失敗

(8)禁止建立空連接。可視化修改是這樣:在管理工具->本地安全策略->選擇本地策略->選擇安全選項->網絡訪問:不允許SAM帳號和共享的匿名枚舉(改成已啓用)!
       或者修改註冊表來禁止建立空連接(等同上面):
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即
可。
另外,本地安全策略一定要仔細看,有些功能要開啓。反正,服務器端只運行必要的就可以了。
(9)關閉默認共享,編寫一個deletenetshare.bat文件(如下表)
net share ipc$ /delete
net share admin$ /delete
net share C$ /delete
net share D$ /delete
net share E$ /delete
net share F$ /delete
net share print$ /delete

編寫一個deletenetshare.reg 文件,把上面的bat寫入啓動項:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices]
"deletenetshare"="c:\\deletenetshare.bat"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"deletenetshare"="c:\\deletenetshare.bat"
Windows2003服務器安全配置的一些思路(2)
Posted on 2006-12-29 05:05 孤獨片刻 閱讀(28) 評論(1)    編輯 收藏 收藏至365Key 所屬分類: 操作系統  
10)設置system32/cmd.exe訪問權限!這個比較容易,自己嘗試一下吧。
(11)模糊服務器的Banner信息,如修改IIS的Banner實現操作系統版本的隱藏,一般把IIS->APACHE。這個也比較容易,但高手還是容易看出來的。方法如下:利用資源修改工具來修改DLL,如exescope、ultraedit等(另外一種方法更專業,我在下面會講)。存放IIS BANNER 的DLL 文件都是放在C:\WINDOWS\SYSTEM32\INETSRV\ 目錄裏,在IIS 5.0中的對應關係如下:
WEB 是:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL
FTP 是: C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL
SMTP 是:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL
例如用UltraEdit打開,查找Microsoft-IIS/5.0,修改爲:Apache/1.3.29(Unix)或其它。

注意的地方就是:
1 在修改的時候請停止IIS 的服務,可以用iisreset /stop (當然,iisreset /start是啓動)。
2 由於2000 系統後臺的文件保護機制的作用,當系統一旦發現重要的DLL 文件被修改後就會嘗試用%SYSTEMROOT%\system32\dllcache 目錄下的備份文件來進行恢復,所以在修改前我們還需要事先刪除或改名:%SYSTEMROOT%\system32\dllcache 目錄下的同名文件。完成後WINDOWS 會出來一個對話框:系統文件被更改需要安裝光盤恢復,不用理會點取消就好了。不過,想要完全隱藏還是不太現實,因爲IIS 和APACHE 返回的代碼格式還是相差較大的。

另一種模糊Banner信息的方法是使用插件,這些插件可以提供自定義的Http應答信息.比如ServerMask這個商業軟件就可以提供這樣的功能,它是IIS服務器的一個插件,ServerMask不僅模糊了Banner信息,而且會對Http應答頭信息裏的項的序列進行重新組合,從而來模仿Apache這樣的服務器,它甚至有能力扮演成任何一個Http服務器來處理每一個請求.這個軟件可以在以下地址找到:Http://www.port80software.com/products/servermask
目前的最新版本是ServerMask 2.2 for IIS 4/5/6 (Web Server Anonymization and Obfuscation),如下圖。我的試用30天的下載地址如下:
http://www.port80software.com/products/ServerMask/try?cmd=download&[email protected]&c=787f065a4d3e81d8fdd46a3765a87972
儘管大家可以用ServerMask這樣的軟件來模糊指紋,但是仍然可以被Httprint這樣利用統計學原理進行識別的的軟件打敗,具體知識請自己查閱相關資料。略。
(12)刪除附件,刪除“我的文檔”所在的目錄!如刪除【C:\Documents and Settings\Default User\「開始」菜單\程序\附件】IIS禁用未知CGI擴展和WebDev(這個的掃描器很多),如不用asp.net則也禁用掉,緊用WINS服務,刪除傳真服務、刪除不必要的映射,刪除IIS中的不用的程序映射,如htw, htr, idq, ida等等。
(13)SQL Server 2000安全配置,如修改1433端口監聽、隱藏 SQL Server 實例(配置方法:SQL SERVER屬性->網絡配置->TCP/IP協議->默認端口,將1433改爲你想要的數值,並點擊隱藏實例)、禁止其他RPC連接到本地SQL SERVER等(配置方法:在遠程服務鏈接處,取消RPC連接本機SQL即可)。這樣可以禁止對試圖枚舉網絡上現有的 SQL Server 實例的客戶端所發出的廣播作出響應,一定要打上最新的SP3補丁!(可以向本人索取)。在編程時一定要對編寫的程序,尤其是ASP程序進行SQL 腳本注入***的防護!具體,看關於SQL 腳本注入***的相關參考文章。
(14)對SQL SERVER使用安全的帳號策略。
對sa配置一個健壯的密碼,不要把sa的密碼寫在應用程序或者代碼腳本中。如果數據庫管理員不希望操作系統管理員通過登錄來接觸數據庫的話,可以在帳號管理中把系統帳號“BUILTIN\Administrators”刪除。如我們的設置不採用sa帳號,而是創建YoursLikeNamesoft標準帳號,對KYCMIS/KYCBBS權限爲Public+Dbowner。同時,加強數據庫日誌記錄。審覈數據庫登錄事件的“失敗和成功”,在實例屬性中選擇“安全性”,將其中的審覈級別選定爲全部,這樣在數據庫系統和操作系統日誌裏面,就詳細記錄了所有帳號的登錄事件。並定期查看SQL Server日誌檢查是否有可疑的登錄事件發生,或者使用DOS命令。
findstr /C:"登錄" d:\Microsoft SQL Server\MSSQL\LOG\*.*   

     管理擴展存儲過程:對存儲過程進行大手術,並且對帳號調用擴展存儲過程的權限要慎重。其實在多數應用中根本用不到多少系統的存儲過程,而SQL Server的這麼多系統存儲過程只是用來適應廣大用戶需求的,所以請刪除不必要的存儲過程,因爲有些系統的存儲過程能很容易地被人利用起來提升權限或進行破壞。如果你不需要擴展存儲過程xp_cmdshell請把它去掉。使用這個SQL語句:
USE master
EXEC sp_dropextendedproc 'xp_cmdshell'
xp_cmdshell是進入操作系統的一個捷徑,是數據庫留給操作系統的一個大後門。
如果你需要這個存儲過程,請用這個語句也可以恢復過來。
EXEC sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
在處理存儲過程的時候,請確認一下,避免造成對數據庫或應用程序的傷害。
強制協議加密(在實例屬性->TCP/IP協議中或SQL服務器網絡工具中),啓用協議加密。加密是通過將數據更改爲不可讀形式而使敏感數據得以保密的方法。加密通過對每個人都隱藏信息而確保數據安全,即使有人直接查看加密數據。當然要有證書,如果沒有,可能啓動不了了。不過不必擔心,進入企業管理器中修改屬性即可。
(15)充分利用和配置好WINDOWS提供的IPSec!“Internet 協議安全性 (IPSec)”是一種開放標準的框架結構,通過使用加密安全服務以確保在 Internet 協議 (IP) 網絡上進行保密而安全的通信。詳細信息,請參閱WIN幫助。在管理工具->本地系統策略->IP安全策略在本地!使用操作系統自己的IPSec可以實現IP數據包的安全性。請對IP連接進行限制,只保證自己的IP能夠訪問,也拒絕其他IP進行的端口連接,把來自網絡上的安全威脅進行有效的控制。
如:對SQL網絡連接進行IP限制、拒絕來自1434、3389端口的探測等等(實現:在IPSec過濾拒絕掉1434端口的UDP通訊即可了)。所有IP通訊->源地址(任何IP),目標地址(我的IP),UDP協議,端口1434篩選,進行安全措施->請求安全->阻止即可等。
(15)對於IIS的404等錯誤提示的一些代碼腳本進行跳轉。
比如在iishelp\common\404b.htm中頭部增加<META HTTP-EQUIV=REFRESH CONTENT="0;URL=../Error.html;">
並用系統漏洞檢測、網站漏洞檢測工具、SQL注入***檢測工具等對自己的服務器進行檢測測試。。。。!這個也非常重要。
(16)   防止Content-Location標頭暴露web服務器內部IP地址的方法是執行 cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True (需重啓IIS)
   (17) IIS HTTP500內部錯誤大部分原因 是由於iwam賬號的密碼不同步造成的。只要同步iwam_myserver賬號在com+應用程序中的密碼即可解決問題(降低IIS權限爲最低也可解決)。執行 cscript c:\inetpub\adminscripts\synciwam.vbs –v
    (18)增強IIS防禦SYN Flood的能力。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
啓動SynAttackProtect***保護,設成2。
其它,如"TcpMaxConnectResponseRetransmissions"、"TcpMaxDataRetransmissions"、"TCPMaxPortsExhausted"、"DisableIPSourceRouting"、"TcpTimedWaitDelay"等請參考相關資料。微軟一般都有推薦的安全值。需手工添加修改。
(19)可以充分利用NFTS的安全性,將不同的虛擬目錄設計成不同的權限。尤其bbs等公開源碼的,這類往往有漏洞,那麼***者即使上傳了FSO,結果匿名訪問的這個帳號權限只能對當前目錄操作,一般也破壞不大了(假設FSO等還未禁止和修改的話)。
(20)SERV-U存在着幾個安全隱患,如:遠程溢出、默認賬號LocalAdministrator的默認密碼#l@$ak#.lk;0@P的本地提升權限的漏洞等等。如何防止,請參考相關資料。此略。
(21)禁止“WSH”提高系統安全性能,VBScript病毒,主要是由於Windows 中內嵌的 Windows Scripting Host (WSH),WSH 爲 Visual Basic 腳本語言的自動運行提供了方便。
      禁用 WSH 的步驟:對於Windows 2000 和2003,第一步:打開“我的電腦(My Computer)”;第二步:選擇“工具(Tools)”菜單中的“文件夾選項(Folder Options)”;第三步:點擊“文件類型(File Types)”項;第四步:找到“VBScript 腳本文件(VBScript Script File)”;第五步:選擇“刪除(Delete)”;第六步:點擊“OK”確定。
(22)Inetpub默認目錄要修改或者刪除。時常關注微軟網站關於DDOS/DOS等分佈式拒絕服務***的新補丁。
如:
選擇中文或其他語言,當然,建議採用英文操作系統。英文的sp補丁快一些
微軟在線更新
(23)刪除或禁止guests使用shell.application。
防範基於shell.application組件的asp***
cacls爲顯示或者修改文件的訪問控制列表(ACL)的命令。
  cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用
  regsvr32 shell32.dll /u /s //刪除(推薦,畢竟一般編程用這個的很少)
  cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用
  regsvr32 scrrun.dll /u /s //刪除(不推薦,刪除後,自己也沒得用了,建議修改)

(24)修改FSO等的FSOSTREAMDICTION安全註冊表.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Scripting.YoursLikeNameFileSystemObject]
@="FileSystem Object"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Scripting.YoursLikeNameFSO\CLSID]
@="{0D43FE01-F093-11CF-8940-00A0C9054228}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.YoursLikeNameStream]
@="ADODB.YoursLikeNameStream"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.YoursLikeNameStream\CLSID]
@="{00000566-0000-0010-8000-00AA006D2EA4}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.YoursLikeNameStream\CurVer]
@="ADODB.YoursLikeNameStream.2.80"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.YoursLikeNameStream.2.5]
@="ADODB.YoursLikeNameStream"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.YoursLikeNameStream.2.5\CLSID]
@="{00000566-0000-0010-8000-00AA006D2EA4}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.YoursLikeNameStream.2.80]
@="ADODB.YoursLikeNameStream"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.YoursLikeNameStream.2.80\CLSID]
@="{00000566-0000-0010-8000-00AA006D2EA4}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Scripting.YoursLikeNameDictionary]
@="Scripting.YoursLikeNameDictionary"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Scripting.YoursLikeNameDictionary\CLSID]
@="{EE09B103-97E0-11CF-978F-00A02463E06F}"
ASP代碼中調用示例:Set TempFSO = CreateObject("Scripting.YoursLikeNameFSO")

(25)修改3389遠程控制PortNumber
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"PortNumber"=dword:00001f90
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]
………………….略。查找PortNumber把值改爲10進制的相關值即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章