六、IIS安全設置
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:\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文件的執行權限,不需要的不給權限。重新啟動服務器即可生效。
對于這樣的設置結合上面的權限設置,你會發現海陽木馬已經在這里失去了作用!
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[修改前要取消掉前面的;]
MySQL安全設置:
如果服務器上啟用MySQL數據庫,MySQL數據庫需要注意的安全設置為:
刪除mysql中的所有默認用戶,只保留本地root帳戶,為root用戶加上一個復雜的密碼。賦予普通用戶updatedeletealertcreatedrop權限的時候,并限定到特定的數據庫,尤其要避免普通客戶擁有對mysql數據庫操作的權限。檢查mysql.user表,取消不必要用戶的shutdown_priv,relo
ad_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一般都擁有這些權限的。
七、其它
1.隱藏重要文件/目錄可以修改注冊表實現完全隱藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠標右擊 “CheckedValue”,選擇修改,把數值由1改為0
2.啟動系統自帶的Internet連接防火墻,在設置服務選項中勾選Web服務器;
3.防止SYN洪水攻擊:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為SynAttackProtect,值為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
4. 禁止響應ICMP路由通告報文:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名為PerformRouterDiscovery 值為0
5. 防止ICMP重定向報文的攻擊:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
將EnableICMPRedirects 值設為0
6. 不支持IGMP協議:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為IGMPLevel 值為0
7.修改終端服務端口:
運行regedit,找到[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp],看到右邊的PortNumber了嗎?在十進制狀態下改成你想要的端口號吧,比如7126之類的,只要不與其它沖突即可。
第二處HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,方法同上,記得改的端口號和上面改的一樣就行了。
8.禁止IPC空連接:
cracker可以利用net use命令建立空連接,進而入侵,還有net view,nbtstat這些都是基于空連接的,禁止空連接就好了。打開注冊表,找到Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把這個值改成”1”即可。
9.更改TTL值:
cracker可以根據ping回的TTL值來大致判斷你的操作系統,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
實際上你可以自己更改的:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十進制,默認值128)改成一個莫名其妙的數字如258,起碼讓那些小菜鳥暈上半天,就此放棄入侵你也不一定哦。
10. 刪除默認共享:
有人問過我一開機就共享所有盤,改回來以后,重啟又變成了共享是怎么回事,這是2K為管理而設置的默認共享,必須通過修改注冊表的方式取消它:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer類型是REG_DWORD把值改為0即可
11. 禁止建立空連接:
默認情況下,任何用戶通過通過空連接連上服務器,進而枚舉出帳號,猜測密碼。我們可以通過修改注冊表來禁止建立空連接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。
12.禁用TCP/IP上的NetBIOS
網上鄰居-屬性-本地連接-屬性-Internet協議(TCP/IP)屬性-高級-WINS面板-NetBIOS設置-禁用TCP/IP上的NetBIOS。這樣cracker就無法用nbtstat命令來讀取你的NetBIOS信息和網卡MAC地址了。
13. 賬戶安全
首先禁止一切賬戶,除了你自己,呵呵。然后把Administrator改名。我呢就順手又建了個Administrator賬戶,不過是什么權限都沒有的那種,然后打開記事本,一陣亂敲,復制,粘貼到“密碼”里去,呵呵,來破密碼吧~!破完了才發現是個低級賬戶,看你崩潰不?
創建2個管理員用帳號
雖然這點看上去和上面這點有些矛盾,但事實上是服從上面的規則的。 創建一個一般權限帳號用來收信以及處理一些日常事物,另一個擁有Administrators 權限的帳戶只在需要的時候使用。可以讓管理員使用 “ RunAS” 命令來執行一些需要特權才能作的一些工作,以方便管理
14.更改C:\WINDOWS\Help\iisHelp\common\404b.htm內容改為這樣,出錯了自動轉到首頁。
15.本地安全策略和組策略的設置,如果你在設置本地安全策略時設置錯了,可以這樣恢復成它的默認值
打開 %SystemRoot%\Security文件夾,創建一個 "OldSecurity"子目錄,將%SystemRoot%\Security下所有的.log文件移到這個新建的子文件夾中
在%SystemRoot%\Security\database\下找到"Secedit.sdb"安全數據庫并將其改名,如改為"Secedit.old"
啟動"安全配置和分析"MMC管理單元:"開始"->"運行"->"MMC",啟動管理控制臺,"添加/刪除管理單元",將"安全配置和分析"管理單元添加上
右擊"安全配置和分析"->"打開數據庫",瀏覽"C:\WINNT\security\Database"文件夾,輸入文件名"secedit.sdb",單擊"打開"
當系統提示輸入一個模板時,選擇"Setup Security.inf",單擊"打開",如果系統提示"拒絕訪問數據庫",不管他,你會發現在"C:\WINNT\security\Database"子文件夾中重新生成了新的安全數據庫,在"C:\WINNT\security"子文件夾下重新生成了log文件,安全數據庫重建成功。
16.禁用DCOM:
運行中輸入 Dcomcnfg.exe。 回車, 單擊“控制臺根節點”下的“組件服務”。 打開“計算機”子文件夾。對于本地計算機,請以右鍵單擊“我的電腦”,然后選擇“屬性”。選擇“默認屬性”選項卡。清除“在這臺計算機上啟用分布式 COM”復選框。
第二步:
盡管Windows 2003的功能在不斷增強,但是由于先天性的原因,它還存在不少安全隱患,要是不將這些隱患“堵住”,可能會給整個系統帶來不必要的麻煩;下面筆者就介紹Windows2003中不常見的安全隱患的防堵方法,希望能對各位帶來幫助!
堵住自動保存隱患
Windows 2003操作系統在調用應用程序出錯時,系統中的Dr. Watson會自動將一些重要的調試信息保存起來,以便日后維護系統時查看,不過這些信息很有可能被黑客“瞄上”,一旦瞄上的話,各種重要的調試信息就會暴露無疑,為了堵住Dr. Watson自動保存調試信息的隱患,我們可以按如下步驟來實現:
1、打開開始菜單,選中“運行”命令,在隨后打開的運行對話框中,輸入注冊表編輯命令“ergedit”命令,打開一個注冊表編輯窗口;
2、在該窗口中,用鼠標依次展開HKEY_local_machine\software\Microsoft\WindowsdowsNT\CurrentVersion\AeDebug分支,在對應AeDebug鍵值的右邊子窗口中,用鼠標雙擊Auto值,在彈出的參數設置窗口中,將其數值重新設置為“0”,
3、打開系統的Windows資源管理器窗口,并在其中依次展開Documents and Settings文件夾、All Users文件夾、Shared Documents文件夾、DrWatson文件夾,最后將對應DrWatson中的User.dmp文件、Drwtsn32.log文件刪除掉。
完成上面的設置后,重新啟動一下系統,就可以堵住自動保存隱患了。
堵住資源共享隱患
為了給局域網用戶相互之間傳輸信息帶來方便,Windows Server 2003系統很是“善解人意”地為各位提供了文件和打印共享功能,不過我們在享受該功能帶來便利的同時,共享功能也會“引狼入室”,“大度”地向黑客們敞開了不少漏洞,給服務器系統造成了很大的不安全性;所以,在用完文件或打印共享功能時,大家千萬要隨時將功能關閉喲,以便堵住資源共享隱患,下面就是關閉共享功能的具體步驟:
1、執行控制面板菜單項下面的“網絡連接”命令,在隨后出現的窗口中,用鼠標右鍵單擊一下“本地連接”圖標;
2、在打開的快捷菜單中,單擊“屬性”命令,這樣就能打開一個“Internet協議(TCP/IP)”屬性設置對話框;
3、在該界面中取消“Microsoft網絡的文件和打印機共享”這個選項;
4、如此一來,本地計算機就沒有辦法對外提供文件與打印共享服務了,這樣黑客自然也就少了攻擊系統的“通道”。
堵住遠程訪問隱患
在Windows2003系統下,要進行遠程網絡訪問連接時,該系統下的遠程桌面功能可以將進行網絡連接時輸入的用戶名以及密碼,通過普通明文內容方式傳輸給對應連接端的客戶端程序;在明文帳號傳輸過程中,實現“安插”在網絡通道上的各種嗅探工具,會自動進入“嗅探”狀態,這個明文帳號就很容易被“俘虜”了;明文帳號內容一旦被黑客或其他攻擊者另謀他用的話,呵呵,小心自己的系統被“瘋狂”攻擊吧!為了杜絕這種安全隱患,我們可以按下面的方法來為系統“加固”:
1、點擊系統桌面上的“開始”按鈕,打開開始菜單;
2、從中執行控制面板命令,從彈出的下拉菜單中,選中“系統”命令,打開一個系統屬性設置界面;
3、在該界面中,用鼠標單擊“遠程”標簽;
4、在隨后出現的標簽頁面中,將“允許用戶遠程連接到這臺計算機”選項取消掉,這樣就可以將遠程訪問連接功能屏蔽掉,從而堵住遠程訪問隱患了。
堵住用戶切換隱患
Windows 2003系統為我們提供了快速用戶切換功能,利用該功能我們可以很輕松地登錄到系統中;不過在享受這種輕松時,系統也存在安裝隱患,例如我們要是執行系統“開始”菜單中的“注銷”命令來,快速“切換用戶”時,再用傳統的方式來登錄系統的話,系統很有可能會本次登錄,錯誤地當作是對計算機系統的一次暴力“襲擊”,這樣Windows2003系統就可能將當前登錄的帳號當作非法帳號,將它鎖定起來,這顯然不是我們所需要的;不過,我們可以按如下步驟來堵住用戶切換時,產生的安全隱患:
在Windows 2003系統桌面中,打開開始菜單下面的控制面板命令,找到下面的“管理工具”命令,再執行下級菜單中的“計算機管理”命令,找到“用戶帳戶”圖標,并在隨后出現的窗口中單擊“更改用戶登錄或注銷的方式”;在打開的設置窗口中,將“使用快速用戶切換”選項取消掉就可以了。
堵住頁面交換隱患
Windows 2003操作系統即使在正常工作的情況下,也有可能會向黑客或者其他訪問者泄漏重要的機密信息,特別是一些重要的帳號信息。也許我們永遠不會想到要查看一下,那些可能會泄漏隱私信息的文件,不過黑客對它們倒是很關心的喲!Windows 2003操作系統中的頁面交換文件中,其實就隱藏了不少重要隱私信息,這些信息都是在動態中產生的,要是不及時將它們清除,就很有可能成為黑客的入侵突破口;為此,我們必須按照下面的方法,來讓Windows 2003操作系統在關閉系統時,自動將系統工作時產生的頁面文件全部刪除掉:
1、在Windows 2003的“開始”菜單中,執行“運行”命令,打開運行對話框,并在其中輸入“Regedit”命令,來打開注冊表窗口;
2、在該窗口的左邊區域中,用鼠標依次單擊HKEY_local_machine\system\currentcontrolset\control\sessionmanager\memory management鍵值,找到右邊區域中的ClearPageFileAtShutdown鍵值,并用鼠標雙擊之,在隨后打開的數值設置窗口中,將該DWORD值重新修改為“1”;
3、完成設置后,退出注冊表編輯窗口,并重新啟動計算機系統,就能讓上面的設置生效了。