主机上防范
2.1.1使用网络和主机扫描工具检测脆弱性
DDoS能够成功的关键是在Internet上寻找到大量安全防御措施薄弱的计算机。因此,经常使用安全检测工具检测网络和主机,找出目前存在的安全隐患并给出相应的应对措施,可以减少甚至避免主机被黑客利用成为傀儡机的可能性。安全扫描工具能够检测并删除主机上被黑客安装的进行DDoS攻击的软件。安全扫描工具应该随着攻击方式的演变而升级。
2.1.2采用NIDS和嗅探器
当系统收到未知地址的可疑流量时,NIDS(Network Intrusion Detection Systems,网络入侵检测系统)会发出报警信号, 提醒系统管理员及时采取应对措施,如切断连接或反向跟踪等。NIDS的安全策略或规则应该是最新的,并包含当前最新攻击技术的特征描述。
嗅探器(sniffer)可用来在网络级识别网络攻击行为并成为NIDS原始检测信息的来源。例如,当黑客修改IP 包的数据部分,使其包含某些隐蔽信息,嗅探器就可以探测到这些信息并将此信息提供给有关人员进行分析, 成为采取阻断、分流恶意流量或追查黑客的依据。
2.1.3及时更新系统补丁
现有的操作系统都有很多漏洞,这很容易让黑客找到后门,所以及时下载和更新系统补丁也是抵御黑客很重要的一点。
2.2网络设备上防范
单机上防御主要是减少被作为傀儡机的可能,在路由器上采取防范措施才是抵御DDoS的关键,这里以Cisco路由器为例分析一下阻止攻击的方法:
2.2.1检查每一个经过路由器的数据包
在路由器的CEF(Cisco Express Forwarding)表里,某数据包所到达网络接口的所有路由项中,如果没有该数据包源IP地址的路由,路由器将丢弃该数据包。例如,路由器接收到一个源IP地址为a.b.c.d的数据包,如果CEF路由表中没有为IP地址a.b.c.d提供任何路由(即反向数据包传输时所需的路由),则路由器会丢弃它。
2.2.2设置SYN数据包流量速率
许多DDoS攻击采用SYN洪水攻击的形式,所以有必要在路由器上限制SYN数据包流量速率。采用这种方法时必须在进行测量时确保网络的正常工作以避免出现较大误差。
rate-limit output access-group 153 45000000 100000 100000 conform-action
transmit exceed-action drop
rate-limit output access-group 152 1000000 100000 100000 conform-action
transmit exceed-action drop
access-list 152 permit tcp any host eq www
access-list 153 permit tcp any host eq www established
2.2.3在边界路由器上部署策略
网络管理员可以在边界路由器上部署过滤策略:
ISP端边界路由器应该只接受源地址属于客户端网络的通信,而客户端网络则应该只接受源地址未被客户端网络过滤的通信。
ISP端边界路由器的访问控制列表:
access-list 190 permit ip 客户端网络 客户端网络掩码 any
access-list 190 deny ip any any [log]
interface 内部网络接口 网络接口号
ip access-group 190 in
客户端边界路由器的访问控制列表:
access-list 187 deny ip 客户端网络 客户端网络掩码 any
access-list 187 permit ip any any
access-list 188 permit ip 客户端网络 客户端网络掩码 any
access-list 188 deny ip any any
interface 外部网络接口 网络接口号
ip access-group 187 in
ip access-group 188 out
2.2.4使用CAR限制ICMP数据包流量速率
CAR(Control Access Rate),可以用来限制包的流量速率,是实现QoS(Quality of Service,服务质量)一种工具。可以用它来限制ICMP包来防止DDoS。
rate-limit output access-group 2020 3000000 512000 786000 conform-action
transmit exceed-action drop
access-list 2020 permit icmp any any echo-reply
2.2.5用ACL过滤RFC 1918中列出的所有地址
ACL(Acess Control List,访问控制列表),是路由器过滤特定目标地址、源地址、协议的包的工具,可以用它来过滤掉RFC 1918中列出的所有地址,即私有IP地址(10.0.0.0/8,172.16.0.0/12, 192.168.0.0/16)。
ip access-group 101 in
access-list 101 deny ip 10.0.0.0 0.255.255.255 any
access-list 101 deny ip 192.168.0.0 0.0.255.255 any
access-list 101 deny ip 172.16.0.0 0.15.255.255 any
access-list 101 permit ip any any
2.2.6搜集证据
可以为路由器建立log server,建议使用SUN工作站或Linux等高速计算机捕获数据包。常用的数据包捕获工具包括TCPDump和snoop等。基本语法为:
tcpdump -i interface -s 1500 -w capture_file
snoop -d interface -o capture_file -s 1500