Linux安全之PHP木馬查殺與防范
服務器安全防范篇
1.服務器自身系統安全:
使用最新的操作系統,或者最新的穩定版(比如Ubuntu的LTS),定期打好更新,系統權限合理劃分,重要文件做權限安全保護。
比如
# chattr +i /etc/passwd
# chattr +i /etc/group
# chattr +i /etc/shadow
# chattr +i /etc/gshadow
# chattr +i /etc/ssh/sshd_config
使用DenyHost程序防止SSH被暴力攻擊,具體方法見站外文章:http://www.myhack58.com/Article/48/66/2011/28833.htm
2.Web服務器和PHP的安全規則:
首先根據需求更新Web服務器和PHP,在網站程序目錄中嚴格定義權限,比如不會修改的地方 做好禁止寫入權限, upload目錄和cache等臨時目錄需要做好限制PHP或相關腳本運行。
nginx規則相關腳本:
location ~ .*\.(php|php5)?$ {
…….
#——————————————
rewrite ^/(uc\_client|templates|include|plugins|admin|attachments|images|
forumdata)/.*\.(php|php5)?$ /50x.php last;
#——————————————-
}
apache規則相關腳本
<Directory "D:\opt\www\webroot\upload"> //注意:這里改成你需要屏蔽的目錄 比如upload目錄
php_flag engine off
<Files ~ "\.(php|jsp)">
Order allow,deny
Deny from all
</Files>
</Directory>
PHP.INI需要修改的地方(很重要)
查找:disable_functions
找到后在=后面添加
exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink,symlink,link,leak,fsockopen,proc_open,
popepassthru,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,popen
這里都是禁止在php里面執行的函數
服務器木馬查殺篇(PHP)
1.安裝殺毒軟件,我的服務器使用的是avast效果還算比較好。
2.根據木馬特征掃描人工排查(人工排查這個就需要個人經驗判斷了)
PHP木馬的最明顯特征是使用了eval與base64_decode這個函數還有一些比較危險的函數。
可以輸入下面的命令 進行查詢
find /home/www/ -type f -name "*.php" | xargs grep "eval(" |more
增強版(在網站目錄執行):
find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decoolcode|spider_bc"> /tmp/php.txt
grep -r –include=*.php '[^a-z]eval($_POST' . > /tmp/eval.txt
grep -r –include=*.php 'file_put_contents(.*$_POST\[.*\]);' . > /tmp/file_put_contents.txt
find ./ -name "*.php" -type f -print0 | xargs -0 egrep "(phpspy|c99sh|milw0rm|eval\(gzuncompress\(base64_decoolcode|eval\(base64_decoolcode|spider_bc|gzinflate)" | awk -F: '{print $1}' | sort | uniq
上面代碼最終會講名單輸出到 /tmp 目錄中 請直接查看列表 根據情況進行處理。
查找最近一天被修改的PHP文件
#find -mtime -1 -type f -name \*.php
修改網站的權限
find -type f -name \*.php -exec chmod 444 {} \;
find ./ -type d -exec chmod 555{} \;
以上就是我最近在互聯網上查詢到的一些安全與查殺木馬的一些方法,也許還不是很全面,歡迎各位大大在留言中補充。
補充1:學會利用日志功能,查看黑客訪問了哪些文件逐條查詢,也許你會發現意想不到的東西-w-
補充2:如果覺得日志太多了,可以考慮刪除掉,然后過一會再來看。當然大型網站 就麻煩了。
關鍵字:Linux、安全、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解