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規則相關腳本
  //注意:這裏改成你需要屏蔽的目錄 比如upload目錄
  php_flag engine off
  Order allow,deny
  Deny from all

php.ini需要修改的地方

查找:disable_functions找到後在=後面添加這裏都是禁止在php裏面執行的函數
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)
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 目錄中 請直接查看列表 根據情況進行處理。

3.查找最近一天被修改的PHP文件
#find -mtime -1 -type f -name \*.php
  修改網站的權限
find -type f -name \*.php -exec chmod 444 {} \;

find ./ -type d -exec chmod 555{} \;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章