跳到正文

谁来告诉我为什么我的网站会被黑客攻击


      站被黑是必然
每至假期节日,都是黑客事件频发之时。眼下时至年关,黑客攻击事件又将层出不穷,各企事业单位也加紧信息安全防范,同时针对黑客攻击行为的新闻也随之而出。
1、2006年4月20日中国银联疑遭黑客攻击导致系统突发故障,北京、上海、杭州等大城市纷纷出现无法跨行取款、POS机无法消费等情况;据专家预计此次攻击与银联实施某项收费项目有关,事实上此收费项目的确也是遭到多数人不满意的情况强制实施。
2、2006年9月11日早上,中国移动通信集团公司网站hxxp://www.chinamobile.com被一位署名为“935fa12ec828a3f3”的黑客篡改了该网站的首页,并涂鸦:“恳请移动话费能便宜点不……”,同时被黑的还有中国移动旗下品牌动感地带网站(hxxp://www.m-zone.com.cn)。
3、2006年9月12日百度公司被黑客采用一种被称为同步泛滥技术(syn flooding)的持续攻击,即通过大量的虚假IP地址建立不完整连接,使得服务超载,从而使百度不能提供正常的服务。而此时正因为百度负面事件不断之时,如百度的商业广告客户因商业纠纷准备起诉百度,甚至有人联系到声称制造此次事端的黑客,该黑客表示:“不喜欢百度,尤其是最近裁员、与天极及搜狐的口水战等事件中,百度的处理方式让他非常不满,于是决定黑百度。”该资深黑客强调,“黑百度只是这名‘黑客’的个人行为。”
4、2006年11月6日河南人事厅网站被黑客攻击,同月10日,司法局网站同样遭遇噩运。据曾对郑州市各政府网站担任第三方评估的河南某网络公司副总经理表示,目前整个郑州市和省直机关的政府网站硬件设施应该是全国一流的。至于被“黑”,原因可能是多方面的。
而据专家解释:“服务意识不强,网站用来充门面,这几乎是政府网站的通病,服务意识决定责任意识,服务意识不强,责任意识自然也不会好到哪里去,被‘黑’也是情理之中。”
实际上还有更多的案例,那些个人网站,租用虚拟主机的网站更是没办法列举。鉴于互联网的普及,以及各类黑客攻击技术的发展,无论是商业网站乃至国际知名巨头网站,还是无名小站,只要是对外提供访问服务,就必然面临遭受攻击的危险,从专业安人士的角度来看,你的网站被黑是必然,不被黑才是偶然。
网站被黑的原因
那些原因,是促使您遭受黑客攻击呢?这其中当然有很大一部分是属于经济原因,但并非所有攻击都是因为经济缘故。大体来讲,导致黑客攻击的原因有:
1.受雇于他人的黑客行为,如商业竞争对手恶意竞争通过黑客手法攻击;如据互联安全网报道: 黑客受雇恶意文档攻击西方企业 ,这类攻击就属于商业竞争行为。
2. 受商业利益驱使,敲诈勒索、盗取各类银行帐户信息及虚拟财产的黑客攻击行为;如各类钓鱼行为都属于商业利益驱使的攻击行为。
3.恶作剧型的黑客行为,如随意篡改网站首页;这类黑客攻击往往是一些新手的尝试行为,更多的是为了一种虚荣心的满足。
4.搜集肉鸡,攻击一个网站后,挂上网页木马(可导致浏览该网站者中毒而使自己的计算机成为入侵者的肉鸡);这类是为其他类攻击原因作准备,据从互联安全网社区获得的案例,有黑客竟然通过这类行为掌握了数万台的肉鸡。
5.打击报复型,如网站服务不好而引起的商业纠纷等无法处理的时候会有黑客攻击行为;如前一段时间某威客网站经常遭受莫名攻击导致无法正常提供服务,有权威人士就指出乃是因为其网站客户服务不到位,无故刁难客户导致黑客人士不平进而遭受DDOS攻击,根本不是所谓其自己据称的遭受竞争对手恶意攻击。
6.窃取资料型,此类攻击主要针对一些资料网站包括收费用户网站,一般攻击者不会破坏服务器及网站数据,但会悄悄将数据偷走据为已有;如盗取网站管理员的密码之类。
7.菜鸟测试型,这类一般为一些正在学习黑客技术的人通过攻击网站练习的人骇客新手,这类攻击一般攻击经验少,容易对网站数据造成破坏;
8.其他原因。
如何避免你的网站被黑
1、首先要重视网站安全建设,从安全制度、安全硬件、安全人员配备等都要有一定的规划。如果网站的拥有者都不重视网站安全,仅把网站安全当作一个技术问题,那就是会带来严重的麻烦。
2、要做好数据备份,防止不幸后可以将受攻击的损失降到最低。
3、进行安全检查,主动进行渗透检测,最好考虑联系专业的第三方安全服务机构进行独立和专业的渗透检测,避免内部力量的不足和非独立性。这类安全方面的专业机构,各有特色,例如北京的绿盟科技、深圳的安络科技、广州的互联安全网等等,都是由一批原为“黑客”的技术人员创办的网络安全公司,专职于信息安全技术领域的研究及解决。
4、定制安全服务,因为安全服务不是一次检测等就可确保安枕无忧的,需要定期进行安全维护,以及安全服务机构提供一些安全日常服务。
5、多主动掌握安全资讯,上国内互联安全类网站去,赛迪、天极等专业媒体有专门的安全频道和专题专栏。

用网络流量监测工具让ARP欺骗原形毕露


      笔者的工作单位是一所学校,最近学校的一栋教学楼内的网络突然出现时断时好的现象,这可是严重影响了学校的正常教学和工作,情况危急,需要马上解决!

信息中心立即着手进行调查,据老师们反映上网有时候网页打开速度非常缓慢,有时丝毫没有动静,直接显示无法打开网页。不过,在非上班时间,如中午和晚上等休息时间,网络一切正常。

根据这一情况,网络硬件故障的可能性微乎其微,经过检查没有发现异常情况,排除了物理上的错误。看来是软件上的问题,脑海中的第一反应就是目前比较流行的ARP攻击。ARP协议的中文名为地址解析协议,用于将网络中的IP地址解析为硬件地址(MAC地址),以保证通信的顺利进行。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。所以在网络中,如果有人发送一个自己伪造的ARP应答,网络可能就会出现问题,这就是ARP欺骗,其常见的特征就是主机频繁掉线。

我们的网络症状与之非常相似,但是ARP攻击需要找到它的源头,一般的方法很难查找,需要在交换机上进行抓包分析,于是找到了Iris Network Traffic Analyzer(以下简称Iris)。这是一款网络流量分析监测工具,可以帮助系统管理员轻易地捕获和查看用户的使用情况,同时检测进入和发出的信息流,自动进行存储和统计。这款软件的图标很像一只眼睛,看来“火眼金睛”是找到了,现在就花工夫怎么用好它了!

由于该教学楼的交换机是一台非网管型交换机,只好拿着笔记本电脑在网络设备房“蹲点”。把笔记本电脑连接在交换机端口上,打开Iris,界面显示(如图1)。





图1

依旧是我们熟悉的典型Windows软件风格,单击开始捕获按钮,Iris开始工作,对数据包实施抓捕。Iris对数据包抓捕的同时对其进行分析,我可以点击某一时刻的数据包在快速分析窗口中查看解析内容。在Statistics(统计表)窗口中,我们可以浏览实时数据统计图,对Protocol(网络协议)、Top Hosts(最高流量主机)、Size Distribution(数据包大小分类)和Bandwidth(带宽)进行直接查看。

不一会,“凶手”出现了!Iris捕获窗口出现了大量的ARP数据包,Protocol(网络协议)图表显示出来的ARP数据包在不断增长(如图2)!整个网络的流量一下加大了好几倍!




图2

为了分析方便,用Iris的Filters(过滤)功能,将ARP和Reverse ARP两种类型的数据过滤出来。终于,找到了ARP欺骗的真凶了,在捕获窗口中(如图3)可以看到,有两个假IP地址(0.136.136.16和1.136.136.16),所有的ARP数据包源都是来自MAC地址为52:54:AB:37:0D:B0的电脑,终于掌握罪证了!也就是说,找到这个MAC地址的电脑就可以铲除祸根了!

接下来的工作就简单了,拿出平时记录好的“MAC-IP-计算机名”对应表,找到真凶电脑,对其进行断网、系统重装、查杀病毒等操作,确认安全后,再连接上网。网络又恢复了往日的宁静,学校的正常教学秩序得到了保证。

为客户端与服务器端的通信安全保驾护航


      OpenSSH为保障Client(客户端)与服务器端(Server)的安全通信提供了一整套的工具,这些工具允许用户为任何类型的Client与Server的通信创建安全通道,包括检查/发送电子邮件或Web浏览。
OpenSSH
在通过Internet登录到一个远程系统时,总会存在一种危险,即用户的口令如果以明文方式传输,就可能会被监视字节流的黑客中间截获并加以滥用。多数用户实际上都清楚这种风险,并通过使用所谓的“安全外壳”(secure shell)程序来减轻风险,这种“安全外壳”程序的设计目的是在用户通过互联网传输数字证书之前对证书进行加密。目前这类程序最流行、最通用的就是OpenSSH,这是一个OpenBSD的项目。
不过,许多OpenSSH用户并没有认识到,这个程序不仅允许用户加密用户的(远程登录)telnet会话,它还提供了一整套用以保障客户端/服务器通信安全的工具,而且允许用户为任何类型的C/S通信创建安全“通道”,其中包含检查/发送电子邮件或Web浏览。使用这些通道可以极大改善系统的安全性,特别是机密性成为一个关键要素的时候。
本文将通过一个具体的例子向您展示如何通过这个OpenSSH来创建加密通道,用于检查一个POP3邮箱,从而使我们进一步理解并掌握OpenSSH的安全通道特性。
第一步:下载并安装OpenSSH
用户可从http://www.openssh.com/下载源代码,用户从多种平台的版本中选择所需要的版本。其文件已被数字化签名,从而可以避免损害用户的安全。本文例子使用的是OpenSSH 4.3。
一旦用户下载了程序包,将它解到一个临时目录并执行标准的“配置─生成─安装”循环:

shell> tar -xzvf openssh-4.3p2.tar.gz

shell> cd openssh-4.3p2/

shell> ./configure

shell> make

shell> make install
第二步:生成主机密钥并启动OpenSSH进程
安装过程的最后一步就是生成一对主机密钥,即特定系统的唯一标识符。这些密钥,包含一个私有密钥和一个公有密钥,分别存储在诸如 /etc/ssh_host_key and /etc/ssh_host_key.pub,的文件中:

shell> make install



Generating public/private rsa1 key pair

Your identification has been saved in /etc/ssh_host_key

Your public key has been saved in /etc/ssh_host_key.pub



Generating public/private dsa key pair

Your identification has been saved in /etc/ssh_host_dsa_key

Your public key has been saved in /etc/ssh_host_dsa_key.pub



Generating public/private rsa key pair

Your identification has been saved in /etc/ssh_host_rsa_key

Your public key has been saved in /etc/ssh_host_rsa_key.pub
一旦密钥创建完成,通过执行“sshd”启动OpenSSH进程:(以超级用户身份):

shell> /sbin/sshd
通过打开一个Telnet连接到22号端口确认服务正在运行:

shell> telnet localhost 22

Trying 127.0.0.1…

Connected to localhost.

Escape character is ‘^]’.

SSH-1.99-OpenSSH_4.3
第三步:创建一个到用户的POP3服务器的安全通道
现在让我们假定用户的本地系统名为localbox,主管用户的目标POP3邮箱的主机名为remotebox。下一步就是在remotebox主机上的110端口(POP3连接的标准端口)与localbox计算机上的一个未用的端口之间创建一个加密的SSH通道。这个过程称为TCP转发,用OpenSSH完成这个操作是相当简单的,只需要运行如下的命令:

shell> ssh -L 2110:localbox:110 remotebox

root@localbox's password: ****
这个命令意思是说:将localbox上未用端口2110上的所有连接转发到remotebox上的POP3端口110上,并在通道上加密。此命令的结果是:所有到localbox上2110端口的连接企图都被自动加密,并被发送到remotebox上的110端口上。
现在如果用户在localbox上打开了telnet连接到端口2110,例如:

shell> telnet localbox 2110

Trying 127.0.0.1…

Connected to localhost.

Escape character is ‘^]’.

OK DPOP ready
用户的连接会被自动转发到remotebox上的110端口─POP3邮件服务,并且加上高质量的加密以确保任何人都无法“窃听”用户与远程服务器的数据通信。
在这里要注意两个重要的问题:如果你正使用一个特权端口,必须要有对转发端口的超级用户权限;此外,你不应试图使用已经在用的端口号。
第四步:改变你的POP3客户端设置
一旦你的安全通道能够运作,你需要将所做的改变告诉你的邮件客户端,对于前向通道,你的邮件客户端可能直接连接到remotebox以检索电子邮件-一个让用户的电子邮件口令以一种非加密的格式沿着线路传输,需要对客户端作类似如下的设置:

Server: remotebox

Port: 110

User: john

Password: guessme
对于后向通道,你的邮件客户端应该被重置,直接连接到本地系统上的2110端口,用OpenSSH实现将连接转发到远程服务器并实现线路加密。新的设置应看起来是如下的样子:

Server: localbox

Port: 2110

User: john

Password: guessme
经过这四步安装设置之后,你已经拥有了一个邮件客户端与邮件服务器之间的安全通道,你的口令和数据对他人来说将是不可见的。很明显,这仅仅是一个例子,可以说是仅仅展示了OpenSSH强大功能的冰山之一角。用户还可以设置OpenSSH用以加密SMTP、FTP、IRC或者任何类型的客户端/服务器的连接,或者创建通过防火墙的加密通道。为了您的数据传输的安全性,请用OpenSSH为您的传输保驾护航!

打造企业坚固的城墙 PIX防火墙特殊配置


      选择高档完备的网络安全设备是每一个成功企业必不可少的组网设施,但是实际上更多网络中存在的威胁来自于企业内部,因此仅仅保护网络组建的边界是远远不够的,建立一个一体化、多层次的安全体系结构可以提供更为彻底和实际的保护, 提高企业内部安全防范意识才是解决企业网络安全的重中之中。PIX防火墙简介PIX(Private Internet Exchange)防火墙是Cisco产品系列中称得上佼佼者的防火墙产品。PIX防火墙可以部署到各种各样的设计方案中。简单的情况如下,PIX防火墙可能只有两个接口,一个接口连接至受保护的内部网络(内部接口),而另一个接口则连接到公共网络(外部接口),一般来说就是指因特网。这里所谓的内部和外部具有特别的意义,且各个接口在PIX防火墙配置中分别被命名为Inside接口(内部)和Outside接口(外部)。为了让公司能够利用与因特网的连接,通常某些服务器必须对于外部世界是可访问的,这些可访问的服务器包括DNS、SMTP以及企业能够拥有的任何公用Web服务器。DNS服务器必须是可访问的,这样才能将主机名字转换成可用于数据报寻址的IP地址。虽然这些服务器可以放在防火墙之后的内部网络中,但是强烈建议不要这样做。因为这些主机中的任意一台受到侵害后,都会导致入侵者能够方便的访问到内部网络。而如果这些服务器放置在DMZ中,则PIX防火墙能够允许内部用户不加限制的访问这些主机,而同时限制外部用户来访问这些主机。从市场所占份额来说,状态数据报防火墙是主导类型的防火墙产品。大多数的市场都显示,PIX防火墙或Chechpoint软件公司的Firewall经常占据市场中的第一位。在PIX防火墙的具体配置中共有58个PIX独有特性,这些特性中有些功能非常明显,而有些却略显隐蔽;有些特性是默认启动的,而有些则需要手动进行配置。下面我们就来看下一些在企业组网中需要特别“关注”特性的配置方法,以便充分利用PIX防火墙,为企业网络提高安全系数。手动配置TCP Intercept思科从IOS 11.2版本中首次在路由器产品中引用了TCP Intercept(TCP截获)特性,在PIX5.2以上版本中也引入了相同的特性,这个功能特性虽然是默认启用的,但是仍需要一些手动设置。该特性能够为隐藏在防火墙后的主机设备提供保护,抵御成为“SYN泛洪”的特定类型网络攻击。使用SYN泛洪,攻击者通过好像发自不存在或不可达主机的连接请求,有效的使受害系统负荷过重,从而达到拒绝向目标主机提供服务的目的。SYN防洪巧妙的利用了操作系统为每条新的TCP连接请求分配内存和其他资源的原理。即使主机和服务器能够支持大量的连接,它们所能处理的未完成连接的数目仍然是有限的。由于TCP是双向和全双工的,所以它在两个方向上都要建立连接。为了建立从服务器到客户端的连接,服务器设置SYN位并包括他自己的顺序号以便请求建立从服务器到客户端的连接,服务器设置SYN位置承载对来自客户端的初始连接请求的确认(ACK位)的分段重并发送给客户端。此后,服务器等待第3步:从客户端发来的对服务器到客户端的连接请求的确认。这个过程通常被成为TCP的“3次握手”。如果应答者服务器没有在特定的TCP时间间隔内接收到应答,那么服务器会重传设置有SYN和ACK位的分段。根据具体的TCP实现,重传的次数一般是4次,重传的时间间隔开始是1秒,然后一次加倍。如果服务持续的接受连接请求,那么资源可能很快就会被这些半开放的请求耗尽,这样就不能再接受其他传入请求,从而拒绝了那项服务。TCP Intercept通过启用此特性实现保护的主机设备截获连接,以及对连接请求进行应答来解决这个问题。它代表客户端建立了从PIX到受保护的主机的第二条连接。如果客户端正常的完成连接,那么PIX防火墙透明地将这两条连接结合在一起,最后的结果是建立了一条在客户端和服务器之间的直接连接。PIX防火墙使用了更短的超时时间间隔,而且如果在这个时间间隔内连接没有完成,那么PIX就会放弃与客户端的未完成连接,并且向受保护的服务器发送RST位,结束PIX到服务器的连接,从而释放掉服务器资源。除了更短的超时之外,TCP Intercept还加入了可配置的阈值。阈值会对连接总数以及最近1分钟内的连接速率进行监控。如果这两个指标中任何一个超过了阈值,TCP Intercept都会从最久的连接开始断掉半开放的连接,知道连接的数目或速率降到阈值以下。在PIX防火墙上,半开放连接称作初期连接。阈值可以通过static命令的可选参数进行设置。阈值默认值为0,这样就有效的禁用了TCP Intercept。而若将这些初期连接参数设置为任何非零数值,就可以启用TCP Intercept。它有效的替代了称作Flood Defender的旧PIX特性。这个旧特性只允许对每个主机和服务上的初期连接总数进行限制。PIX特殊应用配置PIX防火墙支持很多需要某种特殊形式处理的标准或普通应用,其中一些要求对ASA状态表所维护的信息作一些修改,以便在状态数据报过滤环境中可以使用。另外一些由于被NAT修改了IP地址,所以可能需要对一个或多个上层协议头字段进行调整。还有一组并不遵循所期望的发送者和接受者交换的对称模式。对于大多数应用来说,客户端和服务器之间交换的IP数据报具有相同的源和目的IP地址以及TCP/UDP端口号,只不过每次交换过程中发送者和接收者的角色正好相反。接下来我们将对这些特殊情况进行详细介绍。1、 Java Applet封锁PIX防火墙使得网络管理员能够过滤掉可能有害的Java小程序。可以根据内部客户端的源地址、外部服务器的目的地址,或者同时根据两者,来对Java过滤进行定义。命令语法中包含反掩码,它可以用来定义单个的地址或地址范围。当启用了Java过滤后,PIX防火墙就会搜索含有Java小程序标记(十六进制字符串0 x CEFE BABE)的http数据报。启用Java过滤的配置命令的一个实例如下:Filter java 80 10.1.1.0 255.255.255 0.0.0.0.0.0.0.0对上面命令的解释如下:如果访问端口80,那么子网10.1.1.0(一个较为安全的接口)中的所有客户端都会禁止从安全性级别较低的接口商的任何主机(0.0.0.0.0.0.0.0)上下载Java小程序。这里的0.0.0.0.0.0.0.0 也可以缩写称0 02、ActiveX与ActiveX有关的网络安全问题类似于Java问题。ActiveX控件由可嵌入到Web页中的对象组成,这些空间能够下载到客户端计算机中运行。ActiveX的过滤可以通过注释掉HTML命令的引用来实现。所用到的命令语法实际上与Java过滤使用的命令相同,只不过是用filter activex…代替了filter java…。3、 URL过滤利用与Websense公司合作,Cisco提供了将Websense的Open Server内容过滤服务器与PIX防火墙配合使用的能力。Websense被很多组织用于设置和增强作为网络安全策略的一个组成部分的因特网访问策略(IAP)。Websense利用一个由超过150万的站点构成的主数据库对因特网内容进行过滤。对访问的拒绝(封锁)可以根据用户、团体或者时间来设置。URL过滤允许PIX防火墙将Websense服务器定义的IAP出站用户所请求的URL进行比较。下面的例子使用地址为10.2.2.2的Websense服务器过滤掉除子网10.1.1.0上的用户之外的所有出站访问。第3行只在例外情况时才需要,否则它是可选的。url-server host 10.2.2.2filter url http 0000filter url except 10.1.1.0 255.255.255.0控制通过PIX防火墙的流量由于防火墙的主要目的是封锁,至少是要控制对受保护网络的访问,所以应当关注的是传入的数据报。把传入流量或入站流量定义为从安全性较差的接口进入PIX防火墙和从安全性较高的接口离开PPIX防火墙的数据报。类似的,把传出流量或出站流量定义为从安全性较高的接口进入PIX防火墙和从安全性较差的接口离开PIX防火墙的数据报。其中只有一个接口被命名为Inside(安全级别=100),也只有一个接口被命名为Outside(安全级别=0)。这是因为在所有接口中,这两个接口是永远分别处在最内部和最外部的。根据具体的安全级别,其他DMZ或外围接口相对于另外的接口可能是内部的,也可能是外部的,但是他们相对于Inside接口而言总是外部的,对于Outside接口而言则总是内部的。在PIX防火墙5.2之前的版本中,用来定义允许流量的协议参数的命令是conduit命令。Conduit命令的语法看起来非常像扩展访问列表所使用的格式,不过在命令的语法中,源地址和目的地址的位置正好相反。从5.2版本开始,传统的扩展访问列表代替了conduit命令。目前,尽管Cisco推荐使用新的格式,但是实际上这两种命令格式都可以使用。为了对去往这些服务器的流量定义相应的通道,可以规定服务器的IP地址作为目的地址,并规定HTTP、DNS和SMTP作为目的端口号,但是通常并不知道源地址和源端口号。下面是一个访问列表的例子,在这个例子中,IP地址为10.1.1.1的服务器能够提供所有3种服务。Access-list dmz permit tcp any host 10.1.1.1 eq httpAccess-list dmz permit tcp any host 10.1.1.1 eq smtpAccess-list dmz permit tcp any host 10.1.1.1 eq do main上面所列方法就举例而言是已经足够了,但是在安全方面还要进一步设置。因为并不能预知外部用户将使用哪些源IP地址和源端口,所以必须在ACL中规定允许使用所有的原地址和源端口。

          

          

            

          

          

安全专家谈 虚拟机的分类及其几种应用


      一、虚拟机的概念
所谓虚拟机,顾名思义,就是指一台虚拟的计算机。它的虚拟的含义,是相对于我们日常使用的物理计算机来讲的。物理计算机我们摸得到,看得见,CPU、硬盘、内存等等,这些设备我们都可以实实在在地接触到。而虚拟机,则是一种被虚拟化的技术,虚拟机中的CPU、内存等硬件设备我们都看不见,但是我们可以使用它们,可以使用虚拟机中的硬盘来存储数据,使用虚拟机中的网卡来连接网络,其实这些功能都是由程序模拟出来的,但是我们在使用过程中,并没有感觉到和真实的计算机有什么不同,这就是神奇的虚拟机技术。
而虚拟机技术最直接的应用,就是虚拟机软件。其最大的作用就是在一台普通计算机上模拟出另外一台乃至数台能够单独运行的操作系统,甚至还可以将这几个操作系统连成一个虚拟的局域网络。
二、虚拟机技术的几种应用
1.JAVA 虚拟机技术
众所周知,JAVA语言是一种跨平台的语言,JAVA语言编写的程序可以在Windows、Linux、UNIX等多种平台上运行,号称“一次编译,到处运行” 。那么是什么神奇的技术使其有这么强大的功能呢?其实这都是虚拟机技术的功劳,而JAVA虚拟机则叫做JVM (JAVA Virtual Machine)。JVM处于操作系统和JAVA语言之间,负责将高级语言JAVA转换成操作系统能够理解的语言,如图1。




图1 JVM所处于的位置

当JAVA语言在各个操作系统平台运行之前,需要安装相应的JVM程序,然后再将其语言进行编译,就可以运行在该操作系统上了。
2.虚拟机在杀毒软件中的应用
虚拟机在杀毒软件中也有着极为重要的应用,这主要表现在虚拟机脱壳上。壳是一种加密手段,病毒程序通过加壳来改变自身特征码,以躲避杀毒软件的查杀。较常见的壳有“UPX”、“NsPack”、“PePack”、“PECompact”、“ASPack”等。病毒加壳,就好比穿上“马甲”一样,而脱壳技术,就好比一把照妖镜,可以将加壳病毒显现原形。因此,杀毒软件都需要具有脱壳能力,其脱壳能力的好坏,直接影响着杀毒效果。目前在杀毒软件中,脱壳技术主要有两种,一种是靠程序脱壳,即针对每一种壳,都编写相应的脱壳程序,杀毒时先将加壳的程序脱壳后,再进行特征码匹配杀毒,这种方法的优点是脱壳速度很快,节省系统资源,但是当遇到新壳时,就无能为力了。因此又出现了虚拟机脱壳技术。
虚拟机脱壳技术,就是在杀毒软件内部,虚拟出来一个环境,让病毒在其中运行,等病毒脱掉它的“马甲”之后,在进行特征码的匹配杀毒。虽然现在的技术还无法在杀毒软件中完全虚拟出来一个真实的硬件环境,但是随着技术的进步,相信在不远的将来,虚拟机杀毒技术将是杀毒软件领域的新突破。
3. 商用虚拟机软件
目前,最为成功的商用虚拟机软件,无疑要数VMware 和 Virtual PC了,下面就简单介绍一下VMware这款优秀的虚拟机软件。
VMware可以虚拟出各种主流操作系统,如图2。




图2 VMware 能虚拟出各种主流操作系统

还可以虚拟出各种硬件,如图3红色框内的各种硬件设备。




图3 VMware 能虚拟出各种硬件设备

有了这么强大的虚拟机软件,我们可以在一台电脑中虚拟出各种操作系统,甚至可以将它们连接成一个局域网,如图4。




图4 在Windows XP系统中运行着Linux 操作系统

上图中,在Windows XP系统中正运行着Linux 操作系统。其实只要你的内存足够大,你完全可以虚拟出多个操作系统,以供你的需要。

三、虚拟机技术的展望
上面,就是向大家简单地介绍了一下虚拟机的概念和几个方面应用,可以想象到,虚拟机这种神奇的技术,无论是在高端企业级服务器,还是用户桌面应用程序中都将得到广泛的应用。

一起排查无线路由器“罢工”的真正原因


      笔者的一个朋友家里是铁通ADSL宽带上网,由于又增加了一台笔记本电脑,便购置了TP-LINK无线路由器,按照说明安装后两台机器均能正常访问网络。


可几天后朋友打电话来向我求救:两台机器均无法上网了。赶到现场仔细检查:无线路由器的几个指示灯还是正常地闪烁,而且两台电脑还能相互访问,可以初步断定局域网络没有问题,再拆下路由器,用台式机直接拨号上网,也能顺利地登录因特网,这表明ADSL猫和铁通网络也没有问题。接下来检查网线的连接,朋友说安装后从来没有动过网线,检查后也没发现任何问题。仔细分析后,路由器是最大的怀疑对象,找来说明书,恢复了路由器的出厂值后,重新进行安装,在IE地址栏输入:192.168.1.1,回车后登录路由器的主管理页面,在网络参数/WAN口设置项目中WAN接口类型选择:PPPoE,在重新填上上网账号和口令后,点击连接按钮,可是屏幕只是刷新了一下,系统还是未能连接(如图1)。查看系统日志后发现发送连接请求后,系统回馈用户名或密码错误,导致无法连接。但是该用户名和密码可以正常的拨号上网,也就是说用户名和密码没有问题。正是太奇怪了。





如图1



难道是铁通公司已经禁止路由器共享上网了?赶快驱猫上网,也没有相关的消息。这时想起了TP-LINK的官方网站,那会不会有相关的说明呢?带着疑问和希望点击进取,终于在疑难解答中找到了该问题的解决方法:在网络参数/MAC地址克隆中将当前管理PC的MAC地址克隆到路由器即可(如图2)。按照该方法操作后,罢工的路由器终于欢快的拨号了。




如图2


其实在遇到一些棘手的问题时,上网查找一下解决方案也不适为一条捷径!

分类防范对Linux的DoS攻击


      由于拒绝服务攻击工具的泛滥,及所针对的协议层的缺陷短时无法改变的事实,拒绝服务攻击也就成为流传广泛、极难防范的一种攻击方式。虽然到目前为止,没有一个绝对的方法可以制止这类攻击;但对于不同的攻击方式,还是有一些解决方法的。本文以Redhat Linux 9.0为例,介绍如何分类防范DoS。

Linux服务器的两种守护进程

1.stand-alone模式

stand-alone方式是Unix传统的C/S模式的访问模式。服务器监听(Listen)在一个特点的端口上等待客户端的联机。如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听,以保持多个子服务器池等待下一个客户端请求。Stand-alone模式的工作原理如图1所示。

工作在stand-alone模式下的网络服务有route、gated。大家比较熟悉的Web服务器是Apache和邮件服务器Sendmail。在Apache这种负载很大的服务器上,预先创子服务器可以提高客户的服务速度。

在Linux系统中通过stand-alone工作模式启动的服务由/etc/rc.d/下面对应的运行级别当中的符号链接启动。

2.xinetd模式

从守护进程的概念可以看出,对于系统所要通过的每一种服务都必须运行一个监听某个端口连接所发生的守护进程,这通常意味着资源浪费。为了解决这个问题,Linux引进了“网络守护进程服务程序”的概念。

Redhat Linux 9.0使用的网络守护进程是xinetd(eXtended InterNET daemon)。和stand-alone模式相比,xinetd模式也称Internet Super-Server(超级服务器)。xinetd能够同时监听多个指定的端口,在接受用户请求时能根据用户请求端口的不同,启动不同的网络服务进程来处理这些用户请求。我们可以把xinetd看成一个管理启动服务的管理服务器,它决定把一个客户请求交给哪个程序处理,然后启动相应的守护进程。xinetd模式的工作原理如图2所示。

和stand-alone工作模式相比,系统不想要每一个网络服务进程都监听其服务端口,运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护了系统资源。但是对于访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降。

察看系统为Linux服务提供哪种模式方法,在Linux命令行下使用pstree命令,可以看到两种不同方式启动的网络服务。一般来说系统一些负载高的服务,如Sendmail、Apache服务是单独启动的,而其他服务类型都可以使用xinetd超级服务器管理,系统默认使用xinetd的服务可以分为如下几类: 标准互联网服务:telnet、ftp

信息服务:finger、netstat、systat

RPC服务:rquotad、rstatd、rusersd、sprayd、walld

BSD服务:comsat、exec、login、ntalk、shell、talk

内部服务:chargen、daytime、echo、servers、services time

安全服务:irc

其他服务:name、tftp、uucp



小提示:从原理上Apache、sendmail也可以使用xinetd模式启动,但是您需要硬件档次非常高的服务器。

针对xinetd模式的DoS防范

xinetd提供类似于inetd tcp_wrapper的功能,但是更加强大和安全,能有效防止DoS:

1.限制同时运行的进程数

通过设置instances选项设定同时运行的并发进程数。例如:

instances=20

[NextPage]

说明:当服务器被请求连接的进程数达到20个时,xinetd将停止接受多出部分的连接请求,直到请求连接数低于设定值为止。

2.限制一个IP地址的最大连接数

通过限制一个主机的最大连接数来防止某个主机独占某个服务。例如:

per_source=5

说明:单个IP地址的连接数是5个。

3.限制日志文件大小,防止磁盘空间被填满

许多攻击者知道大多数服务需要写入日志。入侵者可以构造大量的错误信息发送出来,服务器记录这些错误,很可能就造成日志文件非常庞大,甚至会塞满硬盘。管理员面对大量的日志,也很难发现入侵者真正的入侵途径。因此,限制日志文件大小是防范DoS的一个方法。例如:

log_type FILE.1 /var/log/myservice.log 8388608 15728640

说明:这里设置的日志文件FILE.1临界值为8MB,到达此值时syslog文件中会出现警告,到达15兆,系统会停止所有使用这个日志系统的服务。

4.限制负载

xinetd还可以使用限制负载的方法防范DoS。用一个浮点数作为负载系数,当负载达到这个数目时,该服务将暂停处理后续的连接。例如:

max_load=2.8

说明:当一项系统负载达到2.8时,所有服务将暂时终止,直到系统负载下降到设定值以下。

当然,要使用这个选项,编译时要加入-with-loadavg,xinetd将处理max-load配置选项,从而在系统负载过重时关闭某些服务进程,来实现某些拒绝服务攻击。

5.限制所有服务器数目(连接速率)

xinetd可以使用cps选项设定连接速率。例如:

cps=25 60

说明:第一个参数表示每秒可以处理的连接数,如果超过了这个连接数,进入的连接将被暂时停止处理;第二个参数表示停止处理多少秒后继续处理先前暂停处理的连接。即服务器最多启动25个连接,如果达到这个数目将停止启动新服务60秒。在此期间不接受任何请求。

6.限制对硬件资源的利用

通过rlimit_as和rlimit_cpu两个选项可以有效限制一种服务对内存、中央处理器的资源占用。例如: rlimit_as=8M

rlimit_cpu=20

说明:此设定限制了对服务器硬件资源的占用,最多可用内存为8M,CPU每秒处理20个进程。

总结:xinetd的一个重要功能是它能够控制从属服务可以利用的资源量,通过以上设置可以达到这个目的,有助于防止某个xinetd服务大量占用系统,从而导致“拒绝服务”情况的出现。

针对stand-alone的DoS防范

Linux下以stand-alone模式运行的服务器主要是Apache、Sendmail。

1.Apache服务器防范DoS措施

Apache服务器对拒绝攻击的防范主要通过软件Apache DoS Evasive Maneuvers Module来实现。它是一款mod_access的替代软件,可以对抗DoS攻击。该软件可以快速拒绝来自相同地址对同一URL的重复请求,这是通过内部一张各子进程的哈希表查询来实现的。软件下载链接:http://online.securityfocus.com/data/tools/dospatch.tar.gz,软件安装的配置可以查看相关页面。

另外,在Apache配置文件中,有一些安全相关的指令可以使用。http://httpd.apache.org/docs/mod/directives.html。使用以下指令可以帮助您减小DoS的威胁: LimitRequestBody:数字参数,控制HTTP请求的大小。

[NextPage]

LimitRequestFields:数字参数,控制请求头的数目。

KeepAlive:设置连接的生存期。

KeepAliveTimeout:限制等待请求的时间。

使用以下指令可以帮助您减少缓冲区溢出的危险:

LimitRequestFieldSize:限制每个请求头的大小。

LimitRequestLine:限制每个请求行的大小。

此外,Apache服务器管理员还应该经常去http://www.apache.org/dist/httpd/查看、下载补丁程序,以确保Web服务器的安全。

2.Sendmail服务器防范DoS措施

由于电子邮件的性质,一个要攻击邮件服务器的攻击者可以轻易地使用邮件来充斥服务器,从而导致DoS。通过设置/etc/mail/sendmail.mc以下目录的限度,这类攻击的有效性就会大受限制。

confCONNECTION_RATE_THROTTLE:服务器每秒能够接受的连接数量。按照默认设置,Sendmail是不限制连接数量。如果连接数量达到限度,以后的连接就会被延迟。推荐值:40。

confMAX_DAEMON_CHILDREN:服务器能够Fork出的子进程的最大数量。按照默认设置,Sendmail不限制子进程的数量。如果限度被设置,达到限度后的连接就会被延迟。推荐根据内存容量设置:128M内存建议值为40。

confMIN_FREE_BLOCKS:文件系统用来接受标准SMTP(简单邮件传输协议)邮件的队列中的最少自由块数,越小越容易被攻击致命。默认为100块,推荐值为4000或者更大。

confMAX_HEADERS_LENGTH:消息头可接受的最大限度(以字节为单位)。默认为不限制,推荐值是64。

confMAX_MESSAGE_SIZE:单个消息可接受大小的最大限度(以字节为单位)。越大越容易被攻击致命。默认为不限制,推荐值为5242880。

另外,不要把邮件假脱机目录/var/spool/mail/放在NFS共享文件卷上。因为NFS对用户组群ID没有控制,几个UID相同的用户可以收到和阅读彼此的邮件。

限制整体资源的占用

还可以对系统资源做限制,使得系统增强抗DoS能力。

编辑/etc/security/limits.conf文件,添加下面几行: * hard core 0

* hard rss 10000

* hard nproc 30

说明:“core 0”表示禁止创建core文件;“nproc 30”把最多进程数限制到30;“rss 10000”表示除了root之外,其他用户都最多只能用10MB内存。 “*”表示的是所有登录到系统中的用户。

上面这些对登录到系统中的用户有效。通过这些限制,就能更好地控制系统中的用户对进程、core文件和内存的使用情况。最后编辑“/etc/pam.d/login”文件,在文件末尾加入: session required /lib/security/pam_limits.so

          

          

            

          

          

如何配置天融信NGFW4000防火墙IP与用户绑定策略


      498)this.style.width=498;" border=0> a. 假设你已经通过串口初始化了防火墙4000(配置接口IP、GUI 登录权限以及认证数据库、用户等对象等),并使用管理软件连接上了防火墙(如有疑问请参看“防火墙4000 管理配置”以及“如何创建数据库对象”等相关文档或DEMO演示);b. 首先在防火墙管理器中选取“高级管理”→“特殊对象”→“用户”,将弹出“用户对象属性”界面,双击已经建立的用户;498)this.style.width=498;" border=0>
c. 然后在“用户对象属性”对话框中添加“允许登录的地点”,加入已定义的节点对象lihua(192.168.100.119),最后点击“确定”即可。d. 详细操作请参见DEMO演示。注  意:配置防火墙4000 IP与用户的绑定策略实际上同创建用户对象大致相同,唯一不同的是在配置IP与用户绑定时必须添加节点对象到“允许登录的地点”中,使用户必须在此节点上登录,从而构成了IP与用户绑定;如果您首先配置IP(节点对象)与MAC地址的绑定策略,然后又创建了此IP(节点对象)与用户的绑定策略,则即是完成了IP、MAC地址以及用户三者的绑定策略。

采取针对性措施保障 Unix 服务器的安全


      服务器构成了网络基础结构中最基本的要素,它也是网络安全中最关键的环节。虽然Unix服务器以安全、可靠著称,但这并不意味着它无懈可击。并且UNIX服务器的安全性影响或决定着网络基本结构的安全性。

通常情况下,我们特别关注特定主机的安全问题,却忘记了整体的网络安全设计。事实上,整个网络的安全设计问题还是与基于主机的安全有些区别的,在此我们不打算就这个问题展开讨论。

下面我们可以定义三种类型的服务器,当然根据你的实际需要,这些服务器可以进一步分类。

公共服务器,这是一种可以访问互联网的服务器。

登录服务器,这种服务器允许非超级用户登录。

其它服务器,如MySQL,内部LDAP或NFS服务器,这些服务器只能从内部网络到达。

根据我们定义的这些服务器,网络的总体布局和我们要运用的防火墙规则也就显而易见了。

问题是我们该如何管理这些服务器,保持其安全性。这是我们设计的难题之一,因为一个脆弱的设计可能就意味着灾难的降临。

从一个更高级的视点上来看,我们知道有些服务器要比其它服务器重要。一个或多个服务器需要被其它的服务器信任,这样才能保证自动化改变的发生。账号的创建,按照Tripwire 或Samhain方式对主机完整性的监视,甚至配置文件的备份都需要从某个服务器配置并维持,而这个服务器能够以根用户身份访问其它服务器。

这样一个服务器,我们或可称它为主服务器,只有超级用户账户可用于登录访问。超级用户的口令需要与其它服务器的口令不同,而且这个主服务器不应向外部世界提供服务。公共服务器的损害不应影响主服务器的安全。当一个表面上不重要的机器被损害时,一次黑客性质的登录会成为一个rootkit的一部分,这又会导致用户账户口令的暴露。这也就是sudo并非一个好主意的原因:它给你的用户口令根目录的访问权限。一个被损害的su可能会泄露根用户的口令,这也就是主服务器如此重要的原因。

主服务器应能够以SSH方式并以根用户的身份登录到所有其它的服务器,但只能通过SSH密钥进行。基于口令的根用户的登录绝对不要允许通过SSH进行。如果主服务器被危及到其安全性,那么其它任何一个服务器都会落得同样的下场。因此,主服务器是一个堡垒,只运行SSH服务,并只与其它机器连接。配置文件的备份、主机完整性数据库等都可被存储在主服务器上。

可被公共访问的服务器是最为脆弱的,原因就在于它们运行的应用程序,但登录服务器也会引起问题,而且它们在许多其它方面也是很脆弱的。其用户,不管是开发人员还是学生、客户,都不太在乎安全问题。他们会运行心目中的任何可得到的应用程序,其中包括SQL服务器,基于PHP的WEB应用程序(只采用安全性很差的安全记录),以及看起来有用的其它任何东西。为了防止未知用户通过这些程序的漏洞进入系统,你最好还是为你的操作系统安装最新的补丁程序。

为操作系统打补丁并不是可选的,更不是一件可掉以轻心的事情。必须要反复强调:在一个安全更新可用时,必须为所有的服务器及时更新。对于那些只在周末为UNIX服务器打补丁的用户来说,他们要承担一种严重的责任,因为具有恶意用心的人可以很轻松地获得根目录的访问,因为对于系统漏洞的恶意利用代码出现的速度是极快的。此外还有一些很新的恶意利用;这些都是十分可怕的事情。SELlinux或者一台正确配置的Unix计算机能够在防止恶意利用漏洞方面大有帮助。因此我们认为总体上的安全架构是最为关键的。

那些不安全的服务器可能允许用户登录。假定我们需要共享的home目录,要支持此处描述的环境可能会很困难。输出到不安全客户端的NFS共享需要仔细检查,特别是当开发人员或研究人员需要其机器上的根目录权限时。

既然NFS意味着无安全性,向一个未被控制的客户端授权访问NFS共享是相当可怕的。实质上,你必须假定在共享文件系统中的任何东西都可能被危及安全,因为在根用户可能会很轻易地SU到碰巧拥有文件的任何人那里。老的标准工作区是要将这些类型的共享移到其自有的分区中,而且将其共享给那些有害的客户端。AFS并不支持企业级特性,因此你最好不要采用它,而且它本身并不支持快照或兼容的ACL等。

我们可以对系统安全提出各种各样的最优方法和缺陷。从架构的视点来看,一般的观点是用两种方式将风险最小化:一是使其难于渗入,二是一旦进入系统,应难于扩散。通过采用恰如其分的监控,你应该能够快速地检测任何入侵并能阻止它。

不管你有300个还是3000个服务器,基本的原则都是相同的。这看起来简单,在配置一个新的或被破坏的服务器时却是最基本的。请记住:

在暴露的服务器上尽量地减少服务;

尽量地减少暴露的服务器的数量;

在给NFS客户端任何权限时需要极端小心;

          

          

            

          

          

小规模DDoS(拒绝服务)用Freebsd IPFW搞定


      笔者公司共有10台Web服务器,使用Redhat Linux 9作为操作系统,分布在全国各大城市,主要为用户提供HTTP服务。曾经有一段时间不少用户反映有的服务器访问速度缓慢,甚至不能访问,检查后发现是受到了DDoS攻击(分布式拒绝服务攻击)。由于服务器分布太散,不能采用硬件防火墙的方案,虽然IPtables功能很强大,足以应付大部分的攻击,但Linux系统自身对DDoS攻击的防御力本来就弱,只好另想办法了。
一、Freebsd的魅力
发现Freebsd的好处是在一次偶然的测试中,在LAN里虚拟了一个Internet,用一台Windows客户端分别向一台Windows Server、Linux Server和一台Freebsd在无任何防范措施的情况下发送Syn Flood数据包(常见的DDoS攻击主要靠向服务器发送Syn Flood数据完成)。Windows在达到10个包的时候就完全停止响应了,Linux在达到10个数据包的时候开始连接不正常,而Freebsd却能承受达100个以上的Syn Flood数据包。笔者决定将公司所有的Web服务器全换为Freebsd平台。
在使用Freebsd后,的确过了一段时间的安稳日子。不过近日又有用户再次反映网站不能正常访问,表现症状为用户打开网页速度缓慢,或者直接显示为找不到网站。用netstat ?a查看到来自某IP的连接刚好50个,状态均为FIN_WAIT 1,这是属于明显的DDoS攻击,看来Freebsd没有防火墙也不是万能的啊,于是就想到了装防火墙。
看了N多资料,了解到Freebsd下最常见的防火墙叫IP FireWall,中文字面意思叫IP防火墙,简称IPFW。但如果要使用IPFW则需要编译Freebsd系统内核。出于安全考虑,在编译结束后,IPFW是默认拒绝所有网络服务,包括对系统本身都会拒绝,这下我就彻底“寒”了,我放在外地的服务器可怎么弄啊?
大家这里一定要小心,配置稍不注意就可能让你的服务器拒绝所有的服务。笔者在一台装了Freebsd 5.0 Release的服务器上进行了测试。
二、配置IPFW
其实我们完全可以把安装IPFW看作一次软件升级的过程,在
Windows里面,如果要升级一款软件,则需要去下载升级包,然后安装;在Freebsd中升级软件过程也是如此,但我们今天升级的这个功能是系统本身已经内置了的,我们只需要利用这个功能即可。打开这个功能之前,我们还要做一些准备工作。

下面开始配置IPFW的基本参数。
Step1:准备工作
在命令提示符下进行如下操作:
#cd /sys/i386/conf
如果提示没有这个目录,那说明你的系统没有安装ports服务,要记住装上。
#cp GENERIC ./kernel_IPFW
Step2:内核规则
用编辑器打开kernel_IPFW这个文件,在该文件的末尾加入以下四行内容:
options IPFIREWALL
将包过滤部分的代码编译进内核。
options IPFIREWALL_VERBOSE

启用通过Syslogd记录的日志;如果没有指定这个选项,即使你在过滤规则中指定了记录包,也不会真的记录它们。
options IPFIREWALL_VERBOSE_LI
MIT=10
限制通过Syslogd记录的每项包规则的记录条数。如果你受到了大量的攻击,想记录防火墙的活动,但又不想由于Syslog洪水一般的记录而导致你的日记写入失败,那么这个选项将会很有用。有了这条规则,当规则链中的某一项达到限制数值时,它所对应的日志将不再记录。
options IPFIREWALL_DEFAULT_TO
_ACCEPT
这句是最关键的。将把默认的规则动作从 “deny” 改为 “allow”。这句命令的作用是,在默认状态下,IPFW会接受任何的数据,也就是说服务器看起来像没有防火墙一样,如果你需要什么规则,在安装完成后直接添加就可以了。
输入完成后保存kernel_IPFW文件并退出。
三、编译系统内核
由于Freebsd和Linux一样,都是公开源代码的操作系统,不像Windows那样代码是封装了的,出了问题我们只能猜测,或者咨询微软公司;由于Freebsd系统内核在不断升级,我们为了使用新版本中的功能,或者定制一个更高效、更稳定的系统,通常需要编译系统内核。
当然,我们在这里编译内核,是为了能得到一个更高效的系统,而不是使用新版本的功能;
在编译的过程中,可能会提示一些错误,为了尽可能减少错误提示,我们已将配置文件缩减到了最少,如果再出现什么错误提示,请仔细检查是否有输入错误等细小问题。
Step1:编译所需的命令
在命令行上执行如下命令:
#/usr/sbin/config kernel_IPFW
执行结束后会出现如下提示:Kernel build directory is ../compile/kernel_IPFW Don`t forget to do a make depend`
#cd ../compile/kernel_IPFW
在这个地方注意一下,Freebsd 4.X版本是../../compile/kernel_IPFW,但Freebsd 5.0版本却是../compile/kernel_IPFW。
#make
#make install
Step2:开始编译内核
根据系统性能差异,时间也有不同,普通双P4 XEON 1GB内存的服务器大约5分钟左右即可完成。
四、加载启动项
编译完成了,我们要让系统自动启动IPFW并记录日志,需要进行如下操作:
Step1:编辑器编辑/etc/rc.conf

加入如下参数:
firewall_enable=`YES`
激活Firewall防火墙
firewall_script=`/etc/rc.firewall`
Firewall防火墙的默认脚本

firewall_type=`/etc/ipfw.conf`
Firewall自定义脚本
firewall_quiet=`NO`
启用脚本时,是否显示规则信息;假如你的防火墙脚本已经不会再有修改,那么就可以把这里设置成“YES”了。
firewall_logging_enable=`YES`
启用Firewall的Log记录
Step2:编辑/etc/syslog.conf文件
在文件最后加入如下内容:
!ipfw
*.* /var/log/ipfw.log
这行的作用是将IPFW的日志写到/var/log/ipfw.log文件里,当然,你也可以为日志文件指定其他目录。
以上步骤完成后重启电脑。
五、使用并保存规则
完成后,你就会发现你能用SSH登录你的远程服务器了。
Step1:测试
刚登录的时候你不会发现你的系统发生了什么变化,但你可以试试以下这个命令:#ipfw show,将输出以下结果:65535 322 43115 allow ip from any to any。它告诉我们,IPFW已经成功启用,而且允许任何的连接。
Step2:使用

在命令提示符下输入如下命令:#ipfw add 10001 deny all from 218.249.20.135 to any。
拒绝来自218.249.20.135的任何服务,执行完成后,你就会发现来自IP218.249.20.135的所有服务都会被拒绝。
Step3:保存
把这句代码加在/etc/rc.firewall文件里:ipfw add 10001 deny all from 218.249.20.135 to any,运行如下这个命令:#sh /etc/rc.firew
all
表示保存到rc.firewall里面时,不需要前面的#号,然后重新载入IPFW规则。
或者重启一次你的系统,你的IPFW就生效了,只要你不手动解除,来自218.249.20.135的所有信息全部都会被拒绝。