php 安全设置总结。
打開php.ini,查找disable_functions,按如下設置禁用一些函數
disable_functions?=phpinfo,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
Nginx為例
1、為防止跨站感染,要做虛擬主機目錄隔離(我是直接利用fpm建立多個程序池達到隔離效果)
2、上傳目錄、include類的庫文件目錄要禁止代碼執行(Nginx正則過濾)
3、path_info漏洞修正:
if?($request_filename?~*?(.*)\.php)?{
set?$php_url?$1;
}
if?(!-e?$php_url.php)?{
return?404;
}
4、重新編譯Web?Server,隱藏Server信息。
5、打開相關級別的日志,追蹤可疑請求,請求者IP等相關信息。
改變目錄和文件屬性,禁止寫入
find?-type?f?-name?\*.php?-exec?chmod?444?{}?\;
find?-type?d?-exec?chmod?555?{}?\;
注:當然要排除上傳目錄、緩存目錄等;
同時最好禁止chmod函數,攻擊者可通過chmod來修改文件只讀屬性再修改文件!
PHP配置
禁用危險函數:
dl,eval,exec,passthru,system,popen,shell_exec,proc_open,proc_terminate,curl_exec,curl_multi_exec,show_source,touch,escapeshellcmd,escapeshellarg
MySQL賬號安全:
禁止mysql用戶外部鏈接,程序不要使用root賬號,最好單獨建立一個有限權限的賬號專門用于Web程序。
查殺木馬、后門
常見的一句話后門:
grep?-r?–include=*.php??‘[^a-z]eval($_POST’?.?>?grep.txt
grep?-r?–include=*.php??‘file_put_contents(.*$_POST\[.*\]);’?.?>?grep.txt
把搜索結果寫入文件,下載下來慢慢分析,其他特征木馬、后門類似。有必要的話可對全站所有文件來一次特征查找,上傳圖片肯定有也捆綁的,來次大清洗。
查找近2天被修改過的文件:
find?-mtime?-2?-type?f?-name?\*.php
注意:攻擊者可能會通過touch函數來修改文件時間屬性來避過這種查找,所以touch必須禁止
最后要及時補上Web程序漏洞
總結
木馬、后門查殺是個漫長的過程,網站一旦被入侵任何旮旯拐角都可能留下后門。中途可能和攻擊者進行神交,摸清攻擊者的性格、習性等,這些都有利于查殺。
總結
以上是生活随笔為你收集整理的php 安全设置总结。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx的405 not allowe
- 下一篇: 15年捷达1.6升自动舒适型,现在能卖几