<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></title> 
<link>https://www.cnmysql.com/index.php</link> 
<description><![CDATA[关注服务器运维技术、DB优化、Docker虚拟化、自动化运维、工作积累]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></copyright>
<item>
<link>https://www.cnmysql.com/post//</link>
<title><![CDATA[DDOS防护抵御方法]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[黑客攻防]]></category>
<pubDate>Thu, 20 Aug 2015 01:55:34 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//</guid> 
<description>
<![CDATA[ 
	在安全领域，DDoS（分布式拒绝服务攻击）简单粗暴，是常见攻击方法。而网站型应用，由于有公开的域名和IP，并使用特定的通信协议（TCP），很容易被发起DDoS攻击。友好速搭上线9个月以来，遭受DDoS攻击超过20次，有些攻击流量规模超过100Gbps。<br/><br/>用来区分DDoS攻击类型的名词很多，比如SYN Flood、UDP Flood、ICMP Flood、CC攻击等。从防护角度看，主要可以分为两种类型：带宽消耗型和资源消耗型。<br/><strong>带宽消耗型攻击</strong><br/>带宽消耗型攻击，目的是封堵系统的网络出入口，大都是基于简单网络协议，比如UDP或ICMP，向指定IP发送大量数据包。这类攻击，只能通过增加网络带宽来防御，如果流量特别大，超过了机房网络的承受范围，那只能使用第三方的流量清洗服务，例如安全宝、腾讯大禹系统等。<br/><a href="https://www.cnmysql.com/attachment.php?fid=45" target="_blank"><img src="https://www.cnmysql.com/attachment.php?fid=45" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>这类清洗服务，主要提供两类帮助：<br/><br/>域名通过CNAME解析，隐藏应用真实IP<br/>域名解析的IP结果，是防护IP地址，攻击的流量只先到防护的机房，应用的真实IP，只对防护服务商可见。<br/><br/>流量清洗，筛选健康流量发回源站<br/>服务商会通过技术手段，将攻击流量拦截，并筛选出健康流量发给应用。<br/><strong>资源消耗型攻击</strong><br/>资源消耗型攻击，主要目的是耗尽系统资源，比如SYN Flood，会导致主机建立大量TCP连接，耗尽系统句柄，CC攻击发起大量正常请求，超出业务应用的处理上限。这类攻击的流量大小，与攻击者使用的肉鸡数量有关。如果流量特别大，也需要使用上面提到的流量清洗服务。如果流量规模不大，可以通过简单的脚本，识别出攻击代理的IP，并进行屏蔽来防御。<br/><br/>网站使用的HTTP或SSL协议，都是基于传输层TCP协议的应用，TCP协议中的状态变化如下：<br/><a href="https://www.cnmysql.com/attachment.php?fid=46" target="_blank"><img src="https://www.cnmysql.com/attachment.php?fid=46" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>可以通过识别不同状态的TCP连接数量，来判断是否攻击IP。<br/><br/>例如，SYN Flood攻击，就是通过建立处于SYN状态的TCP连接，消耗服务器的句柄，遭受这种攻击时，服务器可以查看到，很多TCP连接处于syn-recv状态。<br/><br/>而CC攻击，通常都是向网站发起大量请求，与服务器建立大量TCP连接，状态大都处于established,time-wait,close-wait。<br/><br/>通过 Linux 系统中的ss命令，可以查看各种状态的TCP连接：<br/>ss -ntu state syn-recv state established state time-wait<br/>通过查看IP的TCP连接状态和数量，就能判断出这个IP是否用于DDoS攻击。<br/><br/>基于这个思路，针对资源消耗型攻击，我们开发了一个简单的脚本工具：AntiDDoS。在服务器上部署启动后，会定时查看TCP连接，超过指定连接数量的IP，会被加入iptables屏蔽一段时间，并发邮件通知系统管理员。<br/><br/>下载链接：<br/><a href="https://github.com/yeezon/AntiDDoS" target="_blank">https://github.com/yeezon/AntiDDoS</a><br/><br/>iptables简单防护<br/>iptables -A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#每秒中最多允许5个新连接<br/>iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT&nbsp;&nbsp;#防止各种端口扫描<br/>iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT&nbsp;&nbsp;&nbsp;&nbsp; #Ping洪水攻击（Ping of Death<br/><br/><br/>屏蔽一个IP<br/># iptables -I INPUT -s 192.168.0.1 -j DROP<br/><br/>怎么防止别人ping我？？<br/># iptables -A INPUT -p icmp -j DROP<br/><br/>防止同步包洪水（Sync Flood）<br/># iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT<br/><br/>防止各种端口扫描<br/># iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT<br/><br/>Ping洪水攻击（Ping of Death）<br/>#iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT<br/><br/># NMAP FIN/URG/PSH<br/># iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP<br/><br/><br/><br/>Tags - <a href="https://www.cnmysql.com/tags/ddosiptables/" rel="tag">ddosiptables</a> , <a href="https://www.cnmysql.com/tags/ddos%25E5%258E%259F%25E7%2590%2586/" rel="tag">ddos原理</a>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post//#blogcomment</link>
<title><![CDATA[[评论] DDOS防护抵御方法]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>