• 记录服务器被黑事故


    前言:
    突然发现自己公司买的本地测试服务居然被黑客入侵拿来挖矿了,这能忍吗?
    1:查看服务
    image

    2:查看定时任务
    image

    检查开机启动项
    cd /etc/init.d/
    image

    cat /etc/rc.d/rc.local
    image

    查看启动时间:ps -p 5952 -o lstart
    image

    查看脚本位置
    image
    image

    crontab -r #删除定时任务
    image

    提示无法删除,于是我去目录查看了一下这个文件跟之前的病毒脚本一致,居然还有一堆的隐藏脚本,外面的脚本估计是来迷惑我们

    查看任务计划:
    cat /var/spool/cron/root
    image

    删除计划任务(如果没有配置其他任务):
    rm -rf /var/spool/cron/*
    解决办法:

    ①杀死/bin/dhpcd进程
    image

    ②删除/etc/rc.d/rc.local文件的可疑命令
    image

    ③备份/bin/dhpcd为/bin/dhpcd.bak,然后删除/bin/dhpcd
    image

    ①检查进程(top -c)
    ②检查定时任务(crontab -l、cat /etc/crontab)
    ③检查端口的状态(netstat -aulntp)
    image
    image
    image

    ④检查开机启动项(ll /etc/init.d/、cat /etc/rc.d/rc.local)

    经过重装系统后不到2天,又被攻击了,所以重装系统虽然能解决90%的问题,但是有可能治本不治本,毕竟提示自己的防御力才是真正的治本。
    image

    还是按上面的方法先操作一遍
    image

    这次居然是瑞士的服务器
    image

    查看密钥认证文件
    删除木马创建的密钥认证文件,如果当前系统之前并未配置过密钥认证,可以直接清空认证存放目录:cat /root/.ssh/authorized_keys
    image

    rm -rf /root/.ssh/*
    如果有配置过密钥认证,需要删除指定的黑客创建的认证文件即可

    如果出现无法删除,则执行

    chattr -i authorized_keys
    image

    删除执行的进程
    image

    查询远程登陆用户
    lastb
    image

    查看ssh远程登陆成功的用户,发现有3个陌生的IP
    tail -1000000 /var/log/secure | grep Accepted
    image

    彻底解决方法:

    1.修改ssh端口

    [root@zwlbsweb ~]# vim /etc/ssh/sshd_config
    ---------------配置如下----------------
    Port 2298

    重启ssh
    systemctl restart sshd
    查看端口

    [root@zwlbsweb ~]# netstat -ntlp | grep 2298
    tcp 0 0 0.0.0.0:2298 0.0.0.0:* LISTEN 15156/sshd
    tcp6 0 0 :::2298 :: LISTEN 15156/sshd

    2.防止ssh暴力破解

    同一个IP地址超过10次的尝试,就加入/etc/hosts.deny。

    #! /bin/bash
    cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /sshPrevent/black.txt
    DEFINE="10"
    for i in `cat  /sshPrevent/black.txt`
    do
            IP=`echo $i |awk -F= '{print $1}'`
            NUM=`echo $i|awk -F= '{print $2}'`
            if [ $NUM -gt $DEFINE ];
            then
             grep $IP /etc/hosts.deny > /dev/null
              if [ $? -gt 0 ];
              then
              echo "sshd:$IP" >> /etc/hosts.deny
              fi
            fi
    done
    

    添加计划任务

    [root@zwlbsweb ~]# crontab -e
    */5 * * * * /bin/bash /sshPrevent/ssh_pervent.sh

    每五分钟检查一次

    重启crontab

    [root@zwlbsweb ~]# systemctl restart crond

    不定时查看效果

    ssh防爆力破解脚本Fail2ban

    gihub地址:GitHub - FunctionClub/Fail2ban: 最简单的防止SSH暴力破解的脚本

    一.安装Fail2ban
    wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log

    1. 第一步选择是否修改SSH端口。
    2. 第二部输入最多尝试输入SSH连接密码的次数
    3. 第三部输入每个恶意IP的封禁时间(单位:小时)

    二.重启ssh
    systemctl restart sshd

    三.验证
    经过几个月的验证,再也没有被黑客入侵过了,虽然每天想登录的非法ip很多,但是全部被拦截在外了

  • 相关阅读:
    codechef BIBOARD
    Tree
    NOIWC2021总结
    星际穿越
    GDKOI总结
    lg4229
    P3320 [SDOI2015]寻宝游戏
    P6670 [清华集训2016] 汽水
    P6326 Shopping
    P3060 [USACO12NOV]Balanced Trees G
  • 原文地址:https://www.cnblogs.com/harry66/p/16333393.html
Copyright © 2020-2023  润新知