服务器要怎么防cc攻击?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器要怎么防cc攻击?相关的知识,希望对你有一定的参考价值。

什么是CC攻击: CC攻击可以归为DDoS攻击的一种。他们之间的原理都是一样的,即发送大量的请求数据来导致服务器拒绝服务,是一种连接攻击。CC攻击又可分为代理CC攻击,和肉鸡CC攻击。代理CC攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现DDoS,和伪装就叫:cc(Challenge Collapsar)。而肉鸡CC攻击是黑客使用CC攻击软件,控制大量肉鸡,发动攻击,相比来后者比前者更难防御。因为肉鸡可以模拟正常用户访问网站的请求。伪造成合法数据包。

防御CC攻击可以通过多种方法,禁止网站代理访问,尽量将网站做成静态页面,限制连接数量,修改最大超时时间等。

取消域名绑定

一般CC攻击都是针对网站的域名进行攻击,比如网站域名是“xxx”,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。

对于这样的攻击措施是在ⅡS上取消这个域名的绑定,让CC攻击失去目标。具体操作步骤是:打开“ⅡS管理器”定位到具体站点右键“属性”打开该站点的属性面板,点击IP地址右侧的“高级”按钮,选择该域名项进行编辑,将“主机头值”删除或者改为其它的值(域名)。

实例模拟测试,取消域名绑定后Web服务器的CPU马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不便,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。

更改Web端口

一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。运行ⅡS管理器,定位到相应站点,打开站点“属性”面板,在“网站标识”下有个TCP端口默认为80,我们修改为其他的端口就可以了。

ⅡS屏蔽IP

我们通过命令或在查看日志发现了CC攻击的源IP,就可以在ⅡS中设置屏蔽该IP对Web站点的访问,从而达到防范ⅡS攻击的目的。在相应站点的“属性”面板中,点击“目录安全性”选项卡,点击“IP地址和域名现在”下的“编辑”按钮打开设置对话框。在此窗口中我们可以设置“授权访问”也就是“白名单”,也可以设置“拒绝访问”即“黑名单”。比如我们可以将攻击者的IP添加到“拒绝访问”列表中,就屏蔽了该IP对于Web的访问。

IPSec封锁

IPSec是优秀的系统防火墙,在排除其他还有别的类型的DDOS攻击时,针对CC攻击可以用设置IP策略来对付攻击。以219.128.*.43这个IP为例子,笔者实际操作对该IP的访问封锁。

第一步:“开始→管理工具”,打开“本地安全设置”,右键点击“IP安全策略,在本地机器”选择“创建IP安全策略”,然后点击“下一步”,输入策略“名称”和“描述”。然后默认一路“下一步”创建了一个名为“封CC攻击”的IPSec策略。

第二步:右键点击“IP安全策略,在本地机器”选择“管理IP筛选器表和筛选器操作”,在打开的窗口中点“添加”,在“IP 筛选器列表”窗口添入同第一步的名称和描述信息。取消“使用添加向导”的勾选,然后点击“添加”。在“IP 筛选器 属性”窗口的“地址”选项下设置“源地址”为“192.168.1.6”,目标地址为“我的IP地址”,取消对“镜像”的勾选;点击“协议”选项卡,设置“协议类型”为“TCP”,设置“协议端口”为“从任意端口”到“此端口80”最后确定退出。

第三步:在“新规则 属性”窗口中点选刚才创建的“封CC攻击”规则,点击“筛选器操作”选项卡下的“添加”,点选“安全措施”下的“阻止”,在“常规”选项卡下为该筛选器命名为“阻止CC攻击”然后确定退出。

第四步:点选刚才创建的“阻止CC攻击”筛选器,一路“确定”退出IP策略编辑器,可以看到在组策略窗口的中创建成功一个名为“封CC攻击”的策略,然后右键点击该策略选择“指派”。这样就实现了对该IP的封锁。

海腾数据中心防御cc攻击,是技术手动开启防御低级别和高级别,目前CC防御都是手动操作,所以24小时的技术非常重要。防CC服务器租用

参考技术A 最好的防cc办法:别到处乱发自己的网站域名,不要到处求打,不要对自己的服务器有过大的信心。下面(南昌壹基比)小喻企鹅头像为大家讲解一下

宝塔防火墙设置:

插件页面→全局配置→cc防御→初始规则

建议规则:个人博客:周期:1秒 频率:5次~15次 封锁时间:3600秒 增强模式:关闭 四层防御:开启 自动模式:开启

论坛:周期:1秒 频率:3次 封锁时间:360秒 增强模式:关闭 四层防御:开启 自动模式:开启

使用后,点击灰色的“全局应用”,否则对已添加站点无效,若服务器要站点个性化,仅修改站点即可。

规则说明:每个用户每秒可以访问站点*次,即为三个数字值的综合含义,正常用户1秒刷新5次几乎是不可能的事情,所以给出以下方案,对于论坛的不同方案是因为论坛访客数量大。

宝塔5.9版本的设置方法:

进入nginx→过滤器

建议规则:周期:1秒 频率:5次 封锁时间:3600秒

流量控制:

网站→设置→流量限制

点击开启“启用流量控制”,限制方案依实际为准。

建议规则:个人博客:并发限制:30~60 单IP限制:5~10 流量限制:-

最大并发连接数:

Nginx→性能调整→最大并发链接数

设置为60~200,主要看你服务器多少站点,学生机不建议设置过高。

并发数代表每秒钟有几个用户同时访问你的站点,有点站点日IP都无法达到60,所以无需在意调高低。单IP限制的作用在于限制这个IP同时请求两个文件,防止这个IP把别的并发占用掉,影响正常访问。

该规则还是要看实际情况。一般小站这样设置就可以了。
参考技术B 当我们发现网站服务器被攻击的时候不要过度惊慌失措,先查看一下服务器是不是被黑了,找出网站存在的黑链,然后做好网站的安全防御,开启IP禁PING,可以防止被扫描,关闭不需要的端口。这些是只能防简单的攻击,对于大流量DDOS攻击,必须要有足够的带宽和防火墙配合起来才能防御,你的防御能力大于攻击者的攻击流量那就防住了。不过单独硬防的成本挺高的,企业如果对成本控制有要求的话可以选择墨者.安全的集群防护,防御能力是很不错的,成本也比阿里云网易云这些大牌低。 参考技术C CC攻击是什么?CC攻击是DDoS(分布式拒绝服务)的一种,相比其它的DDoS攻击,CC似乎更有技术含量一些。面对这种类型的攻击形势,在网站上看不到到虚假IP,也没有特别大的异常流量,但它会造成服务器无法进行正常连接,一条ADSL的普通用户就可以让一台高性能的Web服务器挂掉。而最让人担忧的是这种攻击技术含量其实不高,只要利用一些专用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施DDoS攻击。1. 定时扫描网络的主节点
由于大多数网络恶意攻击都是对网络的主节点进行攻击,因此,服务商会定期扫描网络主节点,寻找可能存在的安全隐患去及时清理。
2. 主节点配置有防火墙
配置防火墙在主要节点上,能够过滤掉网络恶意攻击,极大程度去提高网络安全而降低由于网络恶意攻击带来的风险。目前,网时的高防服务器在骨干节点上采用了3D立体防御体系,能够无视CC攻击、防御DDOS攻击,基本上能够实现无视网络任意攻击。
3. 带宽冗余充足
网络恶意攻击其中一个形式就有带宽消耗型攻击,我们常见的服务器带宽堵塞就是大量的攻击数据包堵塞导致的,这就需要高防服务器所在机房带宽冗余充足。
4. 过滤不必要IP和端口
高防服务器可以在路由器上过滤掉假的IP,关闭其余端口只开放服务端口。
参考技术D

目前CC攻击防御有3种:

1、软件防御 利用安装在服务器上的防火墙进行拦截,主要代表安全狗、云锁等软件,这类防御适用于CC攻击较小,而且CC特征明显的攻击。

2、网站程序防御 利用网站程序限制IP访问频率,并对程序进行优化进少,生成纯静态页,减少动态情况,可一定程度上减少CC攻击的压力。

3、云防火墙  如高防CDN、高防IP,高防CDN会对CC攻击访问进行拦截,对正常访客放行,同时利用边缘节点缓存网站资源,适用于网站被大量CC攻击防御,主要代表百度云加速、抗D宝。高防IP则是DDOS防火墙,利用高带宽、高硬防的特点,对CC攻击进行识别拦截,如正常用户就放行,也适用于被大量CC攻击防御。相关链接

浅谈iptables防SYN Flood攻击和CC攻击

 

------------------------本人为自己实践所总结,概念性的东西不全,这里粗劣提下而已,网上很多,本文主要说下目前较流行的syn洪水攻击和cc攻击-------------------------------------

何为syn flood攻击:

  SYN Flood是一种广为人知的DoS(拒绝服务攻击)是DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式(TCP协议的缺陷,所以没办法根除,除非重做TCP协议,目前不可能)。

  正常原理是:1、TCP三次握手,客户端向服务器端发起连接的时候发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号

        2、服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgment),夹带也发送一个SYN包给客户端,并且服务器分配资源给该连接。

        3、客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。

  syn flood攻击利用TCP三次握手的缺陷,在TCP连接的第三次握手中,当服务器收到客户端的SYN包后并且返回客户端ACK+SYN包,由于客户端是假冒IP,对方永远收不到包且不会回应第三个握手包。导致被攻击服务器保持大量SYN_RECV状态的“半连接”,并且会有重试默认5次回应第二个握手       包,塞满TCP等待连接队列,资源耗尽(CPU满负荷或内存不足),让正常的业务请求连接不进来。通常SYN Flood会和ARP欺骗一起使用,这样就造成了SYN攻击。

何为CC攻击:

  CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡(被黑客黑的电脑)向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

 攻击检测:

  当你发现发服务器很卡,web访问很慢 甚至连SSH操作都开始有点卡的时候,你就要非常注意了。

  检测可以这样做:

  top 查看CPU使用率和CPU负载情况

      负载一般小于CPU核数*0.7算正常,负载内等于或者稍大于核数。说明CPU负载开始严重了,如果超过,说明有问题。

      看看哪些程序CPU使用率较高,是否为正常占用,可以使用 pidof 进程名 查看该进程名的所有进程号,然后ll /proc/进程号/exe、fd查看是否为正常信息。

  netstat查看端口状态

       netstat -n | grep "^tcp" | awk ‘{print $6}‘ | sort  | uniq -c | sort -n

         1 SYN_RECV

         13 FIN_WAIT1

         64 TIME_WAIT
         149 ESTABLISHED

     可以查看当前连接状态的数量,从而进行判断。

         还有vmstat、sar、等检测命令,网上有使用方法!

Syn Flood 一般的防御:

    第一种:缩短SYN Timeout时间,由于SYN Flood攻击的效果取决于服务器上保持的SYN半连接数,这个值=SYN攻击的频度 x SYN Timeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间。

    第二种:设置SYN Cookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被丢弃。

        (缺陷:缩短SYN Timeout时间仅在对方攻击频度不高的情况下生效,SYN Cookie更依赖于对方使用真实的IP地址,如果攻击者以数万/秒的速度发送SYN报文,同时利用ARP欺骗随机改写IP报文中的源地址,以上的方法将毫无用武之地。)

    vim /etc/sysctl.conf

    增加或者修改如下:(修改保存后记得sysctl -p 使之生效)

    net.ipv4.tcp_syncookies = 1

    net.ipv4.tcp_fin_timeout = 1

    net.ipv4.tcp_tw_reuse = 1

    net.ipv4.tcp_max_tw_buckets = 6000

    net.ipv4.tcp_tw_recycle = 1

    net.ipv4.tcp_syn_retries = 1

    net.ipv4.tcp_synack_retries = 1

    net.ipv4.tcp_max_syn_backlog = 262144

    net.core.netdev_max_backlog = 262144

    net.ipv4.tcp_max_orphans = 262144

    net.ipv4.tcp_keepalive_time = 30

 

 

  iptables性质防御:

  限制syn的请求速度(这个方式需要调节一个合理的速度值,不然会影响正常用户的请求)

    iptables -N syn-flood   (新建一条链)

    iptables -A INPUT -p tcp --syn -j syn-flood 

    iptables -A syn-flood  -p tcp -m limit --limit 2/s --limit-burst 50 -j RETURN

    iptables -A syn-flood -j DROP

  Tips:攻击这东西只能防御不能完全根除!只能缓解,降低到最低的风险。有钱可以上第三方公司的产品服务!嘿嘿。

 

CC攻击一般防御:

    1、一般而言,CC攻击都是真实的IP,所以一般的做法通俗点就是封IP

    2、更改web端口,默认CC攻击都是攻击服务器的80端口  

    3、域名欺骗,我们可以使用cdn等加速工具代理我们的服务器,从而实现防御,(网上有人说把域名解析到127.0.0.1 让攻击者自己攻击自己,不知道有没有用,没试过。而且正式业务,你怎么可能去做这样的解析,那业务怎么办?)

    使用抓包命令,抓取访问服务器80的IP数  

     tcpdump -tnn dst port 80 -c 100 | awk -F"." ‘{print $1"."$2"."$3"."$4}‘ | sort | uniq -c | sort -n -r |head -20

       tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

       listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
       100 packets captured
        101 packets received by filter
        0 packets dropped by kernel
           78 IP 221.239.28.142
                  17 IP 124.65.101.82
                 13 IP 14.123.162.69
                 7 IP 183.238.49.188
                7 IP 120.234.19.186

可以看到221.239.28.142的包最多,所以我们进行封IP处理。

  iptables -I INPUT -s 221.239.28.142 -j REJECT 

iptabes 其他限制规则:            

#防御太多DOS攻击连接,可以允许外网每个IP最多15个初始连接,超过的丢弃,第二条是在第一条的基础上允许已经建立的连接和子连接允许

iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 --connlimit-mask 32 -j DROP  (--connlimit-mask 32为主机掩码,32即为一个主机ip,也可以是网段)
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

#抵御DDOS ,允许外网最多24个初始连接,然后服务器每秒新增12个,访问太多超过的丢弃,第二条是允许服务器内部每秒1个初始连接进行转发
iptables -A INPUT  -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

#允许单个IP访问服务器的80端口的最大连接数为 20 

iptables -I INPUT -p tcp --dport 80 -m connlimit  --connlimit-above 20 -j REJECT 

 #对访问本机的22端口进行限制,每个ip每小时只能连接5次,超过的拒接,1小时候重新计算次数

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name SSHPOOL --rcheck --seconds 3600 --hitcount 5 -j DROP

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name SSHPOOL --set -j ACCEPT

 

 

 

以上是关于服务器要怎么防cc攻击?的主要内容,如果未能解决你的问题,请参考以下文章

apache怎么防ddos cc拒绝服务攻击,最老是被攻击服务器网关超时

棋牌游戏平台服务器如何防住cc攻击

网站被攻击选择哪里的高防服务器比较好呢

浅谈iptables防SYN Flood攻击和CC攻击

浅谈iptables防SYN Flood攻击和CC攻击

防cc攻击利器之httpgrard