如何有效防止PHP木馬對(duì)網(wǎng)站提權(quán)
## 如何有效防止PHP木馬對(duì)網(wǎng)站提權(quán)
1.防止跳出web目錄?
首先修改httpd.conf:?
如果你只允許你的php腳本程序在web目錄里操作,還可以修改httpd.conf文件限制php的操作路徑。比如?
你的web目錄是/usr /local/apache/htdocs,那么在httpd.conf里加上這么幾行:?
這樣,如果腳本要讀取/usr/local/apache/htdocs以外的文件將不會(huì)被允許。?
但經(jīng)過這樣修改后,關(guān)于php文件上傳會(huì)受到影響。后來終于找到了?
為了安全,我們通常會(huì)在虛擬主機(jī)設(shè)置中,加入這一行?
但這會(huì)導(dǎo)致move_uploaded_file不能讀取臨時(shí)目錄中的上傳文件,導(dǎo)致上傳文件失失敗。?
一般會(huì)提示以下錯(cuò)誤:?
解決方法:?
將上傳文件的臨時(shí)目錄加入到php_admin_value open_basedir后面,最后看起來是這樣的:?
注意:兩個(gè)目錄之間是冒號(hào)隔開(Linux中)。?
如果是Windows中,將冒號(hào)換成分號(hào):?
2.防止php木馬執(zhí)行webshell?
打開safe_mode,?
在,php.ini中設(shè)置?
二者選一即可,也可都選?
3.防止php木馬讀寫文件目錄?
在php.ini中的?
后面加上php處理文件的函數(shù)?
主要有?
即成為?
WP博客:
ok,大功告成,php木馬拿我們沒轍了,^_^?
重啟httpd服務(wù),/usr/local/apache/bin/apachectl restart?
遺憾的是這樣的話,利用文本數(shù)據(jù)庫(kù)的那些東西就都不能用了。?
4、其他?
一般php在沒有連接到數(shù)據(jù)庫(kù)或者其他情況下會(huì)有提示錯(cuò)誤,一般錯(cuò)誤信息中會(huì)包含php腳本當(dāng)前的路徑信?
息或者查詢的SQL語句等信息,這類信息提供給黑客后,是不安全的,所以一般服務(wù)器建議禁止錯(cuò)誤提示 。?
查找:magic_quotes_gpc 如果是Off的話改成On?
打開magic_quotes_gpc來防止SQL注入。?
查找:open_basedir 后面增加 /www/ /*說明:www為網(wǎng)站程序所放文件*/?
這個(gè)選項(xiàng)可以禁止指定目錄之外的文件操作,還能有效地消除本地文件或者是遠(yuǎn)程文件被include()等函?
數(shù)的調(diào)用攻擊。?
expose_php設(shè)為off ,這樣php不會(huì)在http文件頭中泄露信息。?
我們?yōu)榱朔乐购诳瞳@取服務(wù)器中php版本的信息,可以關(guān)閉該信息斜路在http頭中 。?
設(shè)置“allow_url_fopen”為“off” 這個(gè)選項(xiàng)可以禁止遠(yuǎn)程文件功能 。?
下面的沒有測(cè)試?
如果是在windos平臺(tái)下搭建的apache我們還需要注意一點(diǎn),apache默認(rèn)運(yùn)行是system權(quán)限,這很恐怖,這讓?
人感覺很不爽.那我們就給 apache降降權(quán)限吧.?
ok.我們建立了一個(gè)不屬于任何組的用戶apche.?
我們打開計(jì)算機(jī)管理器,選服務(wù),點(diǎn)apache服務(wù)的屬性,我們選擇log on ,選擇this account ,我們填入上?
面所建立的賬戶和密碼, 重啟apache服務(wù),ok,apache運(yùn)行在低權(quán)限下了.?
實(shí)際上我們還可以通過設(shè)置各個(gè)文件夾的權(quán)限,來讓apache用戶只能執(zhí)行我們想讓它能干的事情,給每一個(gè)?
目錄建立一個(gè)單獨(dú)能讀寫的用戶.這也是當(dāng)前很多虛擬主機(jī)提供商的流行配置方法哦,不過這種方法用于防止這?
里就顯的有點(diǎn)大材小用了。?
## 服務(wù)器防止webshell后門 ,php禁用eval
服務(wù)器被搞的不能行,因?yàn)樘厥庠虮仨毴ナ袌?chǎng)上購(gòu)買模板,所以避免不了被留下了后門。
研究了很久的后門,發(fā)現(xiàn)都是通過eval函數(shù)引起的,eval其實(shí)并不是一個(gè)函數(shù),而是底層提供第一種特性。
看了百度很多文章,都是通過php擴(kuò)展來禁用eval,
我們是站群服務(wù)器,
suhosin的版本可以去http://download.suhosin.org根據(jù)php版本選擇對(duì)應(yīng)的,目前就5.x和7.0之分
編譯完成之后,會(huì)告訴你suhosin.so文件所在的位置。如果是默認(rèn)位置的話一般都是/usr/lib64/php/modules/suhosin.so
在php.ini里加上這兩行就ok了
先把一句話木馬放到項(xiàng)目里,然后使用xx工具進(jìn)行入侵
這時(shí)候http請(qǐng)求雖然成功了,但是已經(jīng)無法拿到權(quán)限了。?
其實(shí),后門入侵的方式很多,尤其開發(fā)人員或者購(gòu)買的代碼,這個(gè)只是防止了一句話木馬,還有更致命大馬、小馬 以及提權(quán)。?
等我研究好防止大馬的東西會(huì)再出來記錄。