關於腳本入侵的文章,網上已經是泛濫之勢。原創的雖然多,但是抄襲的也不少。很多人http://whois.webhosting.info查詢一下某個IP的所有域名,然後找個腳本漏洞進入服務器就以黑客自居。未公布的漏洞,我不知道,所以請不要用來打擊我。好了,廢話我不多說了,在這裡說一下我以為比較安全的win2000虛擬主機的權限設置方法,僅僅是說下權限設置。
一.虛擬主機需要的軟件及環境
1.Serv-U5.0.11(似乎不安全,但是也未必)
2.Mysql數據庫
3.Mssql數據庫
4.PcAnyWhere遠程控制
5.殺毒軟件,我一般使用諾頓8.0
6.php5
7.ActivePerl5.8
以上各種軟件,除Mssql數據庫以為,其他的都應去官方網站下載推薦版本安裝。下面開始就是安裝設置了,從系統安裝完開始。假設系統安裝的windows2000高級服務器版,系統分為c盤,d盤和e盤,全部是ntfs格式。
二.系統端口設置
虛擬主機,一般同時使用PcanyWhere和終端服務進行控制,終端服務要更改端口,比如修改成8735端口。根據要開放的服務,去設置TCP/IP篩選。為什麼不使用本地安全策略了?個人認為TCP/IP篩選比較嚴格,因為這裡是除非明確允許否則拒絕,而本地安全策略是除非明確拒絕否則允許。如果我理解不當,還請指教。TCP/IP篩選設置如下:
TCP端口只允許21,80,5631,8735,10001,10002,10003,10004,10005;IP協議只允許6;UDP端口我沒有做過詳細測試,不敢亂說,以後測試了再補上。TCP/IP端口裡面的10001-10005是設置Serv-U的PASV模式使用的端口,當然也可以使用別的。
本地連接屬性裡面,卸載所有的其他協議,只留下Internet協議(TCP/IP),順便把administrator帳號改個復雜點的名字,並且在本地安全策略裡面設置不顯示上次登陸帳號,對帳號鎖定做出合適的設置。然後重新啟動計算機,這步設置已經完成。
三.系統權限設置
現在開始安裝軟件,所有的軟件都安裝在d盤,e盤作數據備份使用。先安裝Serv-U到d:\Serv-U,並且漢化順便破解,嘿嘿。然後依次安裝到d盤。現在開始設置權限。首先二話不說,c盤,d盤和e盤的安全裡面把Everyone刪除,添加改名後的administrator和system,讓他們完全控制。高級裡面重置所有子對象的權限並允許傳播可繼承權限。這樣系統所有的文件,目錄全部是由改名後的administrator和system控制了,並且自動繼承上級目錄的權限,下面開始為每個目錄設置對應的權限。
運行asp,建立數據庫連接需要使用C:\Program Files\Common Files目錄下面的文件。在這裡,設置C:\Program Files\Common Files權限,加入everyone,權限為讀取,列出文件夾目錄,讀取及運行。還可以使用高級標簽進行更加嚴格的設置,但是我沒有做過,不敢胡說。
運行php,需要設置c:\winnt\php.ini的權限,讓everyone有讀取權限即可。如果php的session目錄設置為c:\winnt\temp目錄,此目錄應該讓everyone有讀取寫入權限。為提高性能,php設置為使用isapi解析,d:\php目錄讓everyone有讀取,列出文件夾目錄,讀取及運行權限。至於php.ini的設置,這裡我就不說了。第一我不很懂,第二我只講系統權限設置。
運行cgi,設置d:\perl讓everyone有讀取,列出文件夾目錄,讀取及運行權限。順便說下,cgi設置為使用isapi方式解析有利於安全和性能。
現在說下讓人頭大的Serv-U的設置了。這東西功能確實強大,但是安全性不怎麼好,需要我們來改造。最首先的是溢出攻擊,5.0.11好象已經沒有這個缺陷了。其次是修改ini配置文件,這裡已經沒有權限修改了,略過不提。據我所知現在唯一的辦法就是使用默認的管理帳號和密碼添加有寫入執行權限的帳號來執行木馬了。把默認帳號密碼修改掉就完了,這個東西直接使用editplus之類的編輯器打開ServUDaemon.exe和ServUAdmin.exe修改就可以了。如果懶得麻煩,隨便什麼語言寫個程序都很容易作到。我以前寫過一個這樣的東西,方便自己設置。現在Serv-U基本上沒有什麼問題了。
至於數據庫,權限已經不用設置了,直接繼承d盤根目錄就可以。至於裡面的帳號密碼該怎麼設置,我也懶得說了。
現在最後一點,就是設置c:\winnt\system32目錄和他下面的一些東西了。很多程序運行需要這裡的動態連接庫,而且這裡文件太多,我也沒有弄明白所有的,把目錄c:\winnt\system32給everyone賦予讀取,列出文件夾目錄,讀取及運行即可。其實,這樣做是不安全的,但是別慌,我們還沒有完。在這個目錄下面,我們還需要對幾個特別程序進行單獨的設置。首先就是cacls.exe,嘿嘿,先把這個設置了在說別的。這東東是設置權限用的,讓它不繼承父目錄權限,並且讓它拒絕任何人訪問,因為我們一般不使用這個鳥東西。其他的要設置的程序列表如下:net.exe,cmd.exe,ftp.exe,tftp.exe,telnet.exe,這幾個程序設置成只允許改名後的administrator訪問。
現在就想起這麼多,這是今天上班空閒時間零零碎碎寫的,以後再補充吧。
補充:禁止 非管理員組訪問winnt目錄 再把需要調用的文件 從winnt弄出來 重新 賦予它讀取路徑