记一次主机攻击处置经历
编辑发生啥事
在零点时突然收到腾讯云助手的告警,业务的服务器出现异常的高负载。如下图。后面查明是主机受到了攻击,主要方法是尝试常用账户名&弱密码尝试登录ssh。整个过程大约持续十分钟,没有对服务器&业务系统产生大的影响。
处置过程
查明威胁
服务器负载异常高,首先是要看看是什么进程消耗了大量资源。因此我第一时间用glances(类似于top,但界面更加友好)查看进程占用,看到sshd占用率非常高,其实就已经猜出来,攻击方式是暴力破解我的ssh密码。
这里当时没有留截图,用一个腾讯云监控面板的图代替。其实就是看到cpu占用很高,但内存占用没有增长,磁盘读写这些也没什么,可以看得出来数据库没有受牵连,也不是业务系统负载问题(因为寒假期间,没什么人用),同时看到sshd占用非常高。
判断影响
首先是要看密码是否被破解了。这里如果你根本就没有密码(后面会提到)或者没有使用弱密码,其实不用担心。但是可以使用last命令查看一下最近成功登录的记录。
这里可以看到最近几次都是我自己的登录记录,没有异常ip登录成功,ok放心了。同时,如果你有打开腾讯云的主机安全,有异常ip(主要是跟平时登录的归属地不同)登录也会有告警提示的。
另外就是看一下登陆失败的用户信息,使用lastb命令,这里因为是倒序排列的(最新的记录在最前面),所以使用一下head命令。
可以看到这些尝试的用户都是一些常见的密码,例如postgres、mysql之类的常见的用户名。
同时也可以查看登录日志,使用
tail /var/log/secure
可以看到其实这些尝试密码的攻击很多(今天又有新鲜的失败记录),最后一条是我登录成功的记录。
详细处置
其实就是没有处置,因为这些破解相对来说没有威胁,攻击的时候虽然cpu占用很高,但没有影响到业务系统的运行。另外,通过查看日志可以发现,这些攻击换ip非常频繁,通过ban ip的方式作用不大。放着不管就ok。
经验总结
这边分成事前&攻击发生时来讨论。
事前
-
**(推荐)**ssh不要使用密码登录,使用密钥登录,root账号没有密码,你怎么尝试都没有用。
-
**(必须)**不要设置弱密码!不要设置弱密码!不要设置弱密码!
-
**(推荐)**如果需要为mysql、git等应用单独开设账号,请指定这些账号使用nologin而非bash,同时限制这些账号只能通过localhost登录。
-
**(必须)**数据库等设置定时备份,即使被攻击(通常会被勒索)也不会损失太多数据。
-
ssh服务开在一些非常规随机端口(国外vps常见做法)
- 0
- 0
-
赞助
微信赞赏码 -
分享