×

防火墙脚本ddos

防火墙脚本ddos(防火墙防攻击)

hacker hacker 发表于2022-07-04 21:43:27 浏览30 评论5

5人参与发表评论

本文目录一览:

用防火墙可以防御DDoS吗?

防火墙防不了DDoS攻击,DDoS只是访问量增加,除非你不让别人访问,当流量超出服务器的网络带宽时,服务器就会拥堵到无法访问,也就是瘫痪。最常见的不过是ping攻击,也是最简单,防御ping攻击很简单,服务器IP禁ping即可,设置禁ping还可以防御其他攻击,有的黑客是否停止攻击的依据就是你的服务器是否ping的通,因为发起DDoS攻击也是需要成本的,需要大量的肉鸡等等,不可能长时间持续对一个目标攻击,除非是针对性的!防御DDoS攻击最根本的办法就是买高防,比如墨者安全高防防御流量1000G,国内DDOS一般最多几十到几百G左右吧。

用防火墙可以防御DDoS攻击吗?

防火墙通过监视和跟踪允许的网络流量、数据包,来提供周边访问控制。在很多方面,防火墙扮演着网络“交通警察”的角色。它允许好的、正常的数据包,不受阻碍地访问服务器,同时阻止坏的、异常的数据包访问服务器的网络。防火墙可以有助于检测进入的恶意流量,但是在对于已进入的恶意流量,在防御上没有太大的能力。

很多租用服务器的企业用户,单单依靠防火墙来缓解DDos攻击.但仅依靠硬件防火墙抵御DDos攻击,防御能力一般在30Gbps以内,并且服务价格昂贵。这些使用传统防火墙抵御DDos攻击的企业用户认为,防火墙可以更新,这样可以有效地防止DDos攻击。然而事实并非如此,防火墙一般依照系统管理员预先定义好的规则,来控制数据包的进出,它是一台专属的硬件或是架设在一般硬件上的一套软件。大多数防火墙,并没有对DDos攻击进行针对性的改进和设计,也因此难以承受和抵御大规模的、多种类型的DDos攻击。

这里主要有两个原因:

一、 防火墙受制于带宽,容易被攻破

防火墙和其他本地硬件,所享有的带宽是非常有限的,其中包括企业租用的带宽规模。

当DDos攻击的规模超过“20—30G”时,该带宽会迅速变得不堪重负,进而出现防御崩溃。

二、 防火墙规则管理

防火墙定义的规则管理,有时候会被伪装成合法正常流量的“恶意流量”所愚弄,就像“SYN Flood”(一种DDos攻击类型)一样。

所以,提供深度数据包、流量检测,可针对性地调整流量清洗规则,为对抗各种类型的DDos攻击提供具体对策的解决方案,比防火墙使用规则管理的静态操作更加行之有效。

因此,防火墙只是防御策略的一部分,而不是一个完整的解决方案。想要更加全面有效地防御DDos攻击,就绝不能仅仅依靠防火墙来解决,还需要结合其他技术和设备进行防御。

防御吧高防服务器,专业抗DDos攻击,具有“超大防护带宽、超强清洗能力、全业务场景支持”的特点。防御吧在部署高防服务器的高防机房,接入了T级(1000G)超大防护带宽,单机(单台高防服务器)防御峰值最高可达数百G,并附有CC攻击的防御能力,可防御超大规模的DDos攻击和高密度的CC攻击

linux防火墙如何防御DDOS攻击?

抵御DDOS

DDOS,分布式拒绝访问攻击,是指黑客组织来自不同来源的许多主机,向常见的端口,如80,25等发送大量连接,但这些客户端只建立连接,不是正常访问。由于一般Apache配置的接受连接数有限(通常为256),这些“假” 访问会把Apache占满,正常访问无法进行。

Linux提供了叫ipchains的防火墙工具,可以屏蔽来自特定IP或IP地址段的对特定端口的连接。使用ipchains抵御DDOS,就是首先通过netstat命令发现攻击来源地址,然后用ipchains命令阻断攻击。发现一个阻断一个。

*** 打开ipchains功能

首先查看ipchains服务是否设为自动启动:

chkconfig --list ipchains

输出一般为:

ipchains 0:off 1:off 2:on 3:on 4:on 5:on 6:off

如果345列为on,说明ipchains服务已经设为自动启动

如果没有,可以用命令:

chkconfig --add ipchains

将ipchains服务设为自动启动

其次,察看ipchains配置文件/etc/sysconfig/ipchains是否存在。如果这一文件不存在,ipchains

即使设为自动启动,也不会生效。缺省的ipchains配置文件内容如下:

# Firewall configuration written by lokkit

# Manual customization of this file is not recommended.

# Note: ifup-post will punch the current nameservers through the

# firewall; such entries will *not* be listed here.

:input ACCEPT

:forward ACCEPT

:output ACCEPT

-A input -s 0/0 -d 0/0 -i lo -j ACCEPT

# allow http,ftp,smtp,ssh,domain via tcp; domain via udp

-A input -p tcp -s 0/0 -d 0/0 pop3 -y -j ACCEPT

-A input -p tcp -s 0/0 -d 0/0 http -y -j ACCEPT

-A input -p tcp -s 0/0 -d 0/0 https -y -j ACCEPT

-A input -p tcp -s 0/0 -d 0/0 ftp -y -j ACCEPT

-A input -p tcp -s 0/0 -d 0/0 smtp -y -j ACCEPT

-A input -p tcp -s 0/0 -d 0/0 ssh -y -j ACCEPT

-A input -p tcp -s 0/0 -d 0/0 domain -y -j ACCEPT

-A input -p udp -s 0/0 -d 0/0 domain -j ACCEPT

# deny icmp packet

#-A input -p icmp -s 0/0 -d 0/0 -j DENY

# default rules

-A input -p tcp -s 0/0 -d 0/0 0:1023 -y -j REJECT

-A input -p tcp -s 0/0 -d 0/0 2049 -y -j REJECT

-A input -p udp -s 0/0 -d 0/0 0:1023 -j REJECT

-A input -p udp -s 0/0 -d 0/0 2049 -j REJECT

-A input -p tcp -s 0/0 -d 0/0 6000:6009 -y -j REJECT

-A input -p tcp -s 0/0 -d 0/0 7100 -y -j REJECT

如果/etc/sysconfig/ipchains文件不存在,可以用上述内容创建之。创建之后,启动ipchains服:

/etc/init.d/ipchains start

*** 用netstat命令发现攻击来源

假如说黑客攻击的是Web 80端口,察看连接80端口的客户端IP和端口,命令如下:

netstat -an -t tcp | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort

输出:

161.2.8.9:123 FIN_WAIT2

161.2.8.9:124 FIN_WAIT2

61.233.85.253:23656 FIN_WAIT2

...

第一栏是客户机IP和端口,第二栏是连接状态

如果来自同一IP的连接很多(超过50个),而且都是连续端口,就很可能是攻击。

如果只希望察看建立的连接,用命令:

netstat -an -t tcp | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort

*** 用ipchains阻断攻击来源

用ipchains阻断攻击来源,有两种方法。一种是加入到/etc/sysconfig/ipchains里,然后重启动ipchains服务。另一种是直接用ipchains命令加。屏蔽之后,可能还需要重新启动被攻击的服务,是已经建立的攻击连接失效

* 加入/etc/sysconfig/ipchains

假定要阻止的是218.202.8.151到80的连接,编辑/etc/sysconfig/ipchains文件,在:output ACCEPT

行下面加入:

-A input -s 218.202.8.151 -d 0/0 http -y -j REJECT

保存修改,重新启动ipchains:

/etc/init.d/ipchains restart

如果要阻止的是218.202.8的整个网段,加入:

-A input -s 218.202.8.0/255.255.255.0 -d 0/0 http -y -j REJECT

* 直接用命令行

加入/etc/sysconfig/ipchains文件并重起ipchains的方法,比较慢,而且在ipchains重起的瞬间,可能会有部分连接钻进来。最方便的方法是直接用ipchains命令。

假定要阻止的是218.202.8.151到80的连接,命令:

ipchains -I input 1 -p tcp -s 218.202.8.151 -d 0/0 http -y -j REJECT

如果要阻止的是218.202.8的整个网段,命令:

ipchains -I input 1 -p tcp -s 218.202.8.0/255.255.255.0 -d 0/0 http -y -j REJECT

其中,-I的意思是插入,input是规则连,1是指加入到第一个。

您可以编辑一个shell脚本,更方便地做这件事,命令:

vi blockit

内容:

#!/bin/sh

if [ ! -z "$1" ] ; then

echo "Blocking: $1"

ipchains -I input 1 -p tcp -s "$1" -d 0/0 http -y -j REJECT

else

echo "which ip to block?"

fi

保存,然后:

chmod 700 blockit

使用方法:

./blockit 218.202.8.151

./blockit 218.202.8.0/255.255.255.0

上述命令行方法所建立的规则,在重起之后会失效,您可以用ipchains-save命令打印规则:

ipchains-save

输出:

:input ACCEPT

:forward ACCEPT

:output ACCEPT

Saving `input'.

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i lo -j ACCEPT

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 110:110 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 80:80 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 22:22 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 88:88 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 89:89 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 90:90 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 91:91 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 8180:8180 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 443:443 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 21:21 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 25:25 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 22:22 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 53:53 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 9095:9095 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 8007:8007 -p 6 -j ACCEPT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 53:53 -p 17 -j ACCEPT

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 0:1023 -p 6 -j REJECT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 2049:2049 -p 6 -j REJECT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 0:1023 -p 17 -j REJECT

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 2049:2049 -p 17 -j REJECT

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 6000:6009 -p 6 -j REJECT -y

-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 7100:7100 -p 6 -j REJECT -y

您需要把其中的"Saving `input'."去掉,然后把其他内容保存到/etc/sysconfig/ipchains文件,这样,下次重起之后,建立的规则能够重新生效。

群贤毕至

访客
寻妄南戈 寻妄南戈2022-07-05 01:28:56 | 回复 。创建之后,启动ipchains服:/etc/init.d/ipchains start*** 用netstat命令发现攻击来源假如说黑客攻击的是Web 80端口,察看连接80端口的客户端IP和端口,命令如下:netstat -an -t tcp | grep ":
性许未欢 性许未欢2022-07-04 22:01:27 | 回复 p tcp -s 0/0 -d 0/0 ftp -y -j ACCEPT-A input -p tcp -s 0/0 -d 0/0 smtp -y -j ACCEPT-A input -p tcp -s 0/0 -d 0/0 ssh -y -j ACCEP
绿邪拔弦 绿邪拔弦2022-07-05 02:40:00 | 回复 自特定IP或IP地址段的对特定端口的连接。使用ipchains抵御DDOS,就是首先通过netstat命令发现攻击来源地址,然后用ipchains命令阻断攻击。发现一个阻断一个。*** 打开ipchains功能首先查看ipchains服务是否设为自动启动:c
余安夙世 余安夙世2022-07-05 07:22:44 | 回复 p tcp -s 0/0 -d 0/0 pop3 -y -j ACCEPT-A input -p tcp -s 0/0 -d 0/0 http -y -j ACCEPT-A input -
闹旅殊姿 闹旅殊姿2022-07-05 03:07:01 | 回复 ACCEPT-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 110:110 -p 6 -j ACCEPT -y-A input -