1、伺服器本身的安全
安裝denyhost,防止SSH的暴力破解,具體安裝方法參考《denyhost防止SSH暴力破解,保護你的linux》一文。
另外對系統的一些重要檔案添加一個i許可權
比如:
代碼如下 |
複製代碼 |
# chattr +i /etc/passwd # chattr +i /etc/group # chattr +i /etc/shadow # chattr +i /etc/gshadow # chattr +i /etc/ssh/sshd_config |
2、nginx和php的安全
(1)對discuz/attachments,uchome/attachment,ucenter/data/tmp等使用者上傳的目錄,限制php程式。centos+nginx本身應該比較安全的,一般的駭客都是利用webshell來入侵。
在nginx的設定檔裡面添加
代碼如下 |
複製代碼 |
location ~ .*\.(php|php5)?$ { ……. #—————————————— rewrite ^/(uc\_client|templates|include|plugins|admin|attachments|images| forumdata)/.*\.(php|php5)?$ /50x.php last; #——————————————- } |
(2)修改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裡面執行的函數
(3)對一些重要而且不需要修改的檔案添加i許可權,方法同《1、伺服器本身的安全》部分
3、如何尋找伺服器中的php木馬
PHP木馬的最明顯特徵是使用了eval與base64_decode這個函數,我們可以這麼尋找
代碼如下 |
複製代碼 |
find /var/www/ -type f -name “*.php” | xargs grep “eval(” |more |
如果發現這樣的字樣,多半是木馬程式
代碼如下 |
複製代碼 |
eval(base64_decode(…………..)); |
經驗分享:如果你是windows系統我們可以使用像安全狗或webshell外掛程式來掃描伺服器php檔案上不是有php木馬了,我經常使用後者來尋找非常的不錯,當然安全還是很重要的一步了,就是把一些系統函數給禁止掉了。