你有没有遇到过服务器被挖矿?反正我遇到过。
一般挖矿的人不会把时间浪费在某一台服务器上,常规做法都是通过网络空间搜索引擎或者端口扫描工具,来进行整个网段的批量扫描,然后根据扫描得到的结果筛选出快速自动拿到权限的机器,然后再去自动化跑脚本,找到可以直接登录的服务器列表,针对这一系列的IP去拿权限。
挖矿的本质是什么呢?就是利用可以利用的资源,实现快速产出,获取利益。
一般常见特征在于未授权漏洞和弱密码。针对这些情况我们可以做的有哪些呢?
首先,事前自检然后应急修复。那我们就来盘点一下常见的未授权漏洞和弱密码有哪些:
1、Hadoop未授权——50070
2、Mongodb未授权——27017
3、Redis未授权——6379
4、Elasticsearch未授权——9200
5、Memcached未授权——11211
6、Zookeeper未授权——2181/2888/3888
7、JBOSS未授权——8080
8、Docker未授权——2375
9、Rsync未授权——873
还有Gitlab、Jenkins、NFS、Samba等都有某些版本或因为配置不当存在未授权可访问的漏洞。
1、服务器系统用户弱口令
2、web弱口令
3、中间件web管理端弱口令
4、应用弱口令
比如常用的phpMyAdmin弱口令、一些测试服务器web测试账号弱口令等
除以上两种,还有一些利用条件不高的高危系统或组件漏洞,也需要注意。
那么事前自检我们应该做哪些呢?
最好的方法就是自己做扫描检测,在某些搜索引擎比如(fofa、shodan、zoomeye、censys等),直接输入自己的服务器IP地址,就能看到服务器暴露的服务、端口来确认服务器的安全问题。
还可以通过一些端口扫描工具来查看服务器对外端口,确认是否安全,加授权、加白名单等都是方法。
而弱密码可以直接设置不允许弱口令,web端的弱口令,常用的方法是通过brup+字典的形式进行扫描,也可以通过Cheetah、WebCrack等工具来测试,前提是获得内部许可。
系统及组件的漏洞,可以通过Nessus自己进行安全检测,也可以通过审计工具lynis对服务器安全基线进行扫描
但是如果已经被挖矿了怎么办?
云服务器如果条件允许,一定要做异地数据备份,这样快照备份之后复盘就省了很多事情了。
物理服务器的话建议先把业务切到其它服务器然后再来做排查清理,一般我们会用GScan、rkhunter、FastIR等都可以。
总之,技术运维人员应当知道自己的弱点所在,有针对的防御能达到事半功倍的效果。如果不清楚弱点所在也可以联系开云,专业的渗透团队为您指点迷津。