木馬和後門的查殺是系統管理員一項長期需要堅持的工作,切不可掉以輕心。以下從幾個方面在說明Linux系統環境安排配置防范和木馬後門查殺的方法:
一、Web Server(以Nginx為例)
1、為防止跨站感染,將虛擬主機目錄隔離(可以直接利用fpm建立多個程序池達到隔離效果)
2、上傳目錄、include類的庫文件目錄要禁止代碼執行(Nginx正則過濾)
3、path_info漏洞修正:
在nginx配置文件中增加:
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配置
修改php.ini配置文件,禁用危險函數:
disable_funcions = 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必須禁止
六、及時給Linux系統和Web程序打補丁,堵上漏洞