打造windows下phpmysqliis安全平臺_圖文_第1頁
打造windows下phpmysqliis安全平臺_圖文_第2頁
打造windows下phpmysqliis安全平臺_圖文_第3頁
打造windows下phpmysqliis安全平臺_圖文_第4頁
打造windows下phpmysqliis安全平臺_圖文_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、打造windows下php+mysql+iis安全平臺 我們最終的目標(biāo)是Web站點只運行php,不支持asp不支持,讓特定的目錄或者子網(wǎng)站不能執(zhí)行php腳本,例如圖片目錄,我們對它設(shè)置成不能運行php,這樣就算您的網(wǎng)站被“黑客”登錄了后臺,能上傳文件。但是最終他也不能執(zhí)行webshell。就算拿到了webshell,他也不能讀目錄或者文件,不能執(zhí)行命令。換句大話就是說強(qiáng)大的webshell在黑客手上沒有任何的利用價值,讓黑客最終直接抓狂而死。呵呵!其實做到這一點不是非常的難,跟隨我的腳步來吧。學(xué)完本文章你就能獨立的完成這樣的變態(tài)的服務(wù)器配置了。一、php.ini文件變態(tài)配置我們?yōu)槭裁窗裵hp.

2、ini放在最前面寫呢,因為我們的Web網(wǎng)站是php的,所以很多默認(rèn)的選項是不安全的。給黑客留下了非常多的可利用機(jī)會,所以第一步我們必須要把php.ini設(shè)置的變態(tài)些,這樣就能阻止一般腳本黑客的攻擊了。我們首先來了解一些php.ini的基本概念性??瞻鬃址鸵苑痔栭_始的行被簡單地忽略。設(shè)置指令的格式如下:directive = value 指令名(directive是大小寫敏感的!所以"foo=bar"不同于"FOO=bar"。值(value可以是:1. 用引號界定的字符串(如:"foo"2. 一個數(shù)字(整數(shù)或浮點數(shù),如:0,1,34,

3、-1,33.553. 一個PHP常量(如:E_ALL,M_PI4. 一個INI常量(On,Off,none5. 一個表達(dá)式(如:E_ALL & E_NOTICE還有另外一個是設(shè)置布爾值,1為On就是開啟,0為Off就是關(guān)閉。php.ini分了很多部分,例如:模塊部分,php全局配置,數(shù)據(jù)庫配置,等等。如圖1所示是一個基本的php.ini的例子。了解了基本的概念以后我們就可以開始變態(tài)配置之旅。 圖1第二個重要的參數(shù)是magic_quotes_gpc。如果你把magic_quotes_gpc設(shè)置成了Off,那么php就不會對4種字符 ' (單引號, " (雙引號, (反斜

4、線 和空字符進(jìn)行轉(zhuǎn)義,那這樣的話就會造成服務(wù)器可能會被非法注入的可能。但是如果你把Magic_quotes_gpc設(shè)置成On的話,php就會給$_POST,$_GET,$_COOKIE提交的變量中如果有上面四種字符的話就會加上反斜扛.這樣就會大大地提高php的安全性。強(qiáng)烈推薦將 Magic_quotes_gpc設(shè)置為On。第三個比較重要的是display_errors。為什么說這個參數(shù)重要呢,因為沒有不會犯錯誤的開發(fā)者,php的 display_errors參數(shù)就是幫助開發(fā)者定位和確定這些錯誤的。可是如果php提供的這些信息被黑客了解到的話,這就不妙了。如圖2所示為某國庫的網(wǎng)站,因為對disp

5、lay_errors沒有進(jìn)行設(shè)置,導(dǎo)致web目錄泄露。這對于黑客來說可是非常重要的信息,因為很多時候的滲透都需要知道web 目錄,例如webshell的寫入等等。所以我們強(qiáng)烈推薦大家把這個參數(shù)設(shè)置成Off。 圖2第四個重要的參數(shù)就是safe_mode,就是我們常說的安全模式。php的安全模式是個非常重要的內(nèi)嵌的安全機(jī)制,能夠控制一些php中的函數(shù),比如system(等函數(shù),同時把很多文件操作函數(shù)進(jìn)行了權(quán)限控制,也不允許對某些關(guān)鍵文件的訪問,比如/etc/passwd,但是默認(rèn)的 php.ini是沒有打開安全模式的,我們把它打開。safe_mode = on。第五個參數(shù)是open_basedir

6、,使用open_basedir選項能夠控制PHP腳本只能訪問指定的目錄,這樣能夠避免PHP腳本訪問不應(yīng)該訪問的文件,一定程度上限制了webshell的危害,我們一般可以設(shè)置為只能訪問網(wǎng)站目錄(假設(shè)網(wǎng)站目錄為 E:test:open_basedir = E:test 第六個參數(shù)是disable_functions,使用disable_functions可以限制一些對于系統(tǒng)來說威脅很大的函數(shù)。例如,我們在第一部分中看到的有phpinfo(函數(shù)的網(wǎng)頁中可以看到關(guān)于php的環(huán)境變量等。還有可以利用system,exec等函數(shù)來執(zhí)行系統(tǒng)命令等等。這里我們推薦過濾的函數(shù)如下。disable_functio

7、ns = phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server。大家如果對某個函數(shù)不了解的話,可以google搜索得到函數(shù)的作用,然后來決定您自己的服務(wù)器是否禁止掉。第七個參數(shù)是Com組件。Windows平臺下的PHP腳本平臺存在一個安全漏洞,

8、使得PHP設(shè)置即使在安全模式下(safe_mode,仍舊允許攻擊者使用COM(函數(shù)來創(chuàng)建系統(tǒng)組件來執(zhí)行任意命令。漏洞出現(xiàn)的原因是由于在安全模式下的PHP平臺雖然system(;pathru(函數(shù)被禁止,但是com.allow_dcom的設(shè)置依舊是為true。以至于攻擊者可以使用COM(函數(shù)創(chuàng)建系統(tǒng)組件對象來運行系統(tǒng)命令。如果是默認(rèn)的Apache設(shè)置或者Web服務(wù)器以Loacalsystem權(quán)限或Administrators權(quán)限運行,攻擊者可以使用這個漏洞來提升權(quán)限。所以我們必須要關(guān)閉掉com.allow_dcom這個參數(shù)默認(rèn)是True,我們需要吧這個參數(shù)修改成 com.allow_dcom=f

9、alse。第八個參數(shù)是expose_php。這個參數(shù)決定是否暴露 PHP 被安裝在服務(wù)器上。如圖3所示,如果這個參數(shù)設(shè)置為On的話就會把php的版本等泄露出來了。我們的推薦值是Off。 圖3基本上的參數(shù)我們就介紹完了,當(dāng)然php.ini還需要配置,大部分設(shè)置跟安全是沒有關(guān)系的,很大一部分都跟PHP運行的效果(例如優(yōu)化等有關(guān)系,如果大家有興趣的話可以自己參考一下php的官方手冊來具體了解一下。注意:修改完php.ini以后,必須重新啟動IIS,不然你設(shè)置的內(nèi)容不會即時生效。二、IIS變態(tài)配置新浪每天的訪問量是非常大的,所以他不可能把所有的東西都放在一個服務(wù)器上面,這個時候可能就會把特定的資源例如

10、圖片,視頻等放到一個專門的服務(wù)器上。這個時候,新浪的安全管理員就做了個非常變態(tài)的策略,就是在這些提供特定資源的服務(wù)器上面不能運行任何的腳本,例如不能執(zhí)行php等,當(dāng)然我這里只是舉個例子,因為大部分的新浪的服務(wù)器都是Linux系列的,在他上面跑的可能是Nginx或者是apache,apache的這部分設(shè)置我們會在以后的教程中涉及。第一種是首先打開IIS信息服務(wù)管理器,打開我們的網(wǎng)站,然后找到我們剛才新建的目錄,右鍵點擊目錄屬性,如圖6所示。我們看劃紅線的地方,這里有三個選項,分別是無,純腳本,還有一個是腳本和可執(zhí)行文件。這里我們選擇無,然后單擊“確定”按鈕。如圖7所示,我們再刷新一下就會看到 2

11、009.php不可以運行了。第二種辦法是利用應(yīng)用程序池來配置,具體的實現(xiàn)方法為:如圖8所示,我們選擇畫紅線的部分,然后就創(chuàng)建了一個和網(wǎng)站名字一樣的應(yīng)用程序池,然后我們單擊“配置”按鈕出現(xiàn)如圖9所示的畫面,我們這里把.php的擴(kuò)展去掉。如圖10所示,我們的腳本不能運行了,出現(xiàn)了404的錯誤,但是我們訪問圖片還是一樣可以訪問,如圖11所示。當(dāng)然上面的配置也可以用于特定的服務(wù)器,例如,您的公司規(guī)模比較大,需要建立一個專門的圖片服務(wù)器來緩解主服務(wù)器的負(fù)載,就可以使用這個很變態(tài)的方法。 圖4 圖5 圖6 圖7圖8 圖9 圖10 圖11第二個變態(tài)的服務(wù)器配置相信一部分人都知道就是給特定的目錄上集成Wind

12、ows 2003的身份驗證功能,例如后臺的設(shè)置。一個很常見的場景如下:如果我的后臺目錄是admin的話,我這里有2個驗證用戶和密碼。第一道防護(hù)是服務(wù)器上的集成身份驗證,就是給服務(wù)器上添加一個用戶,然后設(shè)置一個非常變態(tài)的密碼。第二道防護(hù)就是網(wǎng)站本身的用戶名和密碼,當(dāng)然這兩道防護(hù)的密碼一定不能相同,不然跟沒用一樣。下面,我們來實現(xiàn)一下這個功能。例如,我們要配置的目錄是admin,右鍵點擊admin的屬性,如圖12所示,我們單擊“身份驗證和訪問控制”下的“編輯”按鈕,彈出如圖13所示的對話框,我們選擇“ 集成windows身份驗證”就可以了,同時去掉“啟用匿名”前面的對勾,然后單擊“確定”按鈕。我們

13、再次訪問后臺目錄就會出現(xiàn)了如圖14所示的畫面,要求我們輸入windows服務(wù)器上的用戶名和密碼。我們現(xiàn)在新建一個本地的用戶,然后把他的權(quán)限設(shè)置為最小的。我們單擊開始菜單 -> 運行 -> 輸入cmd,然后在cmd中輸入net user test test /add。添加一個用戶,這一步?jīng)]啥說的。下面講解如何降低test用戶的權(quán)限,右鍵點擊“我的電腦”,選擇“管理”,彈出“計算機(jī)管理”對話框,如圖 15所示,選擇右鍵單擊剛才新建的test用戶選擇“屬性”,我們選擇用戶“密碼永不過期”,然后選擇撥入選擇拒絕訪問.點確定,回到剛才的目錄中,我們輸入我們新建的用戶就可以查看了。 圖12 圖

14、13 圖14 圖15第三個配置就是服務(wù)器只支持php其他任何腳本都不支持。這個很容易就實現(xiàn)了,我們不說廢話,如圖16所示就可以搞定了,只留下php就可以了,其他全部刪除。當(dāng)然如果您的服務(wù)器需要支持asp和的話只留下asp,和php就行了。其他全部刪除即可。 圖16三、web目錄的變態(tài)權(quán)限配置其實我們在第2部分的時候已經(jīng)涉及到了基本的權(quán)限配置原則等,這里我們只是做一些擴(kuò)展。例如,我們的網(wǎng)站的目錄是E:test。右鍵單擊目錄,選擇“屬性”,彈出如圖17所示對話框,我們把IUSR_計算機(jī)名添加進(jìn)來,這個賬號是IIS匿名用戶的訪問賬號。注意畫長方形的地方一定不要選擇。不然黑客就能上傳webshell到你的目錄了。但是這樣設(shè)置的話是不行的,例如你的網(wǎng)站需要上傳圖片的時候,這樣你自己也不能上傳了,這個時候我們需要把圖片目錄設(shè)置成可寫的,如圖18所示。同時結(jié)合我們第2部分中學(xué)習(xí)的IIS變態(tài)設(shè)置,把這個目錄設(shè)置成不能執(zhí)行php的。這樣就達(dá)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論