Win
K下配置asp+cgi+php+mysql全攻略
安裝win
K
安裝IIS
Indexing Service
FrontPage
Server Extensions
Internet Service Manager (HTML)
這幾個別裝
還有其它的一些
總之不用的都別裝
(根據安全原則
最少的服務+最小的權限=最大的安全
)
首先
打開internet管理器(開始
>程序
>管理
>Internet服務管理)如果照上面所安裝的
裡面有一個默認站點和一個smtp的服務項選默認站點
刪除其下面的所有目錄
(按你鍵盤上的delete鍵)停掉iis
最簡單的方法
開始
>運行
>打入net stop iisadmin 選擇Y回車 (啟動的命令是
net start w
svc)把C盤的Inetpub目錄徹底刪掉(停掉iis後才能刪)
在其它盤新建一個目錄在IIS管理器中將默認站點的主目錄指向剛才新建的目錄如果你需要什麼權限的目錄可以自己慢慢建
需要什麼權限開什麼
(特別注意寫權限和執行程序的權限
沒有絕對的必要千萬不要給
默認是沒給的
所以你不用研究
呵呵
)
應用程序配置
在IIS管理器中刪除必須之外的任何無用映射
留下ASP
ASA和其他你確實需要用到的文件類型
(除了cgi
php
其它的我想你都沒用
刪除htw
htr
idq
ida……)不知道在哪刪嗎??方法
打開Internet服務管理
>選擇站點
>屬性
>WWW服務
>編輯
>主目錄
>配置
>應用程序映射
然後就開始一個個刪吧(沒有全選的
真麻煩)
接著在剛剛那個窗口的應用程序調試書簽內將腳本錯誤消息改為發送文本(除非你想ASP出錯的時候用戶知道你的程序/網絡/數據庫結構)錯誤文本寫什麼?隨便你喜歡
自己看著辦
點擊確定退出時別忘了讓虛擬目錄繼承你設定的屬性
為了對付日益增多的cgi漏洞掃描器
還有一個小技巧可以參考
在IIS中將HTTP
Object Not Found出錯頁面通過URL重定向到一個定制HTM文件
可以讓目前絕大多數CGI漏洞掃描器失靈
其實原因很簡單
大多數CGI掃描器在編寫時為了方便
都是通過查看返回頁面的HTTP代碼來判斷漏洞是否存在的
例如
著名的IDQ漏洞一般都是通過取
idq來檢驗
如果返回HTTP
就認為是有這個漏洞
反之如果返回HTTP
就認為沒有
如果你通過URL將HTTP
出錯信息重定向到文件
那麼所有的掃描無論存不存在漏洞都會返回HTTP
%的CGI掃描器會認為你什麼漏洞都有
結果反而掩蓋了你真正的漏洞
讓入侵者茫然無處下手
不過從個人角度來說
我還是認為扎扎實實做好安全設置比這樣的小技巧重要的多
Win
的賬號安全是另一個重點
首先
Win
的默認安裝允許任何用戶通過空用戶得到系統所有賬號/共享列表
這個本來是為了方便局域網用戶共享文件的
但是一個遠程用戶也可以得到你的用戶列表並使用暴力法破解用戶密碼
很多朋友都知道可以通過更改注冊表Local_Machine\System\CurrentControlSet\Control\LSA
RestrictAnonymous =
來禁止
空連接
實際上win
的本地安全策略(如果是域服務器就是在域服務器安全和域安全策略中)就有這樣的選項RestrictAnonymous(匿名連接的額外限制)
這個選項有三個值
None
Rely on default permissions(無
取決於默認的權限)
Do not allow enumeration of SAM accounts and shares(不允許枚舉SAM帳號和共享)
No access without explicit anonymous permissions(沒有顯式匿名權限就不允許訪問)
這個值是系統默認的
什麼限制都沒有
遠程用戶可以知道你機器上所有的賬號
組信息
共享目錄
網絡傳輸列表(NetServerTransportEnum等等
對服務器來說這樣的設置非常危險
這個值是只允許非NULL用戶存取SAM賬號信息和共享信息
這個值是在win
中才支持的
需要注意的是
如果你一旦使用了這個值
你的共享估計就全部完蛋了
所以我推薦你還是設為
比較好
好了
入侵者現在沒有辦法拿到我們的用戶列表
我們的賬戶安全了……慢著
至少還有一個賬戶是可以跑密碼的
這就是系統內建的administrator
怎麼辦?我改改改
在計算機管理
>用戶賬號中右擊administrator然後改名
改成什麼隨便你
只要能記得就行了
改了超管理用戶名後
在Terminal Service的登錄界面還是可以看到的(你登錄過就自已記住啦)
修改方法
運行regedit
找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\winlogon項中的Don
t Display Last User Name串數據改成
這樣系統不會自動顯示上次的登錄用戶名
為了安全
你還可以打開TCP/IP篩選
桌面上右擊網上鄰居
>屬性
>右擊你要配置的網卡
>屬性
>TCP/IP
>高級
>選項
>TCP/IP過濾
這裡有三個過濾器
分別為
TCP端口
UDP端口和IP協議TCP端口
點擊
只允許
然後在下面加上你需要開的端口
一般來說WEB服務器只需要開
(www)
FTP服務器需要開
(FTP Data)
(FTP Control)
(Mysql)
(遠程終端控制
如果你的主機托管在別人機房裡
不能直接*作
就需要這個)郵件服務器可能需要打開
(SMTP)
(POP
)
我對端口沒研究
但如果照本文所提供的服務
你只要開以上幾個就行了
(
)
cgi支持
下載activeperl (可到下載最新版)
解壓
運行install
exe
默認是安裝在 C:\PERL 下
不過為了方便
請最好安裝到 C:\USR 目錄下
(這樣寫 Perl 解釋器的路徑就可以直接用 #!/usr/bin/perl 了
可以保持單機環境和網絡環境路徑一致
安裝時一路按Y即可
)
安裝好後
按照下面三步來修改注冊表
運行 RegEdit
搜尋: HKEY_LOCAL_MACHINE\System\Currentcontrlset\Services\W
svc\Parameters\scriptMap\ 鍵名
然後增加鍵名
cgi
鍵值
C:\USR\BIN\perl
exe %s %s
和鍵名
pl
鍵值
C:\USR\BIN\perl
exe %s %s
(不懂得建?那麼
在右邊的框內
>點右鍵
>新建
>字符串值 名稱改為
cgi
雙擊該鍵即可輸入數值數據
也就是上面說的鍵值)
因為要讓這台主機支持php
所以順便在這裡添加上php和php
的支持(以後新建站點時可省事)
增加鍵名
php
鍵值
C:\php\php
exe %s %s
增加鍵名
php
鍵值
C:\php\php
exe %s %s
OK
重啟後即生效!cgi支持搞定!以後新建站點後
在應用程序配置裡面默認就會加上php和cgi的支持(不給這個權限的話刪掉就是了)
cgi支持搞定!
mysql支持
下載mysql (可到下載最新版本)
解壓
運行setup
exe完全安裝
默認安裝路徑為:c:\mysql
安裝完成後
打開
開始
按鈕中的
運行
輸入命令
C:\mysql\bin\mysqld
nt
exe
install
並執行
開始
>程序
>管理工具
>服務
>找到mysql
>啟動它
mysql安裝完成
重啟win
重啟後打開C:\mysql\bin\winmysqladmin
exe
在第一次用它時
需要建立管理員名及密碼
分別設置用戶名和密碼
設定後
系統托盤會出現一個
紅綠燈
的小圖標(以後系統啟動時均會自動加載)
OK
mysql支持搞定!
php支持
下載PHP (可到下載最新版本)
將 php
解壓到 c:\php
將PHP目錄內的 php
ini
dist 文件拷貝到WinNT目錄內
改名為 php
ini
(這是php的配置文件
無需更改即可運行
我沒仔細研究)
根據需要修改 php
ini 文件內容
如要使用 session 功能
請建立 c:\tmp 目錄
並將 php
ini 文檔內 session
save_path 的值設置成為絕對路徑
c:/tmp
將PHP目錄內的 Php
ts
dll 文件復制到 WinNt\System
目錄內
在控制面板中的管理工具裡啟動
Internet 服務管理器
(IIS)
打開站點屬性
在
ISAPI 篩選器
選項中
增加新的篩選器
用
PHP
作為篩選器名稱
在
可執行文件
欄中填入php
isapi
dll及其路徑 (c:\php\sapi\php
isapi
dll)
在屬性的
文檔
選項中
啟用默認文檔
加入
index
php
From:http://tw.wingwit.com/Article/program/MySQL/201311/29334.html