• NTP放大攻击


    NTP放大攻击

    原理:
    NTP协议是基于UDP协议的123端口进行通信,但是由于UDP协议的无连接性具有不安全性的缺陷,攻击者就会利用NTP服务器的不安全性能漏洞发起DDoS攻击。攻击者攻击的步骤是先寻找攻击对象或者互联网中支持NTP放大攻击的服务器资源;然后通过伪造IP地址向NTP服务器发送monlist的请求报文,为了增加攻击的强度,monlist指令会监控响应 NTP 服务器并且将其返回进行时间同步的最近多个客户端的IP地址,通常NTP服务器与大量的客户端进行交互时,一个不超过64字节的请求数据包可以触发100个482个字节响应的数据包,因此它具有放大数百倍的功能。从而这些大流量就会阻塞网络,导致网络不通,造成了分布式拒绝服务。


    发现ntp服务
    nmap -sU -p 123 10.0.1.82
    nmap -sU -p123 -n --script=ntp-monlist 10.0.1.82

    测试发现ntp漏洞
    ntpdc -n -c monlist 10.0.1.82
    ntpq -c rv 10.0.1.82
    ntpdc -c sysinfo 10.0.1.82

    列出目标ntp服务器peers
    sudo ntpdc -n -c listpeers 10.0.1.82


    防御措施:
    1.对NTP服务器进行合理的管理和配置,将全部的NTP服务软件升级到4.2.7p26或更高版本;
    2.手动关闭monlist查询功能在配置文件中添加noquery参数来限制客户端的monlist等信息查询请求 disable monitor;
    3.通过防火墙对UDP试用的123端口进行限制,只允许NTP服务于固定IP进行通信;
    4.运用足够大的带宽,硬抗NTP服务产生的放大型流量攻击。
    5.使用DDoS防御产品,将入口异常访问请求进行过滤清洗,然后将正常的访问请求分发给服务器进行业务处理。

    1)通过Iptables配置只允许信任的IP访问本机UDP的123端口。

    修改配置文件,然后执行以下命令:
    echo "disable monitor" >> /etc/ntp.conf

    执行以下命令重启NTP服务:
    systemctl restart ntpd

    2)我们建议您直接关闭掉NTP服务,并禁止其开机自启动。

    NTP官方修复方案
    http://support.ntp.org/bin/view/Main/SecurityNotice#DRDoS_Amplification_Attack_using

    升级到4.2.7p26版本后的防御操作
    https://us-cert.cisa.gov/ncas/alerts/TA14-013A

    做了如下操作
    restrict default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery


    参考:
    https://www.cloudflare.com/zh-cn/learning/ddos/ntp-amplification-ddos-attack/
    https://jaminzhang.github.io/security/understand-udp-flood-ddos-attack/
    https://wooyun.js.org/drops/%E5%A6%82%E4%BD%95%E5%8F%91%E7%8E%B0%20NTP%20%E6%94%BE%E5%A4%A7%E6%94%BB%E5%87%BB%E6%BC%8F%E6%B4%9E.html
    https://wooyun.js.org/drops/NTP%E5%8F%8D%E5%B0%84%E5%9E%8BDDos%E6%94%BB%E5%87%BBFAQ.%E8%A1%A5%E9%81%97.html
    https://www.codenong.com/cs106625011/
    https://xz.aliyun.com/t/1009
    http://drops.xmd5.com/static/drops/papers-926.html

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    文本检测和识别 代码结构梳理
    UnicodeDecodeError: 'utf-8' codec can't decode byte
    GPU 显存释放
    DCM 图片查看
    hive SQL 字母大小写转换
    vim常用命令之多行注释和多行删除
    js 模拟call、apply、bind实现
    CommonJS、AMD、CMD和ES6模块化区别
    js setTimeout setInterval 第三个参数说明
    js instanceof 实现原理
  • 原文地址:https://www.cnblogs.com/autopwn/p/14694221.html
Copyright © 2020-2023  润新知