如何发现排查和防范挖矿程序?

GhostCoder
  • 322
最近服务器受到了挖矿程序的困扰,想求教应对挖矿有哪些方法(并没有想要一劳永逸或者妄想不花钱就解决的意思),只是想请教小公司有哪些力所能及的事情可以做
  • 如何及时发现呢?要怎么发现呢?就 top 看资源利用么?
  • 发现后该如何处理呢?是只要 Kill 么?但我试过并不行
  • 事后如提高预防呢?
  • 有哪些标准的处理流程套路么?
  • 有哪些好的学习资料可以去学习?(付费的也行)
回复
阅读 3.1k
3 个回答

说说我自己的一点经验
防范:

  1. 非必要的服务器一律不连互联网
  2. 服务器内网之间有条件的话做好隔离(主要是防止被入侵的主机横向扩展)

排查:

  1. 某些厂家的安全设备,基本上能检测到一些挖矿的流量特征,也有预警功能(可能比较贵)
  2. 看服务器负载
  3. 看有没有异常的网络访问

处理:

  1. 发现后如果条件允许、先断网、看看有没有攻击其他机器的迹象
  2. 找从哪个位置被入侵的(需要打补丁、更新程序)
  3. 重装系统(因为被入侵之后可能的后门可能非常多,不好找)

首先非必要端口不要轻易放开防火墙,比如3306这些数据库端口非必要条件下就别在不限制ip的情况开放,程序最好使用docker的简易镜像部署,这样的镜像可能最简单的wget,url都没有,导致就算被植入的挖矿的下载脚本,也没法直接下载,攻击者一般也不会特意为你的机器做定制的,一般是通过脚本批量扫描机器,看看有哪些机器有他能利用的漏洞的,docker容器就算感染了,直接重启一个容器就得了,也没必要再重装一个系统

weak_ptr
  • 1.8k
  • 重中之重,定期冷/热备份,分开存放,不然一个勒索病毒就能损失惨重。
  • 贯彻最小权限原则,能不开的端口不开,不必要的权限不给,不需要访问的数据不允许访问,暴露到公网的服务最好容器化隔离。
  • 内网规模大的话考虑分网段隔离。
  • SSH仅密钥登陆,一定要允许密码的话就一定要防范弱密码,限制登陆重试时间
  • 主机做好负载监控和报警
  • 定期巡检维护,看服务有什么新的漏洞(查CVE之类)和更新补丁,做好更新。
  • 自研的软件也要做好维护,特别是注意依赖的库有没有漏洞报告或者遭受供应链攻击的情况。

补充一句屁话,实际上能做到多少算多少了。安全这种事情就是没出事的时候都嫌你烦,出事了好点的就抓一波,过了风头恢复原样。毕竟你也没法要求一群电脑都玩不明白的同事有什么网络安全意识对吧。

宣传栏