1.top查看挖礦病毒運行的進程,cpu一般占用很大比例
2. cd /var/spool/cron
到里面去看是否多了www或其他的定時任務文件
3. cd /tmp
然后 ll 查看一下,最近建的文件
挖礦程序一般都放這里面
4.查看項目public或其他地方 是否有新增遠程調用文件(一般php文件)或注入代碼
處理:
1.kill掉top里高cpu的進程
[root@localhost tmp]# ps -ef | grep www | grep -v php | more
www 2635 1 99 22:01 ? 00:08:25 ./sysupdate
www 2686 1 99 22:01 ? 00:05:52 ./networkservice 15
root 4491 29554 0 22:05 pts/3 00:00:00 grep --color=auto www
www 26566 1 0 Apr11 ? 00:00:06 ./sysguard
www 31533 6836 0 22:00 ? 00:00:00 nginx: worker process
www 31563 6836 0 22:00 ? 00:00:00 nginx: worker process
www 31752 6836 0 14:30 ? 00:00:02 nginx: worker process
www 31761 6836 0 14:30 ? 00:00:02 nginx: worker process
[root@localhost tmp]# kill -9 2635
[root@localhost tmp]# kill -9 2686
[root@localhost tmp]# kill -9 26566
2.刪除定時任務
[root@localhost tmp]# cd /var/spool/cron
[root@localhost cron]# ls
root www
[root@localhost cron]# cat www
*/30 * * * * sh /tmp/update.sh >/dev/null 2>&1
[root@localhost cron]# rm -f www
3.刪除 tmp里的病毒腳本。 碰到刪除不掉的可以先 chattr -i update.sh ,再 rm -f update.sh
[root@localhost tmp]# ll | grep -v sess
total 5548
-rwxrwxrwx. 1 www www 3356 Apr 11 10:45 config.json
-rw-r--r--. 1 www www 2 Apr 12 22:00 kdevtmpfsi
-rwxrwxrwx. 1 www www 2584072 Apr 11 10:45 networkservice
-rw-r--r--. 1 www www 2 Apr 12 22:00 redis2
-rwxrwxrwx. 1 www www 1929480 Apr 11 10:45 sysguard
-rwxrwxrwx. 1 www www 1102480 Apr 11 10:45 sysupdate
-rw-r--r--. 1 www www 7 Apr 12 22:00 sysupdates
-rwxrwxrwx. 1 www www 37659 Apr 12 22:00 update.sh

4.刪除項目里的腳本,然后必須給大點權限的:文件權限都設置 644 目錄都設置755 runtime 可以設置 777
5. 查看bash,設置不可登陸

[root@localhost cron.hourly]# cat /etc/passwd | grep bash
root:x:0:0:root:/root:/bin/bash
www:x:998:1000::/home/www:/bin/bash
mysql:x:997:1001::/home/mysql:/bin/bash
[root@localhost cron.hourly]# usermod -s /sbin/nologin www
[root@localhost cron.hourly]# usermod -s /sbin/nologin mysql
6.補漏洞:
①修復thinkphp的漏洞,參考鏈接:https://blog.thinkphp.cn/869075

②禁用php里的高危函數
找到php.ini whereis php.ini
編輯php.ini 比如我的 vim /usr/local/php/etc/php.ini
添加:disable_functions = phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
禁用eval函數:
舉例 PHP 7.0.19
下載PHP_diseval_extension
github下載地址為 https://github.com/mk-j/PHP_diseval_extension
然后進入到PHP_diseval_extension/source (看清楚是里面的source目錄里),然后執行正常的擴展的安裝命令
在擴展包目錄內執行 /usr/local/php/bin/phpize (換成自己的php安裝目錄)
在擴展包目錄內執行 ./configure --with-php-config=/usr/local/php/bin/php-config
執行make && make install
打開php.ini文件,配置重啟PHP
extension=diseval.so
參考:https://www.cnblogs.com/redfire/p/7695310.html
https://www.jianshu.com/p/75c9ccb68c45
③修改nginx配置,只讓index.php為入口
# location ~ \.php {
location ~* (index.php) {
fastcgi_pass 127.0.0.1:9000;
。。。。。
}
