阿江的Windows 2000服務器安全設置教程
我們提供的服務有:成都做網站、成都網站設計、成都外貿網站建設、微信公眾號開發、網站優化、網站認證、東昌府ssl等。為上1000家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的東昌府網站制作公司
前言
其實,在服務器的安全設置方面,我雖然有一些經驗,但是還談不上有研究,所以我寫這篇文章的時候心里很不踏實,總害怕說錯了會誤了別人的事。
本文更側重于防止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來運行更高權限的系統程序。
卸載最不安全的組件
最簡單的辦法是直接卸載后刪除相應的程序文件。將下面的代碼保存為一個.BAT文件,
regsvr32/u C:WINNTSystem32wshom.ocx
del C:WINNTSystem32wshom.ocx
regsvr32/u C:WINNTsystem32shell32.dll
del C:WINNTsystem32shell32.dll
然后運行一下,WScript.Shell, Shell.application, WScript.Network就會被卸載了。可能會提示無法刪除文件,不用管它,重啟一下服務器,你會發現這三個都提示“×安全了。
改名不安全組件
需要注意的是組件的名稱和Clsid都要改,并且要改徹底了。下面以Shell.application為例來介紹方法。
打開注冊表編輯器【開始→運行→regedit回車】,然后【編輯→查找→填寫Shell.application→查找下一個】,用這個方法能找到兩個注冊表項:“{13709620-C279-11CE-A49E-444553540000}和“Shell.application。為了確保萬無一失,把這兩個注冊表項導出來,保存為 .reg 文件。
比如我們想做這樣的更改
13709620-C279-11CE-A49E-444553540000 改名為 13709620-C279-11CE-A49E-444553540001
Shell.application 改名為 Shell.application_ajiang
那么,就把剛才導出的.reg文件里的內容按上面的對應關系替換掉,然后把修改好的.reg文件導入到注冊表中(雙擊即可),導入了改名后的注冊表項之后,別忘記了刪除原有的`那兩個項目。這里需要注意一點,Clsid中只能是十個數字和ABCDEF六個字母。
下面是我修改后的代碼(兩個文件我合到一起了):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}]
@="Shell Automation Service"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}InProcServer32]
@="C:WINNTsystem32shell32.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}ProgID]
@="Shell.Application_ajiang.1"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}TypeLib]
@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}Version]
@="1.1"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}VersionIndependentProgID]
@="Shell.Application_ajiang"
[HKEY_CLASSES_ROOTShell.Application_ajiang]
@="Shell Automation Service"
[HKEY_CLASSES_ROOTShell.Application_ajiangCLSID]
@="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOTShell.Application_ajiangCurVer]
@="Shell.Application_ajiang.1"
你可以把這個保存為一個.reg文件運行試一下,但是可別就此了事,因為萬一黑客也看了我的這篇文章,他會試驗我改出來的這個名字的。
防止列出用戶組和系統進程
我在阿江ASP探針1.9中結合7i24的方法利用getobject("WINNT")獲得了系統用戶和系統進程的列表,這個列表可能會被黑客利用,我們應當隱藏起來,方法是:
【開始→程序→管理工具→服務】,找到Workstation,停止它,禁用它。
防止Serv-U權限提升
其實,注銷了Shell組件之后,侵入者運行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設置一下為好。
用Ultraedit打開ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等長度的其它字符就可以了,ServUAdmin.exe也一樣處理。
另外注意設置Serv-U所在的文件夾的權限,不要讓IIS匿名用戶有讀取的權限,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。
利用ASP漏洞攻擊的常見方法及防范
一般情況下,黑客總是瞄準論壇等程序,因為這些程序都有上傳功能,他們很容易的就可以上傳ASP木馬,即使設置了權限,木馬也可以控制當前站點的所有文件了。另外,有了木馬就然后用木馬上傳提升工具來獲得更高的權限,我們關閉shell組件的目的很大程度上就是為了防止攻擊者運行提升工具。
如果論壇管理員關閉了上傳功能,則黑客會想辦法獲得超管密碼,比如,如果你用動網論壇并且數據庫忘記了改名,人家就可以直接下載你的數據庫了,然后距離找到論壇管理員密碼就不遠了。
作為管理員,我們首先要檢查我們的ASP程序,做好必要的設置,防止網站被黑客進入。另外就是防止攻擊者使用一個被黑的網站來控制整個服務器,因為如果你的服務器上還為朋友開了站點,你可能無法確定你的朋友會把他上傳的論壇做好安全設置。這就用到了前面所說的那一大堆東西,做了那些權限設置和防提升之后,黑客就算是進入了一個站點,也無法破壞這個網站以外的東西。
1)、系統安全基本設置
1.安裝說明:系統全部NTFS格式化,重新安裝系統(采用原版win2003),安裝殺毒軟件(Mcafee),并將殺毒軟件更新,安裝sp2補釘,安裝IIS(只安裝必須的組件),安裝SQL2000,安裝.net2.0,開啟防火墻。并將服務器打上最新的補釘。
2)、關閉不需要的服務
Computer Browser:維護網絡計算機更新,禁用
Distributed File System: 局域網管理共享文件,不需要禁用
Distributed linktracking client:用于局域網更新連接信息,不需要禁用
Error reporting service:禁止發送錯誤報告
Microsoft Serch:提供快速的單詞搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服務和Microsoft Serch用的,不需要禁用
PrintSpooler:如果沒有打印機可禁用
Remote Registry:禁止遠程修改注冊表
Remote Desktop Help Session Manager:禁止遠程協助 其他服務有待核查
3)、設置和管理賬戶
1、將Guest賬戶禁用并更改名稱和描述,然后輸入一個復雜的密碼
2、系統管理員賬戶最好少建,更改默認的管理員帳戶名(Administrator)和描述,密碼最好采用數字加大小寫字母加數字的上檔鍵組合,長度最好不少于10位
3、新建一個名為Administrator的陷阱帳號,為其設置最小的權限,然后隨便輸入組合的最好不低于20位的密碼
4、計算機配置-Windows設置-安全設置-賬戶策略-賬戶鎖定策略,將賬戶設為“三次登陸無效 時間為30分鐘
5、在安全設置-本地策略-安全選項中將“不顯示上次的用戶名”設為啟用
6、 在安全設置-本地策略-用戶權利分配中將“從網絡訪問此計算機”中只保留Internet來賓賬戶、啟動IIS進程賬戶,Aspnet賬戶
7、創建一個User賬戶,運行系統,如果要運行特權命令使用Runas命令。
4)、打開相應的審核策略
審核策略更改:成功
審核登錄事件:成功,失敗
審核對象訪問:失敗
審核對象追蹤:成功,失敗
審核目錄服務訪問:失敗
審核特權使用:失敗
審核系統事件:成功,失敗
審核賬戶登錄事件:成功,失敗
審核賬戶管理:成功,失敗
5)、 其它安全相關設置
1、禁止C$、D$、ADMIN$一類的缺省共享
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters,在右邊的 窗口中新建Dword值,名稱設為AutoShareServer值設為0
2、解除NetBios與TCP/IP協議的綁定
右擊網上鄰居-屬性-右擊本地連接-屬性-雙擊Internet協議-高級-Wins-禁用TCP/IP上的 NETBIOS
3、隱藏重要文件/目錄
可以修改注冊表實現完全隱藏: “HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent-VersionExplorerAdvancedFol derHi-ddenSHOWALL”,鼠標右擊“CheckedValue”,選擇修改,把數值由1改為0
4、防止SYN洪水攻擊
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 新建DWORD 值,名為SynAttackProtect,值為2
5、 禁止響應ICMP路由通告報文
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterface 新建DWORD值,名為PerformRouterDiscovery 值為0
6. 防止ICMP重定向報文的攻擊
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 將EnableICMPRedirects 值設為0
7、 不支持IGMP協議
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 新建DWORD 值,名為IGMPLevel 值為0
8、禁用DCOM:運行中輸入 Dcomcnfg.exe。 回車, 單擊“控制臺根節點”下的“組件服務”。 打開“計算機”子 文件夾。
對于本地計算機,請以右鍵單擊“我的電腦”,然后選擇“屬 性”。選擇“默認屬性”選項卡。清除“在這臺計算機上啟用分布式 COM”復選框。
9、終端服務的默認端口為3389,可考慮修改為別的端口。
修改方法為: 服務器端:打開注冊表,在“HKLM\SYSTEM\Current ControlSet\Control\Terminal Server\Win Stations” 處找到類似RDP-TCP的子鍵,修改PortNumber值。 客戶端:按正常步驟建一個客戶端連接,選中這個連接,在“文件”菜單中選擇導出,在指定位置會 生成一個后綴為.cns的文件。打開該文件,修改“Server Port”值為與服務器端的PortNumber對應的 值。然后再導入該文件(方法:菜單→文件→導入),這樣客戶端就修改了端口。
6)、配置 IIS 服務
1、不使用默認的Web站點,如果使用也要將 將IIS目錄與系統磁盤分開。
2、刪除IIS默認創建的Inetpub目錄(在安裝系統的盤上)。
3、刪除系統盤下的虛擬目錄,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、 MSADC。
4、刪除不必要的IIS擴展名映射。 右鍵單擊“默認Web站點→屬性→主目錄→配置”,打開應用程序窗口,去掉不必要的應用程序映 射。主要為.shtml, .shtm, .stm
5、更改IIS日志的路徑 右鍵單擊“默認Web站點→屬性-網站-在啟用日志記錄下點擊屬性
6、如果使用的是2000可以使用iislockdown來保護IIS,在2003運行的IE6.0的版本不需要。
7、使用UrlScan
UrlScan是一個ISAPI篩選器,它對傳入的HTTP數據包進行分析并可以拒絕任何可疑的通信量。 目前最新的版本是2.5,如果是2000Server需要先安裝1.0或2.0的版本。 如果沒有特殊的要求采用UrlScan默認配置就可以了。 但如果你在服務器運行ASP.NET程序,并要進行調試你需打開要 %WINDIR%System32InetsrvURLscan,文件夾中的URLScan.ini 文件,然后在UserAllowVerbs節添 加debug謂詞,注意此節是區分大小寫的。 如果你的網頁是.asp網頁你需要在DenyExtensions刪除.asp相關的內容。 如果你的網頁使用了非ASCII代碼,你需要在Option節中將AllowHighBitCharacters的值設為1 在對URLScan.ini 文件做了更改后,你需要重啟IIS服務才能生效,快速方法運行中輸入iisreset 如果你在配置后出現什么問題,你可以通過添加/刪除程序刪除UrlScan。
8、利用WIS (Web Injection Scanner)工具對整個網站進行SQL Injection 脆弱性掃描.
7)、配置Sql服務器
1、System Administrators 角色最好不要超過兩個
3、不要使用Sa賬戶,為其配置一個超級復雜的密碼
4、刪除以下的擴展存儲過程格式為:
use master sp_dropextendedproc '擴展存儲過程名'
xp_cmdshell:是進入操作系統的最佳捷徑,刪除 訪問注冊表的存儲過程,
刪除
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread Xp_regwrite Xp_regremovemultistring
OLE自動存儲過程,不需要刪除
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop
5、隱藏 SQL Server、更改默認的1433端口
右擊實例選屬性-常規-網絡配置中選擇TCP/IP協議的屬性,選擇隱藏 SQL Server 實例,并改原默 認的1433端口。
8)、修改系統日志保存地址 默認位置為 應用程序日志、安全日志、系統日志、DNS日志默認位置:%systemroot%\system32\config,默認 文件大小512KB,管理員都會改變這個默認大小。
安全日志文件:%systemroot%\system32\config\SecEvent.EVT 系統日志文件:%systemroot%\system32\config\SysEvent.EVT 應用程序日志文件:%systemroot%\system32\config\AppEvent.EVT Internet信息服務FTP日志默認位置:%systemroot%\system32\logfiles\msftpsvc1\,默認每天一個日 志 Internet信息服務WWW日志默認位置:%systemroot%\system32\logfiles\w3svc1\,默認每天一個日 志 Scheduler(任務計劃)服務日志默認位置:%systemroot%\schedlgu.txt 應用程序日志,安全日志,系統日志,DNS服務器日志,它們這些LOG文件在注冊表中的: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog Schedluler(任務計劃)服務日志在注冊表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent SQL 刪掉或改名xplog70.dll [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters] "AutoShareServer"=dword:00000000 "AutoShareWks"=dword:00000000 // AutoShareWks 對pro版本 // AutoShareServer 對server版本 // 0
禁止管理共享admin$,c$,d$之類默認共享 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA] "restrictanonymous"=dword:00000001 //0x1 匿名用戶無法列舉本機用戶列表 //0x2 匿名用戶無法連接本機IPC$共享(可能sql server不能夠啟動
9)、本地安全策略
1.只開放服務需要的端口與協議。 具體方法為:按順序打開“網上鄰居→屬性→本地連接→屬性→Internet 協議→屬性→高級→選項→ TCP/IP篩選→屬性”,添加需要的TCP、UDP端口以及IP協議即可。根據服務開設口,常用的TCP 口有:80口用于Web服務;21用于FTP服務;25口用于SMTP;23口用于Telnet服務;110口 用于POP3。常用的UDP端口有:53口-DNS域名解析服務;161口-snmp簡單的網絡管理協議。 8000、4000用于OICQ,服務器用8000來接收信息,客戶端用4000發送信息。 封TCP端口: 21(FTP,換FTP端口)23(TELNET),53(DNS),135,136,137,138,139,443,445,1028,1433,3389 可封TCP端口:1080,3128,6588,8080(以上為代理端口).25(SMTP),161(SNMP),67(引導) 封UDP端口:1434(這個就不用說了吧) 封所有ICMP,即封PING 以上是最常被掃的端口,有別的同樣也封,當然因為80是做WEB用的
2、禁止建立空連接 默認情況下,任何用戶可通過空連接連上服務器,枚舉賬號并猜測密碼。空連接用的端口是139, 通過空連接,可以復制文件到遠端服務器,計劃執行一個任務,這就是一個漏洞。可以通過以下兩 種方法禁止建立空連接:
(1) 修改注冊表中 Local_Machine\System\ CurrentControlSet\Control\LSA-RestrictAnonymous 的值為1。
(2) 修改Windows 2000的本地安全策略。設置“本地安全策略→本地策略→選項”中的 RestrictAnonymous(匿名連接的額外限制)為“不容許枚舉SAM賬號和共享”。 首先,Windows 2000的默認安裝允許任何用戶通過空連接得到系統所有賬號和共享列表,這本來 是為了方便局域網用戶共享資源和文件的,但是,同時任何一個遠程用戶也可以通過同樣的方法得 到您的用戶列表,并可能使用暴力法破解用戶密碼給整個網絡帶來破壞。很多人都只知道更改注冊 表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1來禁止空用戶連接, 實際上Windows 2000的本地安全策略里(如果是域服務器就是在域服務器安全和域安全策略里) 就有RestrictAnonymous選項,其中有三個值:“0”這個值是系統默認的,沒有任何限制,遠程用戶 可以知道您機器上所有的賬號、組信息、共享目錄、網絡傳輸列表(NetServerTransportEnum)等;“1” 這個值是只允許非NULL用戶存取SAM賬號信息和共享信息;“2”這個值只有Windows 2000才支 持,需要注意的是,如果使用了這個值,就不能再共享資源了,所以還是推薦把數值設為“1”比較 好。
10)、防止asp木馬
1、基于FileSystemObject組件的asp木馬
cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用 regsvr32 scrrun.dll /u /s //刪除
2.基于shell.application組件的asp木馬
cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用 regsvr32 shell32.dll /u /s //刪除
3.將圖片文件夾的權限設置為不允許運行。
4.如果網站中不存在有asp的話,禁用asp
11)、防止SQL注入
1.盡量使用參數化語句
2.無法使用參數化的SQL使用過濾。
3.網站設置為不顯示詳細錯誤信息,頁面出錯時一律跳轉到錯誤頁面。
4.不要使用sa用戶連接數據庫
5、新建一個public權限數據庫用戶,并用這個用戶訪問數據庫 6、[角色]去掉角色public對sysobjects與syscolumns對象的select訪問權限
最后強調一下,以上設置可能會影響到有些應用服務,例如導至不能連接上遠程服務器,
因此強烈建議,以上設置首先在本地機器或虛擬機(VMware Workstation)上做好設置,確定沒事之后然后再在服務器上做。
Web服務器攻擊常利用Web服務器軟件和配置中的漏洞,web服務器安全也是我們現在很多人關注的一點,那么你知道web服務器安全設置嗎?下面是我整理的一些關于web服務器安全設置的相關資料,供你參考。
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的程序)不給予寫入權限。因為是虛擬主機平常對腳本安全沒辦法做到細致入微的地步。
方法
用戶從腳本提升權限:
web服務器安全設置二、ASP的安全設置
設置過權限和服務之后,防范asp木馬還需要做以下工作,在cmd窗口運行以下命令:
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
即可將WScript.Shell, Shell.application, WScript.Network組件卸載,可有效防止asp木馬通過wscript或shell.application執行命令以及使用木馬查看一些系統敏感信息。另法:可取消以上文件的users用戶的權限,重新啟動IIS即可生效。但不推薦該方法。
另外,對于FSO由于用戶程序需要使用,服務器上可以不注銷掉該組件,這里只提一下FSO的防范,但并不需要在自動開通空間的虛擬商服務器上使用,只適合于手工開通的站點。可以針對需要FSO和不需要FSO的站點設置兩個組,對于需要FSO的用戶組給予c:winntsystem32scrrun.dll文件的執行權限,不需要的不給權限。重新啟動服務器即可生效。
對于這樣的設置結合上面的權限設置,你會發現海陽木馬已經在這里失去了作用!
web服務器安全設置三、PHP的安全設置
默認安裝的php需要有以下幾個注意的問題:
C:\winnt\php.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[修改前要取消掉前面的;]
web服務器安全設置四、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一般都擁有這些權限的。
web服務器安全設置五、數據庫服務器的安全設置
對于專用的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了。