Jump to content



Search the Community

Showing results for tags 'DDoS'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 站务与动态
    • 最新公告
    • 内部讨论
  • 交流与讨论
    • 移动应用
    • 系统软件
    • 程序代码
    • 娱乐影音
    • 网络资源
    • 灌水闲聊

Calendars

There are no results to display.

Blogs

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


简介内容

Found 3 results

  1. DDoS deflate - Linux下防御/减轻DDOS攻击 2010年04月19日 上午 | 作者:VPS侦探 前言 互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事。在没有硬防的情况下,寻找软件代替是最直接的方法,比如用iptables,但是iptables不能在自动屏蔽,只能手动屏蔽。今天要说的就是一款能够自动屏蔽DDOS攻击者IP的软件:DDoS deflate。 DDoS deflate介绍 DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP. DDoS deflate官方网站:http://deflate.medialayer.com/ 如何确认是否受到DDOS攻击? 执行: netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 执行后,将会显示服务器上所有的每个IP多少个连接数。 以下是我自己用VPS测试的结果: li88-99:~# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 1 114.226.9.132 1 174.129.237.157 1 58.60.118.142 1 Address 1 servers) 2 118.26.131.78 3 123.125.1.202 3 220.248.43.119 4 117.36.231.253 4 119.162.46.124 6 219.140.232.128 8 220.181.61.31 VPS侦探 https://www.vpser.net/ 2311 67.215.242.196 每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。 1、安装DDoS deflate wget http://www.inetbase.com/scripts/ddos/install.sh //下载DDoS deflate chmod 0700 install.sh //添加权限 ./install.sh //执行 2、配置DDoS deflate 下面是DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,内容如下: ##### Paths of the script and other files PROGDIR="/usr/local/ddos" PROG="/usr/local/ddos/ddos.sh" IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名单 CRON="/etc/cron.d/ddos.cron" //定时执行程序 APF="/etc/apf/apf" IPT="/sbin/iptables" ##### frequency in minutes for running the script ##### Caution: Every time this setting is changed, run the script with --cron ##### option so that the new frequency takes effect FREQ=1 //检查时间间隔,默认1分钟 ##### How many connections define a bad IP? Indicate that below. NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可 ##### APF_BAN=1 (Make sure your APF version is atleast 0.96) ##### APF_BAN=0 (Uses iptables for banning ips instead of APF) APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。 ##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script) ##### KILL=1 (Recommended setting) KILL=1 //是否屏蔽IP,默认即可 ##### An email is sent to the following address when an IP is banned. ##### Blank would suppress sending of mails EMAIL_TO="root" //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可 ##### Number of seconds the banned ip should remain in blacklist. BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整 用户可根据给默认配置文件加上的注释提示内容,修改配置文件。 查看/usr/local/ddos/ddos.sh文件的第117行 netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST 修改为以下代码即可! netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sed -n ‘/[0-9]/p’ | sort | uniq -c | sort -nr > $BAD_IP_LIST
  2. 很多站长搞不清楚 DDoS 和 CC 攻击的区别,今天就给大家简单的讲解一下 DDoS 和 CC 攻击的原理以及区别,随后明月会结合自己多年来运维经验给大家分享一下应对 DDoS 和 CC 攻击的措施和心得,希望可以帮助到大家。 DDoS 攻击的原理是什么 DDoS 全称:分布式拒绝服务(DDoS:Distributed Denial of Service)。 信息安全的三要素——“保密性”、“完整性”和“可用性”中,拒绝服务攻击,针对的目标正是“可用性”。该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。 拒绝服务攻击问题一直得不到合理的解决,目前还是世界性难题,究其原因是因为这是由于网络协议本身的安全缺陷造成的,(这里不细说,详情自行百度)从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果: 一是迫使服务器的缓冲区满,不接收新的请求; 二是使用 IP 欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。 CC 攻击的原理是什么 CC 攻击全称 Challenge Collapsar,中文意思是挑战黑洞,因为以前的抵抗 DDoS 攻击的安全设备叫黑洞,顾名思义挑战黑洞就是说黑洞拿这种攻击没办法,新一代的抗 DDoS 设备已经改名为 ADS(Anti-DDoS System),基本上已经可以完美的抵御 CC 攻击了。CC 攻击的原理是通过代理服务器或者大量肉鸡模拟多个用户访问目标网站的动态页面,制造大量的后台数据库查询动作,消耗目标 CPU 资源,造成拒绝服务。CC 不像 DDoS 可以用硬件防火墙来过滤攻击,CC 攻击本身的请求就是正常的请求。我们都知道网站的页面有静态和动态之分,动态网页是需要与后台数据库进行交互的,比如一些论坛用户登录的时候需要去数据库查询你的等级、权限等等,当你留言的时候又需要查询权限、同步数据等等,这就消耗很多 CPU 资源,造成静态网页能打开,但是需要和数据库交互的动态网页打开慢或者无法打开的现象。这种攻击方式相对于前两种实现要相对复杂一些,但是防御起来要简单的多,提供服务的企业只要尽量少用动态网页并且让一些操作提供验证码就能抵御一般的 CC 攻击。 DDoS 和 CC 的区别 DDoS 攻击打的是网站的服务器,而 CC 攻击是针对网站的页面攻击的,用术语来说就是,一个是 WEB 网络层拒绝服务攻击(DDoS),一个是 WEB 应用层拒绝服务攻击(CC),网络层就是利用肉鸡的流量去攻击目标网站的服务器,针对比较本源的东西去攻击,服务器瘫痪了,那么运行在服务器上的网站肯定也不能正常访问了。而应用层就是我们用户看得到的东西,就比如说网页,CC 攻击就是针对网页来攻击的,CC 攻击本身是正常请求,网站动态页面的正常请求也会和数据库进行交互的,当这种"正常请求"达到一种程度的时候,服务器就会响应不过来,从而崩溃。 现在 CC 攻击基本和 DDOS 一样泛滥了。在防护上,确实有着不小的难度. 一般来说,CC 攻击有一些特征可以发现,比如肉鸡的访问频率通常会快于正常的速度,但防御不能这么光凭访问频率来做粗暴的封禁,因为这里面涉及到业务本身的特点等等,一不留神就很容易有误报。目前业界的主流做法一般是 cookie 验证、验证码提交等等方式。但这种常见防护方法,对付一些老手,已经是应付不来了。 比如一些黑客,会利用 WordPress 等一些插件的漏洞在一些大的站点 A 上埋下对目标站点 B 的访问,这样每一台访问 A 站点的机器就自动成了肉鸡对 B 发起访问请求。这种攻击倒也有解,因为这类的请求可能 referer 或者 UA 可能比较固定,站点 B 可以利用这个特征做防护过滤。 又比如有一些坏小子,会专门去研究你的业务哪些 URL 最消耗性能,集中一批肉鸡专打这种 URL,那这个时候其实可以重点对这些 URL 做防护。 最难的是利用海量肉鸡对站点进行慢速的访问攻击。这种攻击没有任何攻击特征,访问速度也相对平缓,访问的 URL 可能也会比较分散。这时候能应对的,我想就是各家厂商自身平时积累的 IP 信誉库以及威胁情报能力了。 CC 防护思路目前来看,资源以及多样的防护算法,缺一不可。首先你的资源要足够多,不然一下子打过来,别说对请求做各种分析了,直接就打瘫了,这也是决定为什么我们小老百姓自己做防护不现实的原因……,谁有那么多资本去为了可能存在的海量攻击预备机器资源?其次,CC 一直是一个攻防博弈的过程,到目前来看,很难做到全自动化的防护并且还零误杀,这就要求你有足够的防护能力能应对各种不同场景下的攻击,根据特征选出合适的解法。 CC 攻击防御策略 1.取消域名绑定 取消域名绑定后 Web 服务器的 CPU 能够马上恢复正常状态,通过 IP 进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对 IP 的 CC 攻击它是无效的,就算更换域名攻击者发现之后,攻击者也会对新域名实施攻击。 2.更改 Web 端口 一般情况下 Web 服务器通过 80 端口对外提供服务,因此攻击者实施攻击就以默认的 80 端口进行攻击,所以,可以修改 Web 端口达到防 CC 攻击的目的。 3.屏蔽 IP 我们通过命令或在查看日志发现了 CC 攻击的源 IP,就可以在防火墙中设置屏蔽该 IP 对 Web 站点的访问,从而达到防范 CC 攻击的目的。 CC 攻击的防范手段 1.优化代码 尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。减少复杂框架的调用,减少不必要的数据请求和处理逻辑。程序执行中,及时释放资源,比如及时关闭 mysql 连接,及时关闭 memcache 连接等,减少空连接消耗。 2.限制手段 对一些负载较高的程序增加前置条件判断,可行的判断方法如下: 必须具有网站签发的 session 信息才可以使用(可简单阻止程序发起的集中请求);必须具有正确的 referer(可有效防止嵌入式代码的攻击);禁止一些客户端类型的请求(比如一些典型的不良蜘蛛特征);同一 session 多少秒内只能执行一次。 3.完善日志 尽可能完整保留访问日志。日志分析程序,能够尽快判断出异常访问,比如单一 ip 密集访问;比如特定 url 同比请求激增。 上述的防御策略和防范手段仅供参考,基本上当 DDoS 或者 CC 攻击来临的时候我们能做的工作很少,明月认为更多的是预防措施是否准备完善,手里时刻准备几个有 WAF 功能的 CDN 账户是很有必要的,最经济的方法就是借助 CDN 的节点请求验证码来应急还是很不错的,HTTP 站点推荐百度云 CDN(CloudFlare 的技术框架还是很给力的),HTTPS 站点推荐上海云盾 CDN。这两个 CDN 可以说是免费 CDN 里比较有用的了,所以明月非常建议大家提前注册并实名认证这两个 CDN,一旦有需要可以随时 DNS 解析里 CNAME 过去,再结合服务器层面的防火墙基本上可以阻挡大部分“练手型”的 DDoS 或者 CC 攻击了。
  3. DOS-Deflate是由Zaf开发的脚本,最初是在MediaLayer服务器上使用,以协助管理员解决拒绝服务攻击(DOS)问题。 如何防范拒绝服务攻击一直是服务器管理员研究的一个课题,尤其是使用VPS(虚拟服务器)的管理员。由于是在虚拟的环境下,既不好要求服务商增加硬件防火墙,又因为本身虚拟的架构导致了一些内核模块(如:connlimit)无法安装。 VPS或者服务器要完全防止拒绝服务攻击是不太现实的,依靠某个模块只能减轻攻击产生的影响,并不能真正杜绝攻击。服务器性能及网络频宽决定了防止攻击的实施难易度。 首先可以使用查看具体网络连接情况 1 netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 安装:(D)DoS Deflate 1 2 3 wget http://www.inetbase.com/scripts/ddos/install.sh chmod 0700 install.sh ./install.sh 安装完后会看到很多使用协议按q退出即可,然后在/usr/local/ddos/路径找到配置文件和sh脚本。配置十分简单,你只需编辑/usr/local/ddos/ddos.conf文件即可。 主要功能与配置 1、可以设置IP白名单,在 /usr/local/ddos/ignore.ip.list 中设置即可; 2、主要配置文件位于 /usr/local/ddos/ddos.conf ,打开此文件,根据提示进行简单的编辑即可; 3、DDoS deflate可以在阻止某一IP后,隔一段预置的时候自动对其解封; 4、可以在配置文件中设置多长时间检查一次网络连接情况; 5、当阻止IP后,可以设置发送Email提醒 配置示例 FREQ=1 #检测的频率为1分钟 NO_OF_CONNECTIONS=100 #当单个IP超过100个连接请求时判定为DDOS APF_BAN=0 #如果打算使用APF阻止IP,则设置为1(需要预先安装APF);如果使用iptables,则设置为0; KILL=1 #是否阻止 EMAIL_TO="webmaster@test.com" #接收邮件 BAN_PERIOD=600 #阻止时长,10分钟 卸载方法: 1 2 3 wget http://www.inetbase.com/scripts/ddos/uninstall.ddos chmod 0700 uninstall.ddos ./uninstall.ddos 修改规则:注释掉117行或者直接修改为 1 2 #netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST netstat -ntu | awk '{print $5}' | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | sort | uniq -c | sort -nr > $BAD_IP_LIST 注释掉135行 1 #echo $CURR_LINE_IP >> $IGNORE_IP_LIST 赏
×
×
  • Create New...