侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Linux系统如何防止CC攻击避免网页卡顿

linux  /  管理员 发布于 7年前   161

  你是否有遇到这样的情况,明明服务器正常运行,用户访问网站人数正常,却出现网页很卡,直到奔溃的情况,出现这种情况多半是被CC攻击了,预防胜于治疗,下面小编以Linux系统为例,给大家介绍下Linux如何防止CC攻击。

  什么是CC攻击

  cc攻击简单就是(ChallengeCollapsar)

  CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

  防止CC攻击方法

  用防止这CC攻击有两种方法

  第一种就是利用本机的防火墙来解决可以安装CSF之内的防火墙,这种的弊端是只能防止小规模的CC攻击和DDOS(我的站在阿里云,所以不用太担心DDOS)CC攻击比较猛的话机器也直接CUP跑满了。

  第二种方式是添加CDN,这种防止CC攻击的方法是最好的,不过CDN一般都要钱。

  现在就来谈谈具体换防护,

  首先安装CSF防火墙,这个比较简单而且不用改域名什么的,小规模的就直接解决了。

  一、安装依赖包:

  yum install perl-libwww-perl perl iptables

  二、下载并安装 CSF:

  wget http://www.configserver.com/free/csf.tgz

  tar -xzf csf.tgz

  cd csf

  sh install.sh

  三、测试 CSF 是否能正常工作:

  [root@localhost csf]# perl /etc/csf/csftest.pl

  Testing ip_tables/iptable_filter.。.OK

  Testing ipt_LOG.。.OK

  Testing ipt_multiport/xt_multiport.。.OK

  Testing ipt_REJECT.。.OK

  Testing ipt_state/xt_state.。.OK

  Testing ipt_limit/xt_limit.。.OK

  Testing ipt_recent.。.OK

  Testing xt_connlimit.。.OK

  Testing ipt_owner/xt_owner.。.OK

  Testing iptable_nat/ipt_REDIRECT.。.OK

  Testing iptable_nat/ipt_DNAT.。.OK

  RESULT: csf should function on this server

  四、csf的配置:

  CSF的配置文件是

  vim /etc/csf/csf.conf

  # Allow incoming TCP ports

  # 推荐您更改 SSH 的默认端口(22)为其他端口,但请注意一定要把新的端口加到下一行中

  TCP_IN = “20,21,47,81,1723,25,53,80,110,143,443,465,587,993,995〃

  # Allow outgoing TCP ports同上,把 SSH 的登录端口加到下一行。

  # 在某些程序要求打开一定范围的端口的情况下,例如Pureftpd的passive mode,可使用类似 30000:35000 的方式打开30000-35000范围的端口。

  TCP_OUT = “20,21,47,81,1723,25,53,80,110,113,443〃

  # Allow incoming UDP ports

  UDP_IN = “20,21,53〃

  # Allow outgoing UDP ports

  # To allow outgoing traceroute add 33434:33523 to this list

  UDP_OUT = “20,21,53,113,123〃

  # Allow incoming PING 是否允许别人ping你的服务器,默认为1,允许。0为不允许。

  ICMP_IN = “1〃

  以上这些配置大家一看就懂了,下面再介绍几个比较常用的:

上一页12下一页共2页

  免疫某些类型的小规模 DDos 攻击:

  # Connection Tracking. This option enables tracking of all connections from IP

  # addresses to the server. If the total number of connections is greater than

  # this value then the offending IP address is blocked. This can be used to help

  # prevent some types of DOS attack.

  #

  # Care should be taken with this option. It’s entirely possible that you will

  # see false-positives. Some protocols can be connection hungry, e.g. FTP, IMAPD

  # and HTTP so it could be quite easy to trigger, especially with a lot of

  # closed connections in TIME_WAIT. However, for a server that is prone to DOS

  # attacks this may be very useful. A reasonable setting for this option might

  # be arround 200.

  #

  # To disable this feature, set this to 0

  CT_LIMIT = “200”##固定时间内同一个IP请求的此数

  # Connection Tracking interval. Set this to the the number of seconds between

  # connection tracking scans

  CT_INTERVAL = “30” ##指上面的固定时间,单位为秒

  # Send an email alert if an IP address is blocked due to connection tracking

  CT_EMAIL_ALERT = “1” ##是否发送邮件

  # If you want to make IP blocks permanent then set this to 1, otherwise blocks

  # will be temporary and will be cleared after CT_BLOCK_TIME seconds

  # 是否对可疑IP采取永久屏蔽,默认为0,即临时性屏蔽。

  CT_PERMANENT = “0”

  # If you opt for temporary IP blocks for CT, then the following is the interval

  # in seconds that the IP will remained blocked for (e.g. 1800 = 30 mins)

  # 临时性屏蔽时间

  CT_BLOCK_TIME = “1800”

  # If you don’t want to count the TIME_WAIT state against the connection count

  # then set the following to “1〃

  CT_SKIP_TIME_WAIT = “0” ##是否统计TIME_WAIT链接状态

  # If you only want to count specific states (e.g. SYN_RECV) then add the states

  # to the following as a comma separated list. E.g. “SYN_RECV,TIME_WAIT”

  # Leave this option empty to count all states against CT_LIMIT

  CT_STATES = “” ##是否分国家来统计,填写的是国家名

  # If you only want to count specific ports (e.g. 80,443) then add the ports

  # to the following as a comma separated list. E.g. “80,443〃

  #

  # Leave this option empty to count all ports against CT_LIMIT

  # 对什么端口进行检测,为空则检测所有,防止ssh的话可以为空,统计所有的。

  CT_PORTS = “”

  做了以上设置之后,可以先测试一下。如果没有问题的话,就更改为正式模式,刚才只是测试模式。

  # 把默认的1修改为0。

  TESTING = “0”

  在/etc/csf/下有csf.allow和csf.deny两个文件,

  allow是信任的IP,可以把自己的IP写到这里面防止误封。

  deny就是被封的IP。

  如果有调整需要重启一下cfs服务

  上面就是Linux防止CC攻击的方法介绍了,很多时候用户网站被CC攻击了自己都不知道,所以定期的检测是很有必要的。


  • 上一条:
    Linux通过命令行发邮件使用sendmail函数、mail函数
    下一条:
    Linux系统怎么隐藏文件夹和文件?
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客