服务器被黑客攻击和被挖矿之后的SSH安全防御 | SSH security defense after server is hacked and mined

PS:本人非专业网络安全攻防人员,仅为个人实践经验。本文可能难免有不当之处,欢迎您的讨论和指导。此外,本文同时发布在个人GitHub Pages上了,欢迎访问和指导。

1. 确定服务器是否被黑客攻击和被挖矿

确认服务器是否出现被黑客攻击和被挖矿等异常情况的方法有:

1.1. 查看显卡使用是否异常

使用nvidia-smi或其他命令发现显卡使用出现异常,如:

  • 显卡被某用户的不明进程占用,且利用率很高甚至为100%。

1.2. 查看进程信息是否异常

使用top或其他命令发现进程出现异常,如:

  • 某用户的进程运行命令中出现了ethcoinwalletpool或其他与挖矿相关的参数。

PS:黑客经常很狡猾的,会将挖矿程序改成python或其他常用的程序的名字,其运行参数也可能改成其他名字,故有时较难发现某进程是否为挖矿进程。

1.3. 查看登录用户信息是否异常

使用last或其他命令发现某用户的登录出现异常,如:

  • 登录时间异常(非内部人员服务器使用习惯的登录时间,比如在三更半夜时登录);
  • 登录ip异常(非已知的内部人员所用网络设备的ip,比如外网甚至是国外的ip,比如校园网内其他非内部人员的ip)。

1.4. 查看可能异常用户是否有异常文件

若发现某用户的文件中存在一些挖矿相关配置的文件或者程序,则该用户很可能被用来进行过挖矿等异常操作。和该用户沟通确认后,对挖矿或其他异常操作的文件或程序进行删除。挖矿相关配置文件示例(黑客在root用户目录的./.cache/.x/目录的config.ini的挖矿配置信息):
请添加图片描述
PS:黑客可能比较狡猾,将进行异常操作的文件或程序命名为不容易察觉的名字或者存放到不容易发现的地方。

2. 设置SSH安全防御

配置hosts.allow和hosts.deny文件来过滤通过SSH连接服务器的ip,设置流程如下:

2.1. 配置hosts.allow

/etc/hosts.allow文件中添加如下内容:

sshd:192.168.1.108
sshd:192.168.2.

其中,sshd:192.168.1.108是允许单个ip进行SSH访问,sshd:192.168.2.是允许ip段内的所有ip进行SSH访问。

2.2. 配置hosts.deny

/etc/hosts.deny文件中添加如下内容:

sshd:ALL

其中,sshd:ALL是禁止除了/etc/hosts.allow中允许的ip之外的所有其他ip进行SSH访问(hosts.allow权限等级高于hosts.deny)。

2.3. 重启SSH服务

sudo service sshd  restart

3. 验证SSH安全防御效果

查看/var/log/auth.log或其他登录日志文件(如/var/log/auth.log.1),确定是否有/etc/hosts.allow中允许的ip之外的ip被成功禁止了SSH访问。可用如下命令查看:

sudo cat /var/log/auth.log | grep refused

请添加图片描述
此处,公示下某个一直尝试爆破我所用服务器的校园内的ip(至今被探查到连接失败就有54555次):

54555  Apr 28 08:07:17 amax sshd[852562]: refused connect from 172.31.111.189 (172.31.111.189)

PS:若您在设置SSH安全防御之后,黑客没有再通过SSH攻击您的服务器,那可能没有被禁止访问的ip记录。此时,您可将您现有某个ip不放到/etc/hosts.allow中,并拿其来连接您的服务器就会有其访问记录了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值