針對木馬的PHP環境設定高級防護

針對木馬的PHP環境設定高級防護

文章DarkSkyline » 週五 12月 8日, 2006年 10:26 am

1.只允許php程式在web目錄裡操作

修改httpd.conf,如果你只允許你的php程式在web目錄裡操作,還可以修改httpd.conf文件限制php的操作路徑。
比如你的web目錄是/usr/local/apache/htdocs,那麼請在httpd.conf裡加上這一行:

php_admin_value open_basedir /usr/local/apache/htdocs

這樣,如果程式要讀取/usr/local/apache/htdocs以外的文件將不會被允許,會提示下列這樣的錯誤:

Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/apache/htdocs/open.php on line 4 等等。

2、防止php木馬執行webshell

打開safe_mode, 在php.ini中設置 disable_functions= passthru,exec,shell_exec,system 二者選一即可,也可都選

3、防止php木馬讀寫文件目錄

在php.ini中的 disable_functions= passthru,exec,shell_exec,system 後面加上php處理文件的函數

主要有
fopen,mkdir,rmdir,chmod,unlink,dir
fopen,fread,fclose,fwrite,file_exists
closedir,is_dir,readdir.opendir
fileperms.copy,unlink,delfile

即成為

disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir ,fopen,fread,fclose,fwrite,file_exists ,closedir,is_dir,readdir.opendir ,fileperms.copy,unlink,delfile

ok,大功告成,php木馬拿我們沒轍了,遺憾的是這樣的話,利用程式對資料進行檔案存取的一些功能就不能用了。


PS:如果是在windos平臺下搭建的apache我們還需要注意一點,apache默認運行是system權限,這很恐怖,這讓人感覺很不爽.那我們就給apache降降權限吧。

net user apache fuckmicrosoft /add
net localgroup users apache /del

ok.我們建立了一個不屬於任何群組的用戶 apche。

我們打開[控制台]->[系統管理工具]->[服務],點選apache服務的"內容",我們選擇"登入",選擇"這個帳戶",填入上面所建立的帳號和密碼,重啟apache服務,ok,apache運行在低權限下了。

實際上我們還可以透過設置每各個文件夾的權限,來讓apache用戶只能執行我們想讓它能做的事情,給每一個目錄建立一個單獨能讀/寫的用戶。
這也是目前很多虛擬主機提供商的配置方法哦,不過這種方法用於防止這裡就顯的有點大材小用了。
DarkSkyline
 

回到 Linux 作業系統

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 5 位訪客

cron