熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

Win2K下配置ASP+CGI+PHP+MySQL全攻略

2013-11-23 20:56:59  來源: MySQL 

  WinK下配置asp+cgi+php+mysql全攻略
  安裝winK安裝IIS
  
  Indexing Service
  FrontPage Server Extensions
  Internet Service Manager (HTML)
  這幾個別裝還有其它的一些總之不用的都別裝(根據安全原則最少的服務+最小的權限=最大的安全)
  首先打開internet管理器(開始>程序>管理>Internet服務管理)如果照上面所安裝的裡面有一個默認站點和一個smtp的服務項選默認站點刪除其下面的所有目錄(按你鍵盤上的delete鍵)停掉iis最簡單的方法開始>運行>打入net stop iisadmin  選擇Y回車 (啟動的命令是net start wsvc)把C盤的Inetpub目錄徹底刪掉(停掉iis後才能刪)在其它盤新建一個目錄在IIS管理器中將默認站點的主目錄指向剛才新建的目錄如果你需要什麼權限的目錄可以自己慢慢建需要什麼權限開什麼
  (特別注意寫權限和執行程序的權限沒有絕對的必要千萬不要給默認是沒給的所以你不用研究呵呵)
  應用程序配置在IIS管理器中刪除必須之外的任何無用映射留下ASP ASA和其他你確實需要用到的文件類型(除了cgiphp其它的我想你都沒用刪除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\LSARestrictAnonymous = 來禁止空連接實際上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項中的Dont 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 (可到下載最新版)
  解壓運行installexe默認是安裝在 C:\PERL 下不過為了方便請最好安裝到 C:\USR 目錄下(這樣寫 Perl 解釋器的路徑就可以直接用 #!/usr/bin/perl 了可以保持單機環境和網絡環境路徑一致 安裝時一路按Y即可)
  安裝好後按照下面三步來修改注冊表 運行 RegEdit搜尋: HKEY_LOCAL_MACHINE\System\Currentcontrlset\Services\Wsvc\Parameters\scriptMap\ 鍵名
  然後增加鍵名cgi鍵值C:\USR\BIN\perlexe %s %s 和鍵名pl鍵值C:\USR\BIN\perlexe %s %s
  (不懂得建?那麼在右邊的框內>點右鍵>新建>字符串值 名稱改為cgi雙擊該鍵即可輸入數值數據也就是上面說的鍵值)
  因為要讓這台主機支持php所以順便在這裡添加上php和php的支持(以後新建站點時可省事)
  增加鍵名php鍵值C:\php\phpexe %s %s
  增加鍵名php鍵值C:\php\phpexe %s %s
  OK重啟後即生效!cgi支持搞定!以後新建站點後在應用程序配置裡面默認就會加上php和cgi的支持(不給這個權限的話刪掉就是了)
  cgi支持搞定!
  
  mysql支持
  下載mysql (可到下載最新版本)
  解壓運行setupexe完全安裝默認安裝路徑為:c:\mysql
  安裝完成後打開開始按鈕中的運行輸入命令C:\mysql\bin\mysqldntexe install並執行
  開始>程序>管理工具>服務>找到mysql>啟動它
  mysql安裝完成重啟win
  重啟後打開C:\mysql\bin\winmysqladminexe在第一次用它時需要建立管理員名及密碼分別設置用戶名和密碼設定後系統托盤會出現一個紅綠燈的小圖標(以後系統啟動時均會自動加載) 
  OKmysql支持搞定!
  
  php支持
  下載PHP (可到下載最新版本)
  將 php 解壓到 c:\php
  將PHP目錄內的 phpinidist 文件拷貝到WinNT目錄內改名為 phpini (這是php的配置文件無需更改即可運行我沒仔細研究)
  根據需要修改 phpini 文件內容如要使用 session 功能請建立 c:\tmp 目錄並將 phpini 文檔內 sessionsave_path 的值設置成為絕對路徑c:/tmp
  將PHP目錄內的 Phptsdll 文件復制到 WinNt\System 目錄內
  在控制面板中的管理工具裡啟動Internet 服務管理器(IIS)
  打開站點屬性ISAPI 篩選器選項中 增加新的篩選器PHP 作為篩選器名稱可執行文件欄中填入phpisapidll及其路徑 (c:\php\sapi\phpisapidll)
  在屬性的文檔選項中啟用默認文檔加入indexphp

From:http://tw.wingwit.com/Article/program/MySQL/201311/29334.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.