路由器被黑客攻击_路由器ddos被攻击

hacker|
168

怎么判断服务器是否被DDoS恶意攻击?

怀疑遇到攻击情况,首先要看看服务器上面的情况,首先top一下,看看服务器负载,如果负载不高,那么基本可以判断不是cc类型的攻击,再输入命令

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看下 *** 连接的情况,会得到下面这些结果:

TCP/IP协议使用三次握手来建立连接,过程如下:

1、之一次握手,客户端发送数据包syn到服务器,并进入SYN_SEND状态,等待回复

2、第二次握手,服务器发送数据报syn/ack,给客户机,并进入SYN_RECV状态,等待回复

3、第三次握手,客户端发送数据包ACK给客户机,发送完成后,客户端和服务器进入ESTABLISHED状态,链接建立完成

如果ESTABLISHED非常地高,那么可能是有人在恶意攻击,进一步判断,可以把下面命令保存为脚本执行一下:

for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 50) {print $2}}'`

do

echo $i

echo $i /tmp/evilip

done

如果输出了多个结果,那么可能表示有人在企图进行DDOS攻击,想用TCP连接来拖死你的服务器,输出的ip就是发出请求的服务器地址,并且保存在了/tmp/evilip里面。如果没有结果,可以调整一下阈值,把50改成40试一试,对策我们后面再说,这里只讲判断。如果SYN_RECV非常高,那么表示受到了SYN洪水攻击。

SYN洪水是利用TCP/IP协议的设计缺陷来进行攻击的,采用一些策略以及配置可以适当的降低攻击的影响,但并不能完全消除。

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_syn_retries = 0

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

tcp_syncookies设置为1表示启用syncookie,可以大大降低SYN攻击的影响,但是会带来新的安全缺陷。

tcp_syn_retries 表示syn重试次数,重传次数设置为0,只要收不到客户端的响应,立即丢弃该连接,默认设置为5次。

tcp_max_syn_backlog表示syn等待队列,改小这个值,使得SYN等待队列变短,减少对系统以及 *** 资源的占用。

TCP连接攻击算是比较古老的了,防御起来也相对比较简单,主要是利用大量的TCP连接来消耗系统的 *** 资源,通常同一个IP会建立数量比较大的TCP连接,并且一直保持。应对 *** 也比较简单,可以将以下命令保存为脚本,定时ban掉那些傀儡机ip

for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 50) {print $2}}'`

do

echo $i

echo $i /tmp/banip

/ *** in/iptables -A INPUT -p tcp -j DROP -s $i

done

banip文件里面记录了所有被ban的ip地址信息,方面进行反渗透以及证据保存等等。为了更好地加固系统,我们可以使用iptables来限制一下,单个ip的更大连接数。

当攻击者的资源非常的多,上面这些 *** 限制可能就没有什么防护效果了,面对大流量DDoS攻击还是要考虑采用多机负载或者选择墨者安全高防来应对了,一般来说多机负载的成本可能更高,所以大部分人还是选择墨者高防硬防产品来防御。

服务器遭到ddos攻击时怎么办

1.确保所有服务器采用最新系统,并打上安全补丁。计算机紧急响应协调中心发现,几乎每个受到DDoS攻击的系统都没有及时打上补丁。

2.确保管理员对所有主机进行检查,而不仅针对关键主机。这是为了确保管理员知道每个主机系统在 运行什么?谁在使用主机?哪些人可以访问主机?不然,即使黑客侵犯了系统,也很难查明。

3.确保从服务器相应的目录或文件数据库中删除未使用的服务如FTP或NFS。Wu-Ftpd等守护程序存在一些已知的漏洞,黑客通过根攻击就能获得访问特权系统的权限,并能访问其他系统甚至是受防火墙保护的系统。

4.确保运行在Unix上的所有服务都有TCP封装程序,限制对主机的访问权限。

5.禁止内部网通过Modem连接至PSTN系统。否则,黑客能通过 *** 线发现未受保护的主机,即刻就能访问极为机密的数据?

6.禁止使用 *** 访问程序如Telnet、Ftp、Rsh、Rlogin和Rcp,以基于PKI的访问程序如SSH取代。SSH不会在网上以明文格式传送口令,而Telnet和Rlogin则正好相反,黑客能搜寻到这些口令,从而立即访问 *** 上的重要服务器。此外,在Unix上应该将.rhost和hosts.equiv文件删除,因为不用猜口令,这些文件就会提供登录访问!

7.限制在防火墙外与 *** 文件共享。这会使黑客有机会截获系统文件,并以特洛伊木马替换它,文件传输功能无异将陷入瘫痪。

8.确保手头有一张最新的 *** 拓扑图。这张图应该详细标明TCP/IP地址、主机、路由器及其他 *** 设备,还应该包括 *** 边界、非军事区(DMZ)及 *** 的内部保密部分。

9.在防火墙上运行端口映射程序或端口扫描程序。大多数事件是由于防火墙配置不当造成的,使DoS/DDoS攻击成功率很高,所以定要认真检查特权端口和非特权端口。

10.检查所有 *** 设备和主机/服务器系统的日志。只要日志出现漏洞或时间出现变更,几乎可以肯定:相关的主机安全受到了危胁。

11.利用DDoS设备提供商的设备。

遗憾的是,目前没有哪个 *** 可以免受DDoS攻击,但如果采取上述几项措施,能起到一定的预防作用

网站被DDoS攻击怎么办?

一、为何要DDOS?

随着Internet互联 *** 带宽的增加和多种DDOS黑客工具的不断发布,DDOS拒绝服务攻击的实施越来越容易,DDOS攻击事件正在成上升趋势。出于商业竞争、打击报复和 *** 敲诈等多种因素,导致很多IDC托管机房、商业站点、游戏服务器、聊天 *** 等 *** 服务商长期以来一直被DDOS攻击所困扰,随之而来的是客户投诉、同虚拟主机用户受牵连、法律纠纷、商业损失等一系列问题,因此,解决DDOS攻击问题成为 *** 服务商必须考虑的头等大事。

2

二、什么是DDOS?

DDOS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常 *** 服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常 *** 资源的访问,从而达成攻击者不可告人的目的。虽然同样是拒绝服务攻击,但是DDOS和DOS还是有所不同,DDOS的攻击策略侧重于通过很多“僵尸主机”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的 *** 包,从而造成 *** 阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击 *** 包就会犹如洪水般涌向受害主机,从而把合法用户的 *** 包淹没,导致合法用户无法正常访问服务器的 *** 资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDOS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等;而DOS则侧重于通过对主机特定漏洞的利用攻击导致 *** 栈失效、系统崩溃、主机死机而无法提供正常的 *** 服务功能,从而造成拒绝服务,常见的DOS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。就这两种拒绝服务攻击而言,危害较大的主要是DDOS攻击,原因是很难防范,至于DOS攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范,后文会详细介绍怎么对付DDOS攻击。

3

三、被DDOS了吗?

DDOS的表现形式主要有两种,一种为流量攻击,主要是针对 *** 带宽的攻击,即大量攻击包导致 *** 带宽被阻塞,合法 *** 包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供 *** 服务。

如何判断网站是否遭受了流量攻击呢?可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的 *** 服务端口来测试,效果是一样的。不过有一点可以肯定,假如平时Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除 *** 故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。

相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就Ping不通接在同一交换机上的主机了。

4

当前主要有三种流行的DDOS攻击:

1、SYN/ACK Flood攻击:这种攻击 *** 是经典最有效的DDOS *** ,可通杀各种系统的 *** 服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat -na命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。

2、TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多 *** 服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。

3、刷Script脚本攻击:这种攻击主要是针对存在ASP、 *** P、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击 *** 。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy *** 向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy *** 就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。

5

四、怎么抵御DDOS?

对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御90%的DDOS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDOS攻击。以下几点是防御DDOS攻击几点:

1、采用高性能的 *** 设备

首先要保证 *** 设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和 *** 提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在 *** 接点处做一下流量限制来对抗某些种类的DDOS攻击是非常有效的。

2、尽量避免NAT的使用

无论是路由器还是硬件防护墙设备要尽量避免采用 *** 地址转换NAT的使用,因为采用此技术会较大降低 *** 通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对 *** 包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。

3、充足的 *** 带宽保证

*** 带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,更好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的 *** 带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为 *** 服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。

4、升级主机服务器硬件

在有 *** 带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它吧,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别只贪IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是Realtek的还是用在自己的PC上吧。

5、把网站做成静态页面

大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器,当然,适当放一些不做数据库调用脚本还是可以的,此外,更好在需要调用数据库的脚本中拒绝使用 *** 的访问,因为经验表明使用 *** 访问你网站的80%属于恶意行为。

6、增强操作系统的TCP/IP栈

Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看微软的文章吧!《强化 TCP/IP 堆栈安全》。

也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》。

7、安装专业抗DDOS防火墙

8、其他防御措施

0条大神的评论

发表评论