DDOS 攻防(网络文章收集)

时间:2024-12-27    作者:江湖剑客    分类:

【相关介绍】

什么是ddos

分布式拒绝服务攻击(Distributed Denial of Service)通过多个,分布式的机器对目标服务器发动,造成潜在服务稳定性破坏的网络请求,导致目前网络瘫痪无法正常处理。

【攻击类型】

反射攻击

CLDAP的反射型(端口:389)

来源文章:https://blog.csdn.net/weixin_43778378/article/details/104687730

CLDAP简介

CLDAP是由LDAP(轻量目录访问协议)演化而来的,前者不再基于TCP,而是基于UDP。LDAP定义在RFC2251(LDAPv3)中,以TCP字节流的方式进行数据传输,由于其必要的绑定操作和频繁的数据搜索查询会在一定程度上消耗较多的TCP连接资源,IETF在1995年发布了面向无连接的轻量目录访问协议(CLDAP),官方文档为RFC1798(2003年 RFC3352将CLDAP置为历史状态)。

  在CLDAP中只提供三种操作:searchRequest、searchResponse (searchResEntry和searchResDone)、abandonRequest,在不提供身份验证功能的情况下,客户端可以使用UDP数据报对LDAP服务器389端口发起操作请求。由于客户端发起searchRequest后服务端将返回searchResEntry和searchResDone两条应答消息,一般情况下执行该操作将具有较小数据包反射出较大数据包的效果。这一缺陷随即被利用进行反射放大DDos攻击,具有瘫痪中小型服务器的能力。

攻击原理

  当出于某种目的利用该协议时,攻击者可以将自己的IP伪装成攻击目标IP,并向多个CLDAP服务器发送查询(如下图所示)。当这种情况发生时,服务器不确定查询是否来自正常请求者,也不确定目标IP是否合法;因此,数据请求被发送到多个CLDAP服务器,并且在收到请求时,CLDAP服务器将放大的响应分组发送到攻击目标的IP。

攻击能力及波及范围

  2017年1月7日,Akamai观测到并抵御了将 CLDAP 反射用作唯一向量的最大型 DDos攻击,峰值带宽为24Gbps。它的威胁可与使用DNS的DDoS攻击相媲美,并超过了可能导致服务器崩溃的最大值(通常为1Gbps)。
  Akamai还进行了一次全互联网扫描,以检测存在CLDAP反射滥用漏洞的主机。扫描结果显示,共有78531个IP存在相应漏洞。其中,数目最多的国家是美国,有17980个,其次是巴西。

防御算法设计

针对多种类型DDoS攻击的检测和防御算法
  论文中提到,M.Yusof等人提出过一种针对多种类型DDoS攻击的检测和防御算法,分为三步:检测、防御、生成攻击报告。
  为减少和防止DDoS攻击,网络上的检测程序是必不可少的。首先,该程序检查所有传入的流量,而不考虑流量类型。如果传入的流量与DDoS相关,则根据DDoS攻击的类型进行检测。基于攻击行为,该算法按以下顺序检测攻击:UDP flooding, TCP SYN flooding, Ping of Death, Smurf。
  如果在检测过程中识别出DDoS攻击,则防御过程开始。在此过程中,根据检测到的攻击类型实现阻塞。如果接收到的攻击流量每秒包含超过100个数据包,则防御算法删除该数据包。这样,通过降低传入数据包的速度和控制网络带宽的使用,防御算法只允许正常的通信量接近和进入网络,从而达到保护目的。
  最后,记录检测到的DDoS攻击详细情况。根据类型创建报告,对于已确认的DDoS攻击,报告包括五项:DDoS攻击类型、分组大小、严重程度、检测时间和攻击者源。

减少CLDAP放大攻击流量算法
  由以上得到启发,韩国的两位学者Suk-June Choi和Jin Kwak(即本论文作者)设计了一种减少CLDAP放大攻击流量的方法。
  在检测过程中,要做出两个判断:通过扫描暴露在Internet上的CLDAP服务器的主机,检测是否从可用于攻击的服务器发送了数据包;根据攻击脚本中是否存在签名,来确定是否从CLDAP服务器检测到异常响应分组。如果使用CLDAP的异常数据包进入,则将启动下一防御过程。在防御过程中,测量相关的CLDAP服务器传输的数据包大小。如果攻击流量的放大分组大小超过预先指定的值, 则该过程控制分组带宽。它不断地检查接收到的数据包的大小,直到其在正常范围内。与M.Yusof等人提出的源阻塞方法不同,韩国学者提出的方法是通过控制数据包的带宽来稳定网络并防止CLDAP放大攻击。
  最后一个阶段,程序的目标是根据检测到的CLDAP放大攻击来识别风险,并记录有关攻击的信息,内容包括:带宽大小、分组大小、攻击向量、攻击持续时间和源/目的地端口。
  流程图如下:

NTP攻击(端口:123)

防范方法

来源:https://blog.csdn.net/q664243624/article/details/117726143
 1.升级版本Linux 系统中的ntpd 4.2.7p26及之后的版本关闭了monlist请求功能。升级到ntpd 4.2.7p26或更高版本可以避免针对该漏洞的攻击。

  2. 禁用或限制状态查询

  (1)在Linux系统下,如果monlist功能开放,可尝试通过修改ntp.conf配置文件解决问题,具体操作建议是在上述文件中增加下面的配置:

  IPV4:restrict default kodnomodifynotrapnopeernoquery

  IPv6:restrict-6 default kodnomodifynotrapnopeernoquery

  另外,还可以配置限制访问命令,如:restrict default noquery。

  (2)Windows Server系统的设置方法较为简单:在ntp.conf配置文件中增加(或修改)“disable monitor”选项,可以关闭现有NTP服务的monlist 功能。

  修改并保存配置文件之后,请重启ntpd服务。

  DNS攻击防范配置方法

  1. 关闭递归查询

  (1)在UNIX系统的DNS服务器下:在全局配置选项中加入如下限制以关闭递归查询:

  options {allow-query-cache {none};recursion no;};

  (2)在Windows系统的DNS 服务器下,采取如下步骤:a.打开DNS(“开始”-“程序”-“管理工具”-单击“DNS”);b. 在控制列表树中,单击“适用的DNS服务器”;c.在“操作”菜单上,单击“属性”;d.点击“高级”;e.在“服务器选项”中,选中“禁用递归”复选框,然后确定。

  2. 授权特定用户进行递归查询

  在特定组织或者ISP中部署的DNS服务器,域名解析应当配置成对授权的客户机提供递归查询。这些递归查询请求应当只来源于该组织内的客户机地址。建议所有的服务器管理员只允许内部客户机的递归查询请求。

  在UNIX系统的DNS 服务器配置下,在全局配置选项中做如下设置:

  acl corpnets{192.168.1.0/24;192.168.2.0/24;};options {allow-query {any;};

  allow-recursion {corpnets;};};

Chargen攻击(端口:19)

防范方法

来源:https://blog.csdn.net/q664243624/article/details/117726143
上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素。因此,防范可以从配置主机服务选项和访问控制权限(ACL)入手。具体建议如下:

 关闭Chargen服务,具体的操作方法:

  1.Linux系统:在/etc/inetd.conf文件中注释掉‘chargen’服务,或者在/etc/xinetd.d/目录下将chargen服务对应的文件中的“disable” 属性改为 “yes”。

  2. 在Window 系统下:Chargen服务属于Windows系统中的SimpTCP服务,一般情况下Windows系统缺省不会安装该服务,如已安装该服务,可以通过如下几种方式关闭服务:

  (1)通过控制面板中的Service管理程序,关闭SimpTCP服务;

  (2)通过修改注册表:通过注册表编辑器将以下两项表项的值设为0HKLM\System\CurrentControlSet\Services

  \SimpTCP\Parameters\EnableTcpChargenHKLM\System\

  CurrentControlSet\Services\SimpTCP\Parameters\EnableUdpChargen

  (3)通过命令行执行net 程序:netstop simptcp;net start simptcp。

SSDP攻击(端口:UDP 1900)

SSDP服务介绍

SSDP(Simple Service Discovery Protocol) 是 UPnP(Universal Plug and Play)协议的一部分,主要用于设备发现。当设备(如智能电视、音箱、打印机等)接入网络时,它会通过 SSDP 向局域网广播自己的存在信息,这样其他设备就能发现它们并进行连接。

防范方法

 1. 关闭系统服务

  (1)在Windows下以管理员身份运行cmd.exe,并执行以下命令:scconfigSSDPSRV start=DISABLED;(2)在桌面上右击“计算机”,在“服务和应用程序”中点击“服务”,找到“SSDP Discovery”服务,双击后该服务后选择“禁用”选项。

  2. 防火墙拦截

  (1)在Windows 系统操作如下:在“开始”-“控制面板”-“Windows防火墙”-“高级设置”中,分别在“入站规则”和“出站规则”中加入一条新的规则,新建规则操作如下:点击“新建规则”,选择“端口”和“下一步”,选择“UDP”,并在“特定远程端口中”输入“1900”,点击“下一步”,选择“阻止连接”和“下一步”,选择“域”、“专业(P)”、“公用(U)”和“下一步”,在名称中输入“SSDPDiscovery”,并点击“完成”。

  (2)在Linux系统操作如下:

  a.打开/etc/sysconfig/iptables文件(操作以CENTOS 为例),在文件中加入如下规则:

  -A INPUT -p udp -m udp --sport 1900 -j DROP

  -A INPUT -p udp -m udp --dport 1900 -j DROP

  -A OUTPUT -p udp -m udp --sport 1900 -j DROP

  -A OUTPUT -p udp -m udp --dport 1900 -j DROP

  b.最后重启防火墙:#service iptablesrestart

  需要另外说明的,Chargen、NTP、DNS协议也可以在路由器或防火墙配置过滤条件,拦截目的或者源端口为相应服务端口(19 号、123 号、53 号端口等)的所有UDP报文,配置规则可参考上述1900端口的规则格式。

  SNMP攻击防范配置方法

  SNMP服务通常用于远程监控网络设备状态,例如路由器、交互机、网络打印机、以及其它联网的嵌入式设备,不同类似的设备SNMP服务配置方式存在差异,有些具备ACL功能,有些缺少相应的访问控制。因此通用的解决方法是在边界防火墙上拦截目的或者源端口为161的UDP报文,具体方式和SSDP等类似。

【端口服务】

389 LDAP(轻量目录访问协议)

  • 可能造成 CLDAP的反射型攻击

53 DNS(域名解析服务)


扫描二维码,在手机上阅读