服务器的安全应该从哪些角度考虑-中了挖矿病毒

我们有客户服务器区域中了挖矿病毒,
这个应该怎么防护,服务器的安全应该从哪些角度考虑
*********

这个东西比较复杂,关键就是怎么感染的挖矿病毒,首先你要把原始的这个边界上的那个防火墙检查一下,或者是那个服务器这块,如果是应用层面的,把日志检查一下,要溯源,要看一下到底这个东西是怎么感染上的,因为这个东西比较复杂,你服务器区域里面有可能有多个应用,每个应用你说不清楚对吧,因为有应用它本身有应用层面的漏洞,而且这个应用访问有两种来源,第一种是互联网的,或者是专网的,还有一种是它自己内部的操作的。

然后内部的操作他就可能涉及到这个,他是不是违规了用了优盘,或者上了不该上的网,或者是他有一些非法外联,比如说她用了什么U盘,用自己的U盘,当热点映射出去,去非法外联造成了这个服务器被感染,因为你有可能在终端和内网的终端和服务器区域之间没有做任何的防护,这是第一种可能。

第二种可能就是在互联网区域,就是互联网区域的话,到服务器区域之间,他没有做相关的访问控制,或者是像IPS或者是那个防火墙,没有做相关的防御。边界编辑上面做一些入侵防御的手段,可能都没有做,这有一种可能,然后导致这个服务器开放一些危险端口,或者是应用层面的漏洞,或者是中间漏洞,导致这个整个服务器被攻下了。

这种都是有可能的,所以就是说要根据实际情况去判断,就是根据他的日志或者边界防火墙的这种这种日志去看一下到底是怎么感染上的。

然后平时做的时候是这样的,因为终端这块终端杀毒你肯定要做的,然后终端的话到这个服务器区域的防控,只要做好,只允许哪些终端访问哪些服务器,而且服务器区域里面的应用层面之间就是各个应用之间要做好防护,这个你可以用那个基于主机的ips或者基于主机的防火墙来做到仅允许哪些主机访问那些数据库,哪个数据库访问哪些主机,这块儿你要把这个房控制策略的区域内服务器的防控策略的颗粒度做小。

这个实际上就是横向区内的对吧,然后纵向的话就是在互联网到服务器区域之间要做好这个防火墙的防控的策略,就是只允许对外暴露哪些端口,哪些IP,然后服务器区域应用本身这一块儿的这个防护手段要做好。比如该上WAF上waf,然后定期扫描的扫描,有高危漏洞的,该打补丁的打补丁,然后服务器本身这一块儿的主机这块儿也是一样的,该打该打补丁打补丁,然后如果是BS架构的,尽量在服务器签单,那个上WAF,这块儿都都把它做好,然后ips特征库定期升级。

然后还有一些情况,就是说特别是强调的,区域内的服务器区内的都应用之间的互相隔离,这个要做好,因为经常会出现你可能关注的是被攻击的那个系统,但是你有可能忽略了,在一个区域内的其他应用系统,因为现在目前主流的入侵手段就是不直接攻击这个重要系统,因为这个重要系统防护很好,我不一定直接去攻他,我们就在这个网段内扫描,比如说我去找同网段的,或者是同一个单位的,同一个责任主体的,里面有些系统对吧,然后我就黑其中一个,然后我再在内网漫游找到你这个系统,这种现在目前做的是比较多的,还有一种就是利用这个社工钓鱼 (俗称的社会工程),比如我发个邮件到你员工的手里,很多单位他认为我内网访问内网的服务器肯定没问题,但是他的内网的终端就可以访问互联网的,就是通过这种方式也可以钓鱼,钓到你服务器内网去。

所以这种这些东西就是平时注意就好了,然后服务器上把杀毒软件装好,基本上问题都不大了。

******
扩展思维:如何做安全?(以下是和朋友聊天的内容)

这个问题很值得说道一下,我这么跟你说,这也是我为什么不太喜欢去研究安全的一个致命的一个原因,就是说大家伙儿在讨论安全的时候,一直把这个关注点都放在网络这个层面上.
我想告诉你一个事实,条件是你如果把这个仅仅停留在网络层面上的话,那这个安全就特别的肤浅。你想你中毒了,病毒已经到了这个机器里边儿,那我想请问一个问题:你难道没有杀毒软件吗?但现实的情况是很多企业的客户端就是不装杀毒软件,然后他们就惯性思维的,把这个所谓的服务器之间的安全放在网络层面上来说。
我就跟你说句实在话,这不是网络该干的事儿,东西向流量过防火墙这个压根就不合理,虽然在物理世界你可以这么设计 。防火墙是为了隔离一个公司里面不同部门或不同区域间访问的。,但是如果说你都是在同一个交换机,下边儿的服务器的话,他们默认就是能通信的,如果要在这个层面做访问控制的话,那是服务器里边杀毒软件的事情,这跟交换机的功能不发生一毛钱关系。那么按照以上这个说法来看的话,那么也就谈到了一件事情,那我怎么能够做到那些这样的过滤功能,那很简单,就是在杀毒软件里面开这个过滤功能。

而且如果把这视角延伸到云平台,比如说K8S这种软件的话,他们这种分布式套装的这种管理套件里面,所谓的那个分布式防火墙的意思就是希望把下面那些server,那些虚拟机通过我本地的一个一个所谓的一个防火墙去来做一个过滤,相当于说就在我机器里边就已经做好了这件事情,然后我的underlay的那个物理交换机压根儿就不需要知道,所以的话,这相当于说跟上边儿说是一样的,所以如果服务器如果连杀毒软件都不装,病毒到你这儿来,你连个反应都没有,你不觉得很奇怪吗?所以说你知道这个就是我一直就是跟很多网络工程师就聊不到一块儿的一个原因,他们一直在讨论说,我这个是东西,这流量该怎么防护这问题不要问这问题,不要问这个问题,没有意义,OK,这个问题没有意义,那是你服务器该干的事情,就这个理论,难道打个比方说,你有50台交换机下面连接服务器的情况下,你需要用50台防火墙去做所谓的东西流量这样的一个设计吗?精神病

而且第三个问题是,很多很多真实才能里边的服务器就是生产环境,里边儿的都是年久失修的,这种情况你想年久失修代表了啥?你系统连更新都不更新,里边儿一堆安全漏洞框一扫你全都是漏洞,就是说可能黑客会用到这个缺陷,这种感觉的,你说你的升级也不升,中病毒不是该吗?就是你知道这是这个,就是我的所思,这个我觉得一点都不过分,那就是改,这个就是这种感觉,你这个所谓的,就是,Linux是这种东西的防火墙的话,我这么跟你讲,你如果说想把锅甩给第3方,你就买这个收费版的,OK,你如果说想自己研究咋地的话,你有这方面的管控能力,并且来讲,你在你的公司里边儿有这个专门儿做渗透的那个工程师,就是他天天去攻击你,天天去攻击你,然后测试你这个软件是不是OK这样的一个意思,那么你可以去选择一些open source的solution open source的防火墙。所以说第一件事情,先先先请你把你的服务器先升个级,打好补丁,接下来的话,装个防火墙.  网络解决不了主机层面上病毒的问题。

并且的话呢,以上在就在跟你说的特别打脸的说辞,在更多处的case,里边儿客户端就算买个就是多牛逼的防火墙,咋地如何如何的,他也就是简单的acl,我就问这问题是不是对吧,虽然你可能有ips那些功能咋地的,如何那玩意儿用户端也不开,对吧,用户端也不开,他不开就是找抽呢,这情况就是这个情况,是不是呢,你看我说的是不是这个道理,你买的东西本来有这个功能,但是你不用对吧,他可能来说会会能检查到一些就是攻击的源头,然后从网络层面给你QQ聊,这是有可能的,这个事也能做得到的,基础上也是OK的,但是他没有,然后呢,防火墙这个版本儿也不更新,病毒库也不更新,跟这个云端也都没有那个,这个这个这个交互行为,说白了就是属于官方给你的设备,让你买来深思,让你买微博是为了干这个事儿的,你别以为说就只是OK,我,就收你那个微博,你觉得没什么用处的不是那个意思,不是那个意思的,OK,不是那个意思的,你像你,要是如果说你买上,跑到auto非法那种设备的话,他会跟跑到auto跟飞塔的那个工,公有云去来进行对接,然后随时去更新它的病毒库的,这个是有意义,在这儿的不是你掏的钱,就是说好像就跟白涛一样就是这种感觉,所以说那么OK,我上面说的这些网络就是网络设备上的一个方式,你没开这功能对吧,那如果说我是permit爱你爱你这种效果儿,东西就让我全都放过去了,OK,那是不是说从a域中的机器,这个病毒就能扩散到B的,这个玉里边儿就是对吧,那这不很合理嘛,这不很合理嘛,然后你连撒谎都没装中了毒,自个儿都不知道,这,这,这,这就是这个理论,这真的就是这个理论,所以说我为啥不学安全,就是因为我看到了很多,嗯,太恶心的东西了。

然后我再跟你说个比较好玩儿的说辞,这玩意儿吧,怎么讲呢?就是属于看你往深了扒,你越往深了吧,之后你就会发现我操,原来是这么回事儿,那个我打个比方,就是这个,专门,专门儿玩儿这个渗透的人,OK,那么他们第一个需要需要做什么?第一课的话就是要寻找,这个目标主机的漏洞对吧,你没听错,寻找最对端主机的漏洞这种感觉的,那么有个问题,用什么软用什么软件能够就是达成这样的需求非常简单,就是嗯,Map你买了一些物理的安全设备的盒子,属于的漏扫,这玩意儿可能知道,没错儿,那里边儿就是个nmap,你以为是什么高端的东西吗?不是,就是个nmap是个很万能的工具,这玩意儿基本上就是,你如果说咱们不是做安全的人,去来用这个东西的情况下,顶多就就能用到一句命令,就是nmap这个IP地址没了,但是这只是初级用法,你后面如果追加额外的flag,而且官方给你提供的那个binary里边儿的话,有这个专门儿的,这个,就是一些这个脚本的库,你在后边儿可以调用这个库,然后你去扫对方的情况下,你能扫出来一堆东西,你什么OS什么版本什么硬件?然后开端口儿是多少?然后有没有一些安全漏洞,那些信息全都能扫得出来,没错,这软件就就是这么牛逼这个情况,所以的话,就这这个就是渗透第一课,你需要去研究的东西,然后接下来的第二课就是属于用一些其他的辅助工具,或者是一些编程的方法去来,这个就是找到对应的那个讯息,然后登进去这种感觉。

那么这个时候的话就来到了一个问题,打个比方说,我们就拿这个单纯的web去来举例子,你web是放在前端的,你后端顶多就是一个,DB保管这个DB是什么形式存在?或者是什么产品?你是SQL还是no sql或者是Key value等. 那么第一个安全的一个问题,就是你的这个web层面的一个安全,所谓的web层面的安全是啥?我给你举个软件,叫做,Go buster,Go busters是个open source的一个软件,那么go buster是能做到什么事情呢?就是他会去扫这个域名儿,扫这个域名儿之后的话,去寻找这个域名儿底下的子目录,然后当你得到这个子目录的情况下,你你就能登进去看到一些额外的页面儿,这种感觉,然后通过你的浏览器去看这个web的这个souce code,也就是那个Javascript那个代码,你可能找到一些有用的讯息,就是这种感觉,就是就是这样一个逻辑,OK,如果说你通过这种方式去扫对方的情况下,就意味着,你把所有的大门儿都开放给了黑客儿,就是这种感觉,那么问题来了,我怎么能够防护这一点,你在你的web,这个就是这个开发端安装web安全的一些插件儿,但是我说的不是WAF,  OK,我说的是应用层本身,WAF那个东西说白了也是个网络设备而已,他也不是万能的,OK,你得背似于你这个web application贝斯去来说,这个插件的安全该如何做?比如说你基于Apache, Tomcat,你的这个application本身的那些安全的插件都有啥?然后往里边装去开启这个feature OK,就这种感觉的,然后再说后端就是DB的安全,就这种感觉的,OK。

那么,如果说你那个就是听了以上这个数字之后的话,那么你就能感觉到一个问题是,哎,国外的外企做技术比较好,对吧,国外的外企,首先,第一个事情他给你这台笔记本儿那个权限是非常有限的,非常非常有限,你的任何行为在他的那个就是这个公司内部来看的话,都是明文的一个状态,那么,为啥? 就是防止说那个你这个机器中毒扩散到内网里边来,这是一定的,,但是大家伙儿去评价这个安全的时候,你就会发现真实的,国内的很多客户端,他压根儿就没这东西,也没有这个部门儿也没有这方面的人才去做这个这样一个情况,就说,一个公司里边儿,你听说有技术部门,有财务等部门, 那我想问,哎,你有渗透部门儿吗? 如果说你连渗透部门儿都没有的情况下,咋说都没用,渗透工程师跟安全工程师他俩是属于博弈论的关系,你知道吗?如果说我用一些方法的话去扫,你发现少出漏洞了,那么,这就是我能去攻击的一个一个所谓的方法,虽然我可能要花很长很长时间才能达成这样的目的,但是这对于很多高手来说的话,这玩儿不是事儿对不对呢,然后你就应该在你安全内侧找到对应的解决方案,就是这种感觉的吗?但是你考虑一个问题,公司里面有这个角色吗?很显然不好意思,没有,以上我都说是,完全是站在这个合理的角度出发去讨论这个事情,跟实际本身不发生一毛钱关系,因为实际的差距非常非常远,根本达不到。

所以的话呢,以上只是我一个以小白的视角儿的一个解释,就是间接说明了为什么我不我不讨论安全,我也懒得研究安全,甚至来说我都不想碰那个东西原因之一就是因为这个理想太丰满,现实太骨感.你这玩意儿很矛盾,本身安全就是一个矛盾的概念,所以的话我特别讨厌矛盾的东西,所以说我一点也不喜欢安全,这样的一个东西吧,但是不管怎么讲,这个很多人可能就会说,那你说这么多就跟没说一样,而且都是废话,我这事儿都出了该怎么解决?我跟你讲这个东西吧,你该找第3方去找第3方,我不认为你,你这个甲方,你有这方面的能力,能够去处理这样的事情,一个安全专家是处理不了那么多case的,就是这种感觉,那不然你,你想那些杀软的公司里边儿那帮安全的那帮砖家们那帮说吧,就是黑客儿,你觉得他们都是吃吃素的嘛,对不对呢?所以说你该掏钱得掏钱,该怎么地怎么地,一个人根本学不完那些东西,肯定是这样儿就是这种感觉了,因为对于黑客的角度来说的话,脑洞大开之后的话,我能整出来一堆所谓的方法去来去来弄死你,就是这种感觉,这是一定的,这是一定的,所以安全是永无止境的,因为黑客是永无止境的,就这么简单。

嗯,那你看哈,综上所述那些东西,你再看看实际的做的项目,你就会发现那些玩意儿都是形同虚设,不管你上多少形同虚设,一点毛线用都没有呢,我就把这话帖子是不是这样对吧是不是这样?哎,那这就是间接证明了,就是国内技术圈的一个落后到什么程度,这,这这,情何以堪的程度,情何以堪的程度,我这么跟你讲,其实如果说技术本身来说的话,每个技术呢,在自己专精的领域,里边儿都应该有这个top level,这是一定的,这是我的个人的一个想法,他一定有top,就是一一定有个最顶级的,这个这个,这个就是,这个就是理论的存在,但是很多人的话压根儿,就是,要就是,要不然学不到那个成绩,要不然,理解方式不摁也不对以后或者来说,他压根儿就不想学,或者来讲对这个东西没什么兴趣或者说,怎么怎么样这种感觉的,然后大量的时间都浪费在来处理那些狗屁的那些事情上对不对,然后也就没有各种各样的,这个就是时间,或者是精力去钻研这些有意义的东西,那这就是一件很可悲的事情,这个对于我来说就是这样没错,就是这样儿,当收钱你就你就看吧,当收钱之前我就说过你百分之八十九十的时间会会浪费在那些没有意义的事情上,就是写标书写方案而有意义,对于我来说没什么意义,你知道吗真的是没有什么,没有任何意义,但是你还得做对不对这种感觉的,那你看这样儿就这么个意思吗?

上次我们客户不是遇到了一个什么bug吗,说的KBS里边的1个POD hang住,然后他得去把这个POD干死,然后后边儿就出现一这些什么所谓的什么内存什么挂死这个问题后,属于这个,K8S的bug,后边儿一查发现是坑的版本太低了,客户的kernel是3.x的版本,现在最新版都他妈5.9的kernel了,你给我来个3.x的kernel,你这不就找抽呢。我用nmap加几个flag一扫,请问有多少漏洞?多得去了。
什么东西他都有危险性,这是一定的,但是你不可否认的情况,如果你不更新,就会有问题,是不是这样儿对吧,有多少客户端这你这打个比方说,这个我是K8S的老玩家,我从1.0的版本就开始玩,你会发现它就真现在依然跑的是1.0的版本,你信不信有多少客户端是这样?现在K8多一点儿,19了,你还一点儿零呢,你给我开过,你给我开什么国际玩笑,这种这种事儿屡见不鲜,所以说他们出了事儿我一点儿都不奇怪,你知道吗?
 

猜你喜欢

转载自blog.csdn.net/funnycoffee123/article/details/108408747