端口扫描防御_抗端口扫描

hacker|
49

e地通的防火墙功能

防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。它是提供信息安全服务,实现网络和信息安全的基础设施。在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全。

1、e地通防火墙优势

1)安全的系统平台

内核采用自主开发的嵌入式Linux操作系统,全模块化设计,使用中间层理念,减小系统对硬件的依赖性。具有安全性、开放性、扩展性、模块化、标准化、可移植性等特征;采用最优硬件平台,提供全线速转发的能力,拥有更高的安全性和可控性。基于Hash表的快速转发功能,极大提高了防火墙的吞吐率。

2)采用多种安全技术

包过滤技术

TCP/IP的数据包是由包头和数据构成的,包头包括协议(TCP/UDP/ICMP)、源地址、目的地址、源端口(服务)、目的端口等信息,包过滤是防火墙基于网络层的安全方式,它通过对所有流经防火墙的信息包内的包头信息检查,以实现对网络的安全控制。

防火墙针对TCP/IP数据包做处理,因此称为网络级,根据上面所列参数进行过滤(比如地址1的任意端口到地址2的80端口的TCP包被禁止,表示禁止地址1的计算机连接地址2的计算机的www服务),因此称为包过滤。

包过滤技术是惠尔顿e地通为系统提供安全保障的主要技术,它通过设备对进出网络的数据流进行有选择的控制与操作。包过滤操作通常在选择路由的同时对从互联网络到内部网络的包进行过滤。用户可以设定一系列的规则,指定允许哪些类型的数据包可以流入或流出内部网络;哪些类型的数据包的传输应该被拦截。包过滤规则以IP包信息为基础, 对IP包的源地址、 IP包的目的地址、封装协议(TCP/UDP/ICMP/IP Tunnel)、端口号等进行筛选。包过滤这个操作可以在路由器上进行,也可以在网桥,甚至在一个单独的主机上进行。

网络地址转换(NAT技术)

提供IP 地址转换和IP 及TCP/UDP 端口映射,实现IP 复用和隐藏网络结构:

NAT 在IP 层上通过地址转换提供IP 复用功能,解决IP 地址不足的问题,同时隐藏了内部网的结构,强化了内部网的安全。惠尔顿防火墙提供了NAT 功能,并可根据用户需要灵活配置。当内部网用户需要对外访问时,防火墙系统将访问主体转化为自己,并将结果透明地返回用户,相当于一个IP 层代理。防火墙的地址转换是基于安全控制策略的转换,可以针对具体的通信事件进行地址转换。

NAT的工作过程如图所示:

图4

在内部网络通过安全网卡访问外部网络时,将产生一个映射记录。系统将外出的源地址和源端口映射为一个伪装的地址和端口,让这个伪装的地址和端口通过非安全网卡与外部网络连接,这样对外就隐藏了真实的内部网络地址。在外部网络通过非安全网卡访问内部网络时,它并不知道内部网络的连接情况,而只是通过一个开放的IP地址和端口来请求访问。

惠尔顿e地通根据预先定义好的映射规则来判断这个访问是否安全。当符合规则时,防火墙认为访问是安全的,可以接受访问请求,也可以将连接请求映射到不同的内部计算机中。当不符合规则时,防火墙认为该访问是不安全的,不能被接受,防火墙将屏蔽外部的连接请求。网络地址转换的过程对于用户来说是透明的,不需要用户进行设置,用户只要进行常规操作即可。

3)DMZ

除了内部网络接口和外部网络接口,惠尔顿三端口防火墙还有一个中立区网络接口,称为DMZ(Demilitarized Zone),可以在其中放置公共应用服务器。

DMZ是防火墙为了实现在保护内部网络的安全同时,又可以保证需要放置在Internet上的服务器的安全的一种方法,有了DMZ策略,可以像保护内部网络一样更好地保护DMZ的主机。

惠尔顿e地通的DMZ口还可以作为第二个外部接口灵活使用。

4)远程集中管理

惠尔顿e地通产品支持Web、Https、命令行等面向基于对象的管理配置方式,可通过安全的认证及管理信息的加密传输实现全局防火墙设备的本地、远程集中管理与监控。

惠尔顿e地通产品主要采用全中文Web(Graphic User Interface)界面的配置方式,用户可以在不同操作系统平台、不同地域对防火墙进行配置和管理。

5)透明应用代理

应用代理是用来对TCP/IP应用进行代理的服务器软件(以下简称Proxy),Proxy可以接收客户的请求,分析客户数据,然后以自己的面目向内容服务器提出请求,然后接受内容服务器的响应,再传给客户。

这用于几种场合:共享一个Internet接入连接时,可以让局域网的所有计算机都访问Internet上的内容;给出一个共同的连接口,便于控制和管理。而网络层的NAT和包过滤都无法处理基于应用层的内容过滤,比如URL Blocking、病毒过滤、邮件等的关键词过滤等等,因为网络层只处理包头。应用层防火墙就是把数据包先整合成应用层数据,根据数据内容(比如要过滤的关键词或URL地址)进行过滤,然后再重新生成TCP/IP包。

但这样比包过滤增加了许多工作量,因此效率必然比包过滤低。另外,由于应用代理是应用层的,因此针对不同的应用层协议必须有单独的应用代理,因此应用代理不能支持所有网络应用,也不能自动地支持新的网络应用。而网络层的系统是针对TCP/IP协议的,因此可以自动支持大部分应用和新应用(只要是基于TCP/IP的即可)。

惠尔顿e地通提供对高层应用服务(HTTP)的透明代理。用户不需要在自己的主机上作任何的有关代理服务器的设置,只需管理员在防火墙上配置相关的规则,用户通过防火墙进行的上述应用访问就会由防火墙进行代理,这些配置对用户来说完全是透明的,极大的方便了用户使用代理。

6)支持MAC与IP地址绑定

传统上认为计算机网络的安全主要应防备外部的入侵,但现在的实际情况是内部的破坏及信息窃取同外部的入侵一样是网络安全应防备的大的环节。惠尔顿防火墙允许绑定MAC地址(网卡的硬件地址)和IP地址,可以使内部网络防止内部IP欺骗,保证基于IP的安全策略、计费策略等的正确实施。当发现某IP和绑定的MAC地址不相符时,将拒绝为该IP服务。MAC绑定技术主要用于绑定一些重要的管理员IP和特权IP。

7)内容过滤技术

惠尔顿e地通支持URL、关键字检测机制,能有效控制内部网络对某些站点的访问,屏蔽不良的、非法的网站,防止内网用户浏览邪教、色情等不良网站及网页。

8)抗攻击能力

惠尔顿e地通可有效抵抗DOS/DDOS、嗅探、同步等多种攻击,阻止TCP、UDP 等端口扫描,防止源路由攻击、IP碎片包攻击、DNS/RIP/ICMP攻击、SYN 攻击。

抗DOS/DDOS 攻击:拒绝服务攻击(DOS )就是攻击者过多的占用共享资源,导致服务器超载或系统崩溃,而使正常用户无法享有服务或没有资源可用。防火墙通过控制、检测与报警机制,阻止DOS 黑客攻击。

防TCP 、UDP 等端口扫描:可以阻止对网络或内部主机的所有TCP/UDP扫描。

可防御源路由攻击、IP 碎片包攻击、DNS/RIP/ICMP 攻击、SYN 等多种攻击:惠尔顿防火墙系统可以检测对网络或内部主机的多种拒绝服务攻击。

阻止ActiveX 、Java 、Javascript 等侵入:属于HTTP 内容过滤,防火墙能够从HTTP页面剥离ActiveX 、JavaApplet 等小程序及从Script 、PHP 和ASP 等代码检测出危险的代码,同时,能够过滤用户上载的CGI 、ASP 等程序。

提供实时监控和告警功能:惠尔顿防火墙提供对网络的实时监控,当发现攻击和危险行为时,防火墙提供告警等功能。

9)适用更广泛的网络及应用环境

支持众多网络通信协议和应用协议,如DHCP 、ADSL 、RIP 、ISL 、802.1Q 、Spanning tree 、NETBEUI、IPSEC、PPTP、H.323 、BOOTP、PPPoE协议等,使惠尔顿防火墙适用网络的范围更加广泛,保证用户的网络应用并扩展IP 宽带接入及IP电话、视频会议、VOD 点播等多媒体应用。

10)用户认证

通过使用用户身份认证, 确保用户身份, 及用户可以访问的权限, 保护网络的安全和用户身份被盗用的情况。用户认证可以通过两种方式实现:内部用户数据库和Radius服务器。

11)智能路由管理

支持多线路捆绑技术,可实现带网络带宽的叠加;

采用智能路由分离技术,分流上网数据、扩充互联线路;

支持DHCP、PPPOE、NTP、NAPT/PAT、NAT穿越、DNS增强版缓存;

提供管理服务器群的负载平衡能力;

可自由设定静态路由,支持集团用户的多级复杂网络。

防护DDOS的几种的必要步骤

一、为何要DDOS?

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

二、什么是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攻击。

三、被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不通接在同一交换机上的主机了。

作者: 222.35.168.* 2007-2-4 13:32 回复此发言

--------------------------------------------------------------------------------

2 怎样防护ddos攻击?

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

四、怎么抵御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,这点一定要搞清楚。

作者: 222.35.168.* 2007-2-4 13:32 回复此发言

--------------------------------------------------------------------------------

3 怎样防护ddos攻击?

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防火墙

国内有一款可全功能免费试用的“冰盾防火墙”,是专门针对DDOS攻击和黑客入侵而设计的专业级防火墙,据测试可有效对抗每秒数十万的SYN/ACK攻击、TCP全连接攻击、刷脚本攻击等DDOS攻击,而且可识别2000多种黑客行为的入侵检测模块,能够有效防范端口扫描、SQL注入、木马上传等攻击。下载地址:

8、其他防御措施

以上的七条对抗DDOS建议,适合绝大多数拥有自己主机的用户,对于第1-4条自己具有选择权,第5条可以通过网站改版来实现,第6条是免费的,第7条若购买的话需要一些费用,但在所有建议中是最有效的,并且情况允许的话,完全可以一直使用试用版。但假如采取以上措施后仍然不能解决DDOS问题,就有些麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDOS攻击能力成倍提高,只要投资足够深入,总有攻击者会放弃的时候,那时候你就成功了!:)

内部lan中的用户无法连接到www服务器

考虑一下防火墙的问题,有些杀毒软件或防火墙会自动关闭共享或共享盘符,比如c$ d$ e$ 分别是默认状态下的共享盘符。你可以试一下在“开始菜单——运行”中输入cmd打开命令提示符,输入“netshare ipc$”或“netshare d$”再试一下。ipc$表示打印机共享,d$表示D盘共享

另外也有可能是受到攻击了

拒绝服务攻击是一种遍布全球的系统漏洞,黑客们正醉心于对它的研究,而无数的网络用户将成为这种攻击的受害者。Tribe Flood Network, tfn2k, smurf, targa…还有许多的程序都在被不断的开发出来。这些程序想瘟疫一样在网络中散布开来,使得我们的村落更为薄弱,我们不得不找出一套简单易用的安全解决方案来应付黑暗中的攻击。

由于我们防范手段的加强,拒绝服务攻击手法也在不断的发展。 Tribe Flood Network (tfn) 和tfn2k引入了一个新概念:分布式。这些程序可以使得分散在互连网各处的机器共同完成对一台主机攻击的操作,从而使主机看起来好象是遭到了不同位置的许多主机的攻击。这些分散的机器由几台主控制机操作进行多种类型的攻击,如UDP flood, SYN flood等。

操作系统和网络设备的缺陷在不断地被发现并被黑客所利用来进行恶意的攻击。如果我们清楚的认识到了这一点,我们应当使用下面的两步来尽量阻止网络攻击保护我们的网络: 尽可能的修正已经发现的问题和系统漏洞。

识别,跟踪或禁止这些令人讨厌的机器或网络对我们的访问。

我们先来关注第二点我们面临的主要问题是如何识别那些恶意攻击的主机,特别是使用拒绝服务攻击的机器。因为这些机器隐藏了他们自己的地址,而冒用被攻击者的地址。攻击者使用了数以千记的恶意伪造包来使我们的主机受到攻击。"tfn2k"的原理就象上面讲的这么简单,而他只不过又提供了一个形象的界面。假如您遭到了分布式的拒绝服务攻击,实在是很难处理。

有一些简单的手法来防止拒绝服务式的攻击。最为常用的一种当然是时刻关注安全信息以期待最好的方法出现。管理员应当订阅安全信息报告,实时的关注所有安全问题的发展。:) 第二步是应用包过滤的技术,主要是过滤对外开放的端口。这些手段主要是防止假冒地址的攻击,使得外部机器无法假冒内部机器的地址来对内部机器发动攻击。

对于应该使用向内的包过滤还是使用向外的包过滤一直存在着争论。RFC 2267建议在全球范围的互连网上使用向内过滤的机制,但是这样会带来很多的麻烦,在中等级别的路由器上使用访问控制列表不会带来太大的麻烦,但是已经满载的骨干路由器上会受到明显的威胁。另一方面,ISP如果使用向外的包过滤措施会把过载的流量转移到一些不太忙的设备上。 ISP也不关心消费者是否在他们的边界路由器上使用这种技术。当然,这种过滤技术也并不是万无一失的,这依赖于管理人员采用的过滤机制。

1.ICMP防护措施

ICMP最初开发出来是为了"帮助"网络,经常被广域网管理员用作诊断工具。但今天各种各样的不充分的ICMP被滥用,没有遵守RFC 792原先制订的标准,要执行一定的策略可以让它变得安全一些。

入站的ICMP时间标记(Timestamp)和信息请求(Information Request)数据包会得到响应,带有非法或坏参数的伪造数据包也能产生ICMP参数问题数据包,从而允许另外一种形式的主机搜寻。这仍使得站点没有得到适当保护。

以秘密形式从主方到客户方发布命令的一种通用方法,就是使用ICMP Echo应答数据包作为载波。 回声应答本身不能回答,一般不会被防火墙阻塞。

首先,我们必须根据出站和入站处理整个的"ICMP限制"问题。ICMP回声很容易验证远程机器,但出站的ICMP回声应该被限制只支持个人或单个服务器/ICMP代理(首选)。

如果我们限制ICMP回声到一个外部IP地址(通过代理),则我们的ICMP回声应答只能进入我们网络中预先定义的主机。

重定向通常可以在路由器之间找到,而不是在主机之间。防火墙规则应该加以调整,使得这些类型的ICMP只被允许在需要信息的网际连接所涉及的路由器之间进行。

建议所有对外的传输都经过代理,对内的ICMP传输回到代理地址的时候要经过防火墙。这至少限制了ICMP超时数据包进入一个内部地址,但它可能阻塞超时数据包。

当ICMP数据包以不正确的参数发送时,会导致数据包被丢弃,这时就会发出ICMP参数出错数据包。主机或路由器丢弃发送的数据包,并向发送者回送参数ICMP出错数据包,指出坏的参数。

总的来说,只有公开地址的服务器(比如Web、电子邮件和FTP服务器)、防火墙、联入因特网的路由器有真正的理由使用ICMP与外面的世界对话。如果调整适当,实际上所有使用进站和出站ICMP的隐密通讯通道都会被中止。

2. SYN Flood防范

SYN Flood是当前最流行的DoS(拒绝服务攻击)与DdoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。对于SYN Flood攻击,目前尚没有很好的监测和防御方法,不过如果系统管理员熟悉攻击方法和系统架构,通过一系列的设定,也能从一定程度上降低被攻击系统的负荷,减轻负面的影响。

一般来说,如果一个系统(或主机)负荷突然升高甚至失去响应,使用Netstat 命令能看到大量SYN_RCVD的半连接(数量500或占总连接数的10%以上),可以认定,这个系统(或主机)遭到了SYN Flood攻击。遭到SYN Flood攻击后,首先要做的是取证,通过Netstat –n –p tcp resault.txt记录目前所有TCP连接状态是必要的,如果有嗅探器,或者TcpDump之类的工具,记录TCP SYN报文的所有细节也有助于以后追查和防御,需要记录的字段有:源地址、IP首部中的标识、TCP首部中的序列号、TTL值等,这些信息虽然很可能是攻击者伪造的,但是用来分析攻击者的心理状态和攻击程序也不无帮助。特别是TTL值,如果大量的攻击包似乎来自不同的IP但是TTL值却相同,我们往往能推断出攻击者与我们之间的路由器距离,至少也可以通过过滤特定TTL值的报文降低被攻击系统的负荷(在这种情况下TTL值与攻击报文不同的用户就可以恢复正常访问)。从防御角度来说,有几种简单的解决方法:

2.1 缩短SYN Timeout时间:由于SYN Flood攻击的效果取决于服务器上保持的SYN半连接数,这个值=SYN攻击的频度 x SYN Timeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间,例如设置为20秒以下(过低的SYN Timeout设置可能会影响客户的正常访问),可以成倍的降低服务器的负荷。

2.2 设置SYN Cookie:就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被丢弃。可是上述的两种方法只能对付比较原始的SYN Flood攻击,缩短SYN Timeout时间仅在对方攻击频度不高的情况下生效,SYN Cookie更依赖于对方使用真实的IP地址,如果攻击者以数万/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,以上的方法将毫无用武之地。

2.3 负反馈策略:参考一些流行的操作系统,如Windows2000的SYN攻击保护机制:正常情况下,OS对TCP连接的一些重要参数有一个常规的设置: SYN Timeout时间、SYN-ACK的重试次数、SYN报文从路由器到系统再到Winsock的延时等等。这个常规设置针对系统优化,可以给用户提供方便快捷的服务;一旦服务器受到攻击,SYN Half link 的数量超过系统中TCP活动 Half Connction最大连接数的设置,系统将会认为自己受到了SYN Flood攻击,并将根据攻击的判断情况作出反应:减短SYN Timeout时间、减少SYN-ACK的重试次数、自动对缓冲区中的报文进行延时等等措施,力图将攻击危害减到最低。如果攻击继续,超过了系统允许的最大Half Connection 值,系统已经不能提供正常的服务了,为了保证系统不崩溃,可以将任何超出最大Half Connection 值范围的SYN报文随机丢弃,保证系统的稳定性。

所以,可以事先测试或者预测该主机在峰值时期的Half Connction 的活动数量上限,以其作为参考设定TCP活动 Half Connction最大连接数的值,然后再以该值的倍数(不要超过2)作为TCP最大Half Connection值,这样可以通过负反馈的手段在一定程度上阻止SYN攻击。

2.4 退让策略:退让策略是基于SYN Flood攻击代码的一个缺陷,我们重新来分析一下SYN Flood攻击者的流程:SYN Flood程序有两种攻击方式,基于IP的和基于域名的,前者是攻击者自己进行域名解析并将IP地址传递给攻击程序,后者是攻击程序自动进行域名解析,但是它们有一点是相同的,就是一旦攻击开始,将不会再进行域名解析,我们的切入点正是这里:假设一台服务器在受到SYN Flood攻击后迅速更换自己的IP地址,那么攻击者仍在不断攻击的只是一个空的IP地址,并没有任何主机,而防御方只要将DNS解析更改到新的IP地址就能在很短的时间内(取决于DNS的刷新时间)恢复用户通过域名进行的正常访问。为了迷惑攻击者,我们甚至可以放置一台“牺牲”服务器让攻击者满足于攻击的“效果”(由于DNS缓冲的原因,只要攻击者的浏览器不重起,他访问的仍然是原先的IP地址)。

2.5 分布式DNS负载均衡:在众多的负载均衡架构中,基于DNS解析的负载均衡本身就拥有对SYN Flood的免疫力,基于DNS解析的负载均衡能将用户的请求分配到不同IP的服务器主机上,攻击者攻击的永远只是其中一台服务器,一来这样增加了攻击者的成本,二来过多的DNS请求可以帮助我们追查攻击者的真正踪迹(DNS请求不同于SYN攻击,是需要返回数据的,所以很难进行IP伪装)。

2.6 防火墙Qos:对于防火墙来说,防御SYN Flood攻击的方法取决于防火墙工作的基本原理,一般说来,防火墙可以工作在TCP层之上或IP层之下,工作在TCP层之上的防火墙称为网关型防火墙,网关型防火墙布局中,客户机与服务器之间并没有真正的TCP连接,客户机与服务器之间的所有数据交换都是通过防火墙代理的,外部的DNS解析也同样指向防火墙,所以如果网站被攻击,真正受到攻击的是防火墙,这种防火墙的优点是稳定性好,抗打击能力强,但是因为所有的TCP报文都需要经过防火墙转发,所以效率比较低由于客户机并不直接与服务器建立连接,在TCP连接没有完成时防火墙不会去向后台的服务器建立新的TCP连接,所以攻击者无法越过防火墙直接攻击后台服务器,只要防火墙本身做的足够强壮,这种架构可以抵抗相当强度的SYN Flood攻击。但是由于防火墙实际建立的TCP连接数为用户连接数的两倍(防火墙两端都需要建立TCP连接),同时又代理了所有的来自客户端的TCP请求和数据传送,在系统访问量较大时,防火墙自身的负荷会比较高,所以这种架构并不能适用于大型网站。(我感觉,对于这样的防火墙架构,使用TCP_STATE攻击估计会相当有效:)

工作在IP层或IP层之下的称为路由型防火墙,其工作原理有所不同:客户机直接与服务器进行TCP连接,防火墙起的是路由器的作用,它截获所有通过的包并进行过滤,通过过滤的包被转发给服务器,外部的DNS解析也直接指向服务器,这种防火墙的优点是效率高,可以适应100Mbps-1Gbps的流量,但是这种防火墙如果配置不当,不仅可以让攻击者越过防火墙直接攻击内部服务器,甚至有可能放大攻击的强度,导致整个系统崩溃。

在这两种基本模型之外,有一种新的防火墙模型,它集中了两种防火墙的优势,这种防火墙的工作原理如下所示:

第一阶段,客户机请求与防火墙建立连接:

第二阶段,防火墙伪装成客户机与后台的服务器建立连接

第三阶段,之后所有从客户机来的TCP报文防火墙都直接转发给后台的服务器

这种结构吸取了上两种防火墙的优点,既能完全控制所有的SYN报文,又不需要对所有的TCP数据报文进行代理,是一种两全其美的方法。近来,国外和国内的一些防火墙厂商开始研究带宽控制技术,如果能真正做到严格控制、分配带宽,就能很大程度上防御绝大多数的SYN攻击。

3.Smurf防范的几种方法

阻塞Smurf攻击的源头:Smurf攻击依靠攻击者的力量使用欺骗性源地址发送echo请求。用户可以使用路由路的访问保证内部网络中发出的所有传输信息都具有合法的源地址,以防止这种攻击。这样可以使欺骗性分组无法找到反弹站点。

阻塞Smurf的反弹站点:用户可以有两种选择以阻塞Smurf攻击的反弹站点。第一种方法可以简单地阻塞所有入站echo请求,这们可以防止这些分组到达自己的网络。如果不能阻塞所有入站echo请求,用户就需要让自己的路由器把网络广播地址映射成为LAN广播地址。制止了这个映射过程,自己的系统就不会再收到这些echo请求。

阻止Smurf平台:为防止系统成为 smurf攻击的平台,要将所有路由器上IP的广播功能都禁止。一般来讲,IP广播功能并不需要。 如果攻击者要成功地利用你成为攻击平台,你的路由器必须要允许信息包以不是从你的内网中产生的源地址离开网络。配置路由器,让它将不是由你的内网中生成的信息包过滤出去,这是有可能做到的。这就是所谓的网络出口过滤器功能。

防止Smurf攻击目标站点:除非用户的ISP愿意提供帮助,否则用户自己很难防止Smurf对自己的WAN接连线路造成的影响。虽然用户可以在自己的网络设备中阻塞这种传输,但对于防止Smurf吞噬所有的WAN带宽已经太晚了。但至少用户可以把Smurf的影响限制在外围设备上。通过使用动态分组过滤技术,或者使用防火墙,用户可以阻止这些分组进入自己的网络。防火墙的状态表很清楚这些攻击会话不是本地网络中发出的(状态表记录中没有最初的echo请求记录),因些它会象对待其它欺骗性攻击行为那样把这样信息丢弃。

4.UDP Flood防范

以前文提到的trinoo为例,分析如下:

在master程序与代理程序的所有通讯中,trinoo都使用了UDP协议。入侵检测软件能够寻找使用UDP协议的数据流(类型17)。

Trinoo master程序的监听端口是27655,攻击者一般借助telnet通过TCP连接到master程序所在计算机。入侵检测软件能够搜索到使用TCP (类型6)并连接到端口27655的数据流。

所有从master程序到代理程序的通讯都包含字符串"l44",并且被引导到代理的UDP 端口27444。入侵检测软件检查到UDP 端口27444的连接,如果有包含字符串l44的信息包被发送过去,那么接受这个信息包的计算机可能就是DDoS代理。

Master和代理之间通讯受到口令的保护,但是口令不是以加密格式发送的,因此它可以被“嗅探”到并被检测出来。使用这个口令以及来自Dave Dittrich的trinot脚本,要准确地验证出trinoo代理的存在是很可能的。

一旦一个代理被准确地识别出来,trinoo网络就可以安装如下步骤被拆除:

在代理daemon上使用"strings"命令,将master的IP地址暴露出来。

与所有作为trinoo master的机器管理者联系,通知它们这一事件。

在master计算机上,识别含有代理IP地址列表的文件(默认名"..."),得到这些计算机的IP地址列表。

向代理发送一个伪造"trinoo"命令来禁止代理。通过crontab 文件(在UNIX系统中)的一个条目,代理可以有规律地重新启动, 因此,代理计算机需要一遍一遍地被关闭,直到代理系统的管理者修复了crontab文件为止。

检查master程序的活动TCP连接,这能显示攻击者与trinoo master程序之间存在的实时连接。

如果网络正在遭受trinoo攻击,那么系统就会被UDP 信息包所淹没。Trinoo从同一源地址向目标主机上的任意端口发送信息包。探测trinoo就是要找到多个UDP信息包,它们使用同一来源IP地址、同一目的IP地址、同一源端口,但是不同的目的端口。

在上有一个检测和根除trinoo的自动程序。

5.使用DNS来跟踪匿名攻击

从一个网管的观点来看,防范的目标并不是仅仅阻止拒绝服务攻击,而是要追究到攻击的发起原因及操作者。当网络中有人使用假冒了源地址的工具(如tfn2k)时,我们虽然没有现成的工具来确认它的合法性,但我们可以通过使用DNS来对其进行分析:

假如攻击者选定了目标,他必须首先发送一个DNS请求来解析这个域名,通常那些攻击工具工具会自己执行这一步,调用gethostbyname()函数或者相应的应用程序接口,也就是说,在攻击事件发生前的DNS请求会提供给我们一个相关列表,我们可以利用它来定位攻击者。

使用现成工具或者手工读取DNS请求日志,来读取DNS可疑的请求列表都是切实可行的,然而,它有三个主要的缺点:

攻击者一般会以本地的DNS为出发点来对地址进行解析查询,因此我们查到的DNS请求的发起者有可能不是攻击者本身,而是他所请求的本地DNS服务器。尽管这样,如果攻击者隐藏在一个拥有本地DNS的组织内,我们就可以把该组织作为查询的起点。

攻击者有可能已经知道攻击目标的IP地址,或者通过其他手段(host, ping)知道了目标的IP地址,亦或是攻击者在查询到IP地址后很长一段时间才开始攻击,这样我们就无法从DNS请求的时间段上来判断攻击者(或他们的本地服务器)。

DNS对不同的域名都有一个却省的存活时间,因此攻击者可以使用存储在DNS缓存中的信息来解析域名。为了更好做出详细的解析记录,您可以把DNS却省的TTL时间缩小,但这样会导致DNS更多的去查询所以会加重网络带宽的使用。

6.主机防范

所有对因特网提供公开服务的主机都应该加以限制。下面建议的策略可以保护暴露在因特网上的主机。

将所有公开服务器与DMZ隔离

提供的每种服务都应该有自己的服务器。

如果使用Linux(建议这样做),你就可以使用一个或几个"缓冲溢出/堆栈执行"补丁或增强来防止绝大多数(如果不能全部)本地或远程缓冲溢出,以避免这些溢出危及根的安全。强烈建议将Solar Designer的补丁包括在附加的安全特征中。

使用SRP(Secure Remote Password 安全远程口令)代替SSH。

限制只有内部地址才能访问支持SRP的telnet和FTP守护程序,强调只有支持SRP的客户端才可以与这些程序对话。如果你必须为公开访问运行常规的FTP(比如匿名FTP),可以在另一个端口运行SRP FTP。

使用可信任的路径。根用户拥有的二进制执行程序应该放置的目录的所有权应该是根,不能让全部用户或组都有写权限。如果有必要的话,为了强制这样做,你可以改变内核。

使用内置防火墙功能。通过打开防火墙规则,可以经常利用内核状态表。

使用一些防端口扫描措施。这可以使用Linux的后台程序功能或通过修改内核实现。

使用Tripwire 和相同作用的软件来帮助发觉对重要文件的修改。

7.电子邮件炸弹防护

对于保护电子件的安全来说,了解一下电子邮件的发送过程是很有必要的。它的过程是这样的,当有用户将邮件写好之后首先连接到邮件服务器上,当邮件服务器有响应时便会启动邮件工具,调用路由(这里指的是邮件的路由)程序Sendmail进行邮件路由,根据邮件所附的接收地址中指定的接收主机,比如: a@163.net里的163.net,与位于主机163.net电子邮件后台守护程序建立25端口的TCP连接,建立后双方按照SMTP协议进行交互第进,从而完成邮件的投递工作,接收方电子邮件接收邮件后,再根据接收用户名称,放置在系统的邮件目录里,如/usr/电子邮件目录的semxa文件中。接收用户同样使用邮件工具获取和阅读这些已投递的邮件。如果投递失败的话,这些邮件将重新返回到发送方。实际上电子邮件的发送过程要比这里所说的更为复杂些,在过程里将会涉及很多的配置文件。在现在的SMTP协议是一个基于文本的协议,理解和实现都相对比较简单些,你可以使用telnet直接登陆到邮件服务器的25端口(由LANA授权分配给SMTP协议)进行交互。

保护电子信箱邮件的信息安全最有效的办法就是使用加密的签名技术,像PGP来验证邮件,通过验证可以保护到信息是从正确的地方发来的,而且在传送过程中不被修改。但是这就不是个人用户所能达到的了,因为PGP比较复杂。

就电子邮件炸弹而言,保护还是可以做得很好的。因为它的复杂性不是很高,多的仅仅是垃圾邮件而已。你可以使用到 E-mail Chomper(砍信机)来保护自己。但是目前就国内用户而言,大多用户所使用的都是免费的邮箱,像yeah.net、163.net、263.net等,即便是有人炸顶多也是留在邮件服务器上了,危害基本上是没有的。如果是用pop3接的话,可以用Outlook或Foxmail等pop的收信工具来接收的mail,大多用户使用的是windows的Outlook Express,可以在“工具-收件箱助理”中设置过滤。对于各种利用电子邮件而传播的Email蠕虫病毒和对未知的Emai蠕虫病毒你可以使用防电子邮件病毒软件来防护。

另外,邮件系统管理员可以使用“黑名单”来过滤一些垃圾信件。对于不同的邮件系统,大都可以在网络上找到最新的黑名单程序或者列表。

8.使用ngrep工具来处理tfn2k攻击

根据使用DNS来跟踪tfn2k驻留程序的原理,现在已经出现了称为ngrep的实用工具。经过修改的ngrep可以监听大约五种类型的tfn2k拒绝服务攻击(targa3, SYN flood, UDP flood, ICMP flood 和 smurf),它还有一个循环使用的缓存用来记录DNS和ICMP请求。如果ngrep发觉有攻击行为的话,它会将其缓存中的内容打印出来并继续记录ICMP回应请求。假如攻击者通过ping目标主机的手段来铆定攻击目标的话,在攻击过程中或之后记录ICMP的回应请求是一种捕获粗心的攻击者的方法。由于攻击者还很可能使用其他的服务来核实其攻击的效果(例如web),所以对其他的标准服务也应当有尽量详细的日志记录。

还应当注意,ngrep采用的是监听网络的手段,因此,ngrep无法在交换式的环境中使用。但是经过修改的ngrep可以不必和你的DNS在同一个网段中,但是他必须位于一个可以监听到所有DNS请求的位置。经过修改的ngrep也不关心目标地址,您可以把它放置在DMZ网段,使它能够检查横贯该网络的tfn2k攻击。从理论上讲,它也可以很好的检测出对外的tfn2k攻击。

在ICMP flood事件中,ICMP回应请求的报告中将不包括做为tfn2k flood一部分的ICMP包。Ngrep还可以报告检测出来的除smurf之外的攻击类型(TARGA, UDP, SYN, ICMP等)。混合式的攻击在缺省情况下表现为ICMP攻击,除非你屏蔽了向内的ICMP回应请求,这样它就表现为UDP或SYN攻击。这些攻击的结果都是基本类似的。

9.有关入侵检测系统的建议

由于许多用来击败基于网络的入侵检测系统的方法对绝大多数商业入侵检测系统产品仍然是有效的,因此建议入侵检测系统应该至少有能重组或发觉碎片的自寻址数据包。下面是部分要注意的事项:

确信包括了现有的所有规则,包括一些针对分布式拒绝服务攻击的新规则。

如果遵循了ICMP建议项,许多ICMP会被阻塞,入侵检测系统触发器存在许多机会。任何通常情况下要被阻塞的入站或出站的ICMP数据包可以被触发。

"任何"被你用防火墙分离的网络传输都可能是一个潜在的IDS触发器。

如果你的入侵检测系统支持探测长时间周期的攻击,确信没有把允许通过防火墙的被信任主机排除在外。这也包括虚拟专用网。

如果你能训练每个使用ping的用户在ping主机时使用小数据包,就可能设置入侵检测系统寻找超29字节的Echo和Echo应答数据包。

0条大神的评论

发表评论