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