网络攻击与防御(营销网站建设)

网站建设安全DDOS攻击与防御中国尚品,一家网站建设公司:几天前,我们运营的一个网站遭受了ddos攻击。我们的网站是作为一个公益网站,它建立了一个平台之间的各种制造商和白帽子,以传输信息,如安全问题。我们不知道为什么会遇到这样无耻的攻击。因为我们不从事这种类型的攻击,而且攻击技术一般比较粗糙,所以讨论较少。然而,自从这次攻击发生后,我们觉得分享我们在攻击后的这个过程中学到的东西和我们对这次攻击的想法可以使这次攻击产生真正的价值,而不是说这次攻击只是浪费大家的时间。

另外,我们发现所有的大企业都受到了攻击,但是攻击后的应对措施和学到的经验很少被分享,这导致了每个家庭都在摸索自己的经验,仍然停留在一个企业对抗整个互联网攻击的局面。对于攻击者来说,这次攻击是针对你的,但是下一次攻击是针对他的,并且在攻击之后不会有技术或资源的损失,这也是为什么这样的攻击如此频繁和肆无忌惮的原因。

让我们试着做一些改变:)

常见的ddos攻击和防御

继续坚持80秒的“知道它,然后黑它”,在这里我们将简要地谈论ddos的攻击和防御。ddos的全称是分布式拒绝服务攻击。由于这是拒绝服务,因此必须出于某些原因停止服务。最重要和最常用的原因是服务器上资源的有限使用。该服务器拥有广泛的资源,可以简单地整理出请求正常完成的流程:

1用户在客户端浏览器中输入请求的地址

2浏览器解析请求,包括分析dns以确定需要到达的远程服务器的地址

3地址清除后,浏览器和服务器服务尝试建立连接,尝试建立连接的数据包通过本地网络,中间路由最终到达目标网络,然后到达目标服务器

网络连接建立后,浏览器根据请求建立不同的数据包,并将数据包发送到服务器的某个端口

端口5映射到进程,进程接收数据包并在内部进行分析

6请求服务器内部的各种资源,包括后端应用编程接口和一些数据库或文件等

7.逻辑处理完成后,数据包根据之前建立的通道返回到用户的浏览器,浏览器完成解析,请求完成。

上述所有要点都可用于ddos攻击,包括:

一些著名的客户劫持病毒。你还记得去百度跳搜狗吗?)

2域名劫持发生在一家大型互联网公司,或者大量域名请求直接攻击域名服务器。在这里,一些专业的第三方dns服务可以用来缓解这个问题,如Dnspod

3 .利用建立网络连接所需的网络资源攻击服务器带宽,使得普通数据包无法到达udp等泛洪攻击,消耗前端设备的cpu资源,使得icmp等数据包无法有效转发泛洪攻击和一些碎片数据包,消耗了服务器建立synflood等正常连接所需的资源,或者占用了大量连接,使得正常连接无法发起,比如这次TCPflood。

使用webserver的一些特性进行攻击,与nginx相比,apache在处理请求时很麻烦。

5.攻击内部资源,比如mysql,在后端消耗大量资源的接口,等等。利用应用程序的一些内部特性,这在传统意义上称为CC攻击。

这涉及到攻击和防御的概念,但事实上,如果你知道对方的攻击点和攻击技巧,防御就会变成一个争夺资源的简单过程。不要用你最弱的地方去对抗别人最强的地方,而是从最合适的地方开始解决问题。例如,这不是解决路由器和其他设备上的应用层攻击的好方法。同样,在应用层解决网络层问题是不可能的。简单地说,目标是只让正常的数据和请求进入我们。

1作为用户请求的入口,必须有良好的dns防御

2与您的价值相匹配的带宽资源,并且应用层的防御策略被安排在核心节点上,只允许您的正常应用网络数据包进入,例如阻止除80以外的所有数据包。

有支持您的服务价值的机器集群来抵抗应用层的压力。如果需要,有必要继续分解http请求,并将连接建立过程的压力分解到其他集群中。似乎有通用的硬件防火墙可以做到这一点,甚至可以分解正常的http请求解析过程,以确保正常的请求到达后端。消除异常请求,记录和监控正常请求的请求频率和其他行为,并在出现异常时在此处阻塞应用层。

每个公司都有自己对自身价值的评估,以确定安全投资的规模,每一次攻击也将涉及利益的存在。正如防御由于投资不足和实施过程中的不完善等各种原因而具有固有的弱点一样,攻击也具有固有的弱点,因为每一次攻击都涉及不同的环节,每一个环节都可能由不同层次的人和他所拥有的资源来完成。他使用的工具和技术不会是完美的,所以有可能进行辩护。另外,我相信攻击DDOS的人是一个固定的行业,会有一些固定的人。其中使用的技术、工具、资源和利益链是相对固定的。相比之下,每个企业都缺乏相应的沟通,因此很难将一个行业与单个企业对立起来。如果每个企业都能分享自己在受到攻击时的经验,包括僵尸网络的规模和IP分布、攻击工具的特点,甚至是分析其背后的利益和操作者的能力,那么每一次攻击都能提高每个人的整体防御能力,使攻击者的攻击能力丧失。我们愿意这样做。

应急响应

攻击发生后,第一个现象是我们的网站上不了,但我们仍然可以访问管理界面。我们登录并简单地执行以下命令:

netstat-antp

我们看到有大量的链接,它们都是已建立的。在正常情况下,我们的网站访问量不是很高。如果他们是如此之高,我们相信中国的信息安全将有希望。事实上,处理这种情况相对简单。这是一个四层攻击,也就是说,所有的ip都是真实的。由于到目前为止它只消耗了网络服务器的网络连接资源,我们只需要简单地在网络层禁止这些ip。使用以下内容非常简单

对于“netstat-an| grep-i”中的I:80 ‘ | grep’ EST’ | awk’ { print$ 5 } ‘ | cut-d:-f1 | sort| uniq-c| awk’ { if($ 1 50){ print$ 2 } } ‘ ‘

echo$i

echo$i/tmp/banip

/sbin/iptables-AINPUT-pTCP-jDROP-s$ I

完成的

然后作为一个计划任务,它可以每分钟执行一次。很快,iptables的禁止列表中就充满了大量被禁止的IP。我们只是简单地计算了一下,一些连接数量最多的知识产权发现来自韩国。为了保证系统的性能,我们增加了可接受的连接数和每个连接对Nginx的请求率,系统恢复了正常运行。

正常状态一直持续到第二天,但是中午过后,我们发现接入又出现了问题,网络运行缓慢。我们发现大约70%的数据包丢失是由ping引起的。在系统上硬着陆后,我们发现系统几乎没有正常的TCP连接。为了找出原因,我们抓起了系统:

tcpdump-wtmp.pcap端口非22

tcpdump-rtmp.pcap-nnA

我们发现攻击已经从应用层攻击调整到网络层攻击。目标端口为80的大量udp和icmp数据包以极快的速度填满网络,一个数据包的大小约为1k。这一次,占用的资源纯粹是带宽资源。即使系统受到限制,这个问题也无法解决,但这并不重要。我们可以限制网络层问题。我们只需要禁止网络上所有到达我们ip的非TCP数据包,如UDP和ICMP。然而,我们没有自己的服务器,缺乏对网络设备的控制。目前,工业和信息化部的CERT提供支持。由于暂时无法协调相应的操作,如您所见,我们的服务非常缓慢,基本上已经停止。一段时间后,攻击者停止了攻击,服务被恢复,这是非常错误的吗?但与此同时,我们得到了很多热心朋友的帮助,得到了更好的网络和服务器资源,大大提高了我们的网络资源能力,缓解了这方面的问题。我想在这里感谢他们。

根源和反击

我很困惑攻击我们不能得到真正的好处。人们为什么攻击我们?我听说其他公司受到了攻击。我认为一个原因是攻击我们不能得到任何好处,但事实上,攻击者不会失去任何东西。他不会因为一次攻击而损失太多,无论是在资源方面还是法律风险方面。相比之下,服务提供商损失太多,从经济角度来看是不平衡的。我们正处于这样一种情况

一般来说,肇事者是不会受到惩罚的,但这一次,我们认为我们可以做点什么。我们试图找出背后的攻击者,甚至清除僵尸网络。

首先,这种攻击源于应用层攻击,所以所有的入侵防御都是真实的。在与CERT沟通后,发现这些入侵防御系统都来自韩国,控制端不在中国,因为在此期间没有与中国沟通。即使它被udpicmp的洪流所取代,它仍然是韩国的知识产权。这很有趣。在正常情况下,udpicmp数据包是可以伪造的,但这里没有伪造,这可能是我们后来证实的。

这些入侵防御系统是真正的入侵防御系统,这些入侵防御系统在攻击我们后必须保持与攻击者的联系,并且为了控制方便,一般的联系信息是dns域名。在这种情况下,如果我们能找到这个dns域名,我们就可以间接地找到真正的幕后人物在哪里。首先,我们很快发现了在这次攻击的ip中打开端口80的机器,因为我们对端口80上的安全问题很有信心,我们应该很快就会知道这些ip背后的细节(80秒名称的由来)。我们发现其中大部分是路由器和网络上的一些虚拟专用网设备,我们猜测这次攻击主要是针对韩国的个人用户。然而,单个用户的机器操作系统通常是windows,所以在较高版本上发送数据包可能有很大的限制,这解释了为什么即使udpicmp攻击,我们看到的大多是真正的ip。在发现这些路由设备后,我们尝试更深入,并使用一些弱密码(如admin/admin)快速登录。果然,全世界的网民都是一样的,管理员是一个自然的入口。

在登录一些路由后,我们发现这些路由器中有一个设置自己的dns的功能,这意味着下面的所有dns请求都可以被定向到我们自己的dns服务器,这对我们了解内部网络的详细信息非常有用,所以我们设置了我们自己的dns服务器,并启动了dns请求日志功能来记录所有请求的详细信息。我们控制了大约20台路由器的dns指向,并且它们都成功地重定向到我们自己的服务器。

剩下的就是简单的数据分析,这在这里很有价值。我们可以猜测僵尸网络的控制域名如下:

1这个dns应该用来灵活地控制域名的缓存时间。TTL通常不是特别长

应该定期请求该域名系统,因此它在域名系统请求中占很大比例

3这个域名应该是为了控制而存在的,所以域名在搜索引擎和其他地方不应该得到更高的访问索引,这与2中的规则是自然矛盾的。

应该在每条路由下请求此dns

这些可以通过简单的统计很容易地回答。我们发现了大约3322个通用恶意软件域名,但发现它们不是我们所需要的,因为只有少数机器访问过它们。过了一段时间,我们终于发现一个域名的流量相当于一个韩国门户网站的流量。大约有18台机器访问过这个域名。这个域名的主机在新加坡,它的生存时间是1800,也就是半个小时。并非所有的搜索引擎都有这个域名。它是一年前一个韩国人在戈代迪注册的。同时,我们访问了这个域名,并指向了主机的3389。我们只是判断它有一个典型的windows后门。看来我们找到了。经过跟踪观察,这个域名在一段时间后指向127.0.0.1,我们确信我们的答案,工作组001.snow****。net,它似乎很好地管理我们的僵尸网络:)

这是典型的ddos攻击。攻击后,我们得到了主机列表和控制端的域名和ip。我相信中国和韩国的cert对清除攻击源非常感兴趣。我们有一些损失,但是攻击者也有损失(可能包括僵尸网络和控制端的域名,甚至是内部法律调查)。我们不再平等了,是吗?

北京一家网站的制作公司总结道:正如一位朋友所说,所有的防御都是不完美的,就像攻击是不完美的一样。一个好的防守者应该善于发现进攻者的缺陷和进攻中的漏洞。不要害怕攻击。对于Ddos攻击,发起攻击是有漏洞的。如果我们都善于利用漏洞,抓住背后的攻击者,我们相信未来ddos攻击的次数将会大大减少,攻击者在对目标发起攻击之前会做出更多的权衡、损失、利益和法律。

这篇文章发表在北京网站建设公司尚品http://www.sino-web.net/,中国

原创文章,作者:搜够小编,如若转载,请注明出处:http://www.sogoubaike.cn/archives/116675