电子邮件对上网的人而言,是如此的难以离弃,但是,病毒,这个可恨的家伙,披上Email的外衣后,如此猖獗,令我们对可爱的Email不禁有了一丝疑虑:她是否仍然可爱依旧呢?现在笔者就来告诉大家,其实我们可以这样来分辨我们的Email的。
第一招:软件帮忙
选择一款可靠的防毒软件。要对付邮件病毒,在邮件接收过程中对邮件进行扫描过滤是非常有效的手段。我们可以借杀毒软件中的邮件监视功能来实现,比如“KV3000杀毒王”中的网络监视引擎,设置了邮件监视功能,可以在接收邮件过程中对邮件进行处理,有效防止邮件病毒的侵入。
第二招:投石问路
当遇到带有附件的邮件时,如果附件为可执行文件(.exe、.com)或word文档时,不要选择打开,可以用两种方法来检测是否带有病毒。一种方法是,利用杀毒软件的邮件病毒监视功能来过滤掉邮件中可能存在的病毒。另一种方法是,把附件先另存在硬盘上,然后利用杀毒软件查毒。
第三招:禁止预览
不使用邮件软件邮箱中的预览功能。当今,一些传播与破坏力比较大的病毒,往往都是在邮件预览时进行感染的,并不需要打开邮件。如果使用Outlook收发邮件,建议用户关掉邮箱工具的预览项,或者升级微软的最新补丁,这样可以预防Outlook接收邮件时受到感染。如果使用的是Foxmail,在当前账户属性中模快项选择纯文本格式。
总之,如果掌握防范病毒的一些小技巧,会大大减小邮件病毒或者其它病毒对计算机的破坏。
编者按在短短的几年里,防火墙的功能重心从网络层发展到了应用层。本文阐述了这种变迁的技术背景,以及未来的防火墙技术走向。
应用层攻击挑战传统防火墙
最近两年来,攻击者的兴趣明显从端口扫描和制造拒绝服务攻击(DoS Attack)转向了针对Web、E-mail甚至数据库等主流应用的攻击。传统的防火墙仅仅检查IP数据包的包头,而忽略了内容——如果用信件来做比喻,也就是只检查了信封而没有检查信纸。因此对这类应用层的攻击无能为力。可以说,仅仅靠第三层和第四层的IP地址和协议端口过滤的防火墙产品早已走到了尽头。
战火烧向七层
为了对抗应用层(OSI网络模型的第七层)的攻击,防火墙必须具备应用层的过滤能力,一些防火墙产品已经具备了这种能力。
如果把计算机网络比做一座建筑,传统的包过滤防火墙就是在企业内部网络和Internet之间的一系列并列的门。每道门都有安检人员对到达的包裹(IP数据包)进行逐一检查,若没有发现数据包含有异常代码便开门放行。攻击者常用的伎俩就是通过端口扫描来检查哪些门是敞开不设防的,然后加以利用。晚些时候出现的具有状态检测功能的防火墙可以检查哪些数据包是来自Internet对内部网络访问请求的应答。也就是说,安检人员能够鉴别那些不请自来的包裹。
但应用层攻击就要复杂得多,因为攻击数据包在绝大多数情况下是合法的数据包,不同的只是内容具有攻击性,而且因为IP数据包是分段传输的,其内容的判别需要将所有相关的包重组后才能准确进行。一旦这种攻击数据包通过了防火墙,它们通常会开始有条不紊地利用目标系统的漏洞制造缓冲区溢出,获得系统的控制权,然后以此为平台开始寻找周围其他系统的漏洞或者其他的蠕虫留下的后门,进而展开攻击。
防火墙的对策
对此,一些防火墙产品采取的应对措施是,针对每一类主流的应用, HTTP、SMTP、FTP和SQL Server数据库访问(基于RPC)都设置专门的过滤器,如果未来出现新的应用层威胁,还可以增加相应的过滤器。用户可以针对每一种过滤器进行应用相关的过滤设置,例如,可以通过限制任何HTTP访问请求的缓冲区不得超过3000个字节来防止一些蠕虫的攻击。在这种新的机制下,来自Internet的数据包被发送到各自的过滤器,过滤器会将数据包重组后进行内容扫描和判别。拿一封邮件来说,SMTP过滤器会等待相关的包到齐后,在转发之前重组邮件对其内容进行扫描,与已知类型的攻击进行比对,在确认这是正常流量后才允许通过。
经过正确配置的现代防火墙可以阻挡绝大多数已知的病毒邮件和攻击代码。虽然阻挡未知的病毒和攻击要困难得多,但是经过合理的策略设置通常是有效的。正确设置策略的基础是企业用户对于自身业务需求的正确理解,例如,多数企业的用户通常是没有必要通过邮件来传递可执行文件和Visual Basic脚本代码的。用户可以通过阻断含有这类可执行附件的邮件来对付一些未知的病毒。一旦真的需要发送这类文件,也可以设置更有针对性的策略,比如只允许IT部门的用户发送含有可执行文件附件邮件,或者允许用户接收除含有名为“Kournikova.jpg.vbs”的脚本附件之外的所有邮件。
安全与性能的矛盾
用户早已习惯于把安全性和性能看成是对立的,就像在机场的安检入口,检查的步骤越多,等待安检的队伍也就越长。对于防火墙来说,性能和安全的确是一对永远的矛盾,但是应用层过滤的功能对防火墙性能的影响并没有多数用户想象得那么大,一些防火墙标称每秒钟可处理超过1000个并发用户,同时保持每会话(Session)27Mbps的吞吐量。事实上,有些厂商通过硬件(ASIC)实现应用层的过滤引擎,能够达到更加接近线速(可理解为以太网交换机的处理极限)的处理能力。
新的挑战
具有应用层过滤功能的防火墙可以更有效地阻挡当前多数病毒和攻击程序,但新的安全威胁的不断出现又对防火墙提出了新的挑战。攻击的来源正在变得更加复杂,而攻击的手段也愈加高明,最近垃圾邮件与攻击代码的结合就是一个典型的例证。这一方面需要防火墙设备对于应用层的内容有更好的认知和智能判别的能力,另一方面也需要防火墙更多地与其他的安全设备和应用有效配合,从而实现更加有力的防护。
Netfilter提供了一个抽象、通用化的框架,该框架定义的一个子功能的实现就是包过滤子系统框架包含以下五部分:
1. 为每种网络协议(IPv4、IPv6等)定义一套钩子函数(IPv4定义了5个钩子函数), 这些钩子函数在数据报流过协议栈的几个关键点被调用。在这几个点中,协议栈将把数据报及钩子函数标号作为参数调用Netfilter框架。
2. 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递给Netfilter框架时,内核能检测是否有任何模块对该协议和钩子函数进行了注册。若注册了,则调用该模块的注册时使用的回调函数,这样这些模块就有机会检查(可能还会修改)该数据包、丢弃该数据包及指示Netfilter将该数据包传入用户空间的队列。
3 .那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户进程能检查数据包,修改数据包,甚至可以重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。
4. 任何在IP层要被抛弃的IP数据包在真正抛弃之前都要进行检查。例如允许模块检查IP-Spoofed包(被路由抛弃)。
5.IP层的五个HOOK点的位置如下所示 :
(1)NF_IP_PRE_ROUTING:刚刚进入网络层的数据包通过此点(刚刚进行完版本号,校验 和等检测), 源地址转换在此点进行;IP_Input.c中IP_Rcv调用。
(2)NF_IP_LOCAL_IN:经路由查找后,送往本机的通过此检查点,INPUT包过滤在此点进行;IP_local_deliver中调用
(3)NF_IP_FORWARD:要转发的包通过此检测点,FORWORD包过滤在此点进行;
(4)NF_IP_POST_ROUTING:所有马上便要通过网络设备出去的包通过此检测点,内置的目的地址转换功能(包括地址伪装)在此点进行;
(5)NF_IP_LOCAL_OUT:本机进程发出的包通过此检测点,OUTPUT包过滤在此点进行。
这些点是已经在内核中定义好的,内核模块能够注册在这些HOOK点进行的处理,可使用nf_register_hook函数指定。在数据报经过这些钩子函数时被调用,从而模块可以修改这些数据报,并向Netfilter返回如下值:
NF_ACCEPT 继续正常传输数据报
NF_DROP 丢弃该数据报,不再传输
NF_STOLEN 模块接管该数据报,不要继续传输该数据报
NF_QUEUE 对该数据报进行排队(通常用于将数据报给用户空间的进程进行处理)
NF_REPEAT 再次调用该钩子函数
一个基于Netfilter框架的、称为IPtables的数据报选择系统在Linux2.4内核中被应用,其实它就是IPchains的后继工具,但却有更强的可扩展性。内核模块可以注册一个新的规则表(table),并要求数据报流经指定的规则表。这种数据报选择用于实现数据报过滤(filter表),网络地址转换(Nat表)及数据报处理(Mangle表)。 Linux2.4内核提供的这三种数据报处理功能都基于Netfilter的钩子函数和IP表。它们是独立的模块,相互之间是独立的。它们都完美的集成到由Netfileter提供的框架中。
包过滤
Filter表格不会对数据报进行修改,而只对数据报进行过滤。IPtables优于IPchains的一个方面就是它更为小巧和快速。它是通过钩子函数NF_IP_LOCAL_IN, NF_IP_FORWARD及NF_IP_LOCAL_OUT接入Netfilter框架的。因此对于任何一个数 报只有一个地方对其进行过滤。这相对IPchains来说是一个巨大的改进,因为在IPchains中一个被转发的数据报会遍历三条链。
NAT
NAT表格监听三个Netfilter钩子函数:NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING及NF_IP_LOCAL_OUT。 NF_IP_PRE_ROUTING实现对需要转发的数据报的源地址进行地址转换而NF_IP_POST_ROUTING则对需要转发的数据包的目的地址进行地址转换。对于本地数据报的目的地址的转换则由NF_IP_LOCAL_OUT来实现。NAT表格不同于filter表格,因为只有新连接的第一个数据报将遍历表格,而随后的数据报将根据第一个数据报的结果进行同样的转换处理。NAT表格被用在源NAT,目的NAT,伪装(其是源NAT的一个特例)及透明代理(其是目的NAT的一个特例)。
数据报处理(Packet Mangling)
Mangle表格在NF_IP_PRE_ROUTING和NF_IP_LOCAL_OUT钩子中进行注册。使用 mangle表,可以实现对数据报的修改或给数据报附上一些带外数据。当前mangle表支持修改TOS位及设置skb的nfmard字段。
源码分析
如果我们想加入自己的代码,便要用nf_register_hook函数,其函数原型为:
int nf_register_hook(struct nf_hook_ops *reg)
struct nf_hook_ops
{
struct list_head list;
/* User fills in from here down. */
nf_hookfn *hook;
int pf;
int hooknum;
/* Hooks are ordered in ascending priority. */
int priority;
};
我们的工作便是生成一个struct nf_hook_ops结构的实例,并用nf_register_hook将其HOOK上。其中list项我们总要初始化为{NULL,NULL};由于一般在IP层工作,pf总是PF_INET;hooknum就是我们选择的HOOK点;一个HOOK点可能挂多个处理函数,谁先谁后,便要看优先级,即priority的指定了。Netfilter_IPv4.h中用一个枚举类型指定了内置的处理函数的优先级:
enum nf_IP_hook_priorities {
NF_IP_PRI_FIRST = INT_MIN,
NF_IP_PRI_CONNTRACK = -200,
NF_IP_PRI_MANGLE = -150,
NF_IP_PRI_NAT_DST = -100,
NF_IP_PRI_FILTER = 0,
NF_IP_PRI_NAT_SRC = 100,
NF_IP_PRI_LAST = INT_MAX,
};
Hook是提供的处理函数,也就是我们的主要工作,其原型为:
unsigned int nf_hookfn(unsigned int hooknum,
struct sk_buff **skb,
const struct net_device *in,
const struct net_device *out,
int (*okfn)(struct sk_buff *));
它的五个参数将由NFHOOK宏传进去。nf_register_hook根据reg中注册的协议簇类型和优先级在nf_hooks中找到相应的位置并插入到此表中。_hooks[NPROTO][NF_MAX_HOOKS]在Netfilter初始化时(Netfilter_init/Netfilter.c,而它在sock_init时调用)已经初始为一个空表。
例如IPtable在初始化时(init/IPtable_filter.c)调用nf_register_hook注册他的hook函数。
static struct nf_hook_ops IPt_ops[]
= { { { NULL, NULL }, IPt_hook, PF_INET, NF_IP_LOCAL_IN, NF_IP_PRI_FILTER },
{ { NULL, NULL }, IPt_hook, PF_INET, NF_IP_FORWARD, NF_IP_PRI_FILTER },
{ { NULL, NULL }, IPt_local_out_hook, PF_INET, NF_IP_LOCAL_OUT,
NF_IP_PRI_FILTER }
};
mangle在init/IPtable_mangle.c中注册它自己的hook函数。
static struct nf_hook_ops IPt_ops[]
= { { { NULL, NULL }, IPt_hook, PF_INET, NF_IP_PRE_ROUTING, NF_IP_PRI_MANGLE },
{ { NULL, NULL }, IPt_local_out_hook, PF_INET, NF_IP_LOCAL_OUT,
{NF_IP_PRI_MANGLE }
};
NAT在init/IP_nat_standalone.c中注册它自己的hook函数
/*包过滤前,更改目的地址*/
static struct nf_hook_ops IP_nat_in_ops
Blue Lane技术公司推出了一种专为VMware Infrastructure3平台上运行的虚拟机而设计的入侵防御系统。
由于虚拟机的应用越来越广泛,人们应当利用这项新技术来提高安全性,并且避免产生新的安全威胁。周四,在向人们介绍为VMware Infrastructure3平台上运行的虚拟机而设计的入侵防御系统时,Blue Lane技术公司也持有相同的观点。
该公司的虚拟盾(VirtualShield)软件设置在主机管理程序和它的虚拟机之间。它能够阻止那些恶意软件接触到虚拟机。我们都知道,如果没有及时更新的话,虚拟机容易受到攻击。“该软件在服务器映像前充当防护设施;那相当于产品之后的‘a-ha’”,Blue Lane的总裁兼CEO Jeff Palmer补充说,尽管虚拟盾目前只能应用于虚拟机,Blue Lane很快会继续为其他软件供应商的管理程序开发相应套件。
“换句话说,虚拟盾能够为系统的所有虚拟机提供“区域防御”,而不是分别地挨个防御”,Blue Lane公司的产品运营高级副总裁Allwyn Sequeira说。“我们能模拟数据包的行为,所以,尽管我们不更换包本身,但也不需要接触每个服务器。”
虚拟盾并不是唯一的虚拟安全软件,但是它推出的时机很恰当。据InformationWeek Research称,他们调查的150位高级IT主管人员中的2/3的人表示他们的公司即将实施服务器虚拟化。而IDC报道说,超过2/3的拥有1000以上员工的美国公司正在采用虚拟化技术。鉴于主要的Linux应用也开始支持虚拟化技术,我们相信这个数字还会增长。
本周早些时候,Red Hat公司发布了Red Hat企业版Linux 5,该系统带有Xen的开放源码管理程序。也是在同一周,它的竞争对手Novell宣称,SAP NetWeaver和mySAP商业套件现在可以应用到在SUSE Linux企业服务器10上运行的虚拟机中了。SUSE Linux企业版服务器10是与开放源码Xen一起发布的。IBM也开发了称为sHype的安全扩展,它能够将安全策略与虚拟机绑定在一起。IBM还为Xen提供了sHype的一部分源码。
在虚拟化环境中,随着虚拟机的创建,解绑或者从一台物理服务器转移到另一台,IP地址也会随之而变化。Nemertes研究中心的一名分析师Andreas Antonopoulos说,由于大多数安全软件都是为每个位置分配一个IP地址,因此防火墙和入侵防御系统很难认识到维护虚拟机安全的必要性。“虚拟化技术没有什么问题,有问题的是那些安全软件,”他补充说。
布朗大学的首席IT安全工程师Paul Asadoorian最关心的问题是,一台被感染的虚拟机能感染多少台在同一服务器上的其他虚拟机。“很多人将他们的服务器连到内网,但仍然允许服务器上的虚拟机访问网络,”他说,这就违背了将服务器与公网断开的初衷。Reflex安全公司发现了这个问题,并将其卖给了Virtual Security Appliance,后者的主要业务是建立并维持虚拟机的安全策略,甚至建立并维持虚拟网络。
事实上,虚拟机能够在很多方面提高系统的安全性。虚拟机能在一个主服务器内运行不同应用程序,从而防止缓存溢出这样的攻击弄垮整个服务器。这是因为系统为每个虚拟机分配了一定量的内存空间,它们无法从其他虚拟机上的应用那里窃取内存。
虚拟化还通过将IT环境变得更加“便携”,从而方便人们进行系统恢复,Burlington Coat Factory的首席技术执行官Michael Prince说。现在系统恢复已经成为公司安全项目必定会考虑的一部分内容,虚拟化技术使人们在发生系统崩溃的紧急情况时,更容易重搭一个IT环境,这样也就是提高了安全性。
虚拟机安全的另一不容忽视的方面就是它能在同一服务器内运行多个操作系统,这就构建了多样化的环境从而不会被针对特定Windows或者Linux系统的恶意软件完全击垮。
虚拟盾的优势在于,它能在那些公司给他们虚拟机上运行的应用和操作系统打补丁之前,为其争取时间。固然,它不能解决所有的安全问题,但是方向是对的。
=============================================
原文作者:Larry Greenemeier
原文来源:informationweek
原文链接:http://www.informationweek.com/security/showArticle.jhtml?articleID=198001244
让我们看一段 ASP 代码先:
Function getIP()
Dim strIPAddr as
string
If
Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR
InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0
Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf
InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0
Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1,
InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf
InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0
Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1,
InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP =
Trim(Mid(strIPAddr, 1, 30))
End Function
这段代码的功能是得到客户端真实IP,也就是当客户端使用了透明HTTP代理的时候取得真正的客户端IP;匿名代理返回代理IP;无代理返回客户端IP。
想一下,为什么该代码能够从透明代理那里得到真实的IP呢?莫非透明代理服务器会发送我们的真IP?本地搭建一个透明代理,抓包分析之:
GET /test/ipSpoof/test.asp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
TencentTraveler ; .NET CLR 1.1.4322)
Host: localhost
Connection: Keep-Alive
Cookie: tc_total_cookie_datetime_14734=2006-5-29 10:45:26;
PJBlog25Setting=ViewType=list;
ASPSESSIONIDQQQGQMDQ=HLGHFEADMMDPHAFJDHBLBOPD
X-Forwarded-For: 10.0.0.54
哈哈,原来我们的真正IP被服务器发送出去了。那么,如果我们修改X-Forwarded-For的值再提交的话……嘿嘿,这样就可以伪造任意的“真实”IP啦。
伪造了“真实”IP,可以做很多事情,最简单就是以任意IP发表评论,要是管理员看到一个123.456.789.000的IP一定会被你郁闷到的。
更高级点,应该可以实现突破IP限制、跨站和SQL注射,当然需要结合具体的程序代码来看了。
所有人都面临间谍软件的威胁,特别是普通的网络用户。这些网络用户总是很快地点击弹出式对话框,按提示安装软件,接受垃圾邮件的馈赠或者浏览恶意的网站。
最佳的预防措施就是对最终用户进行教育。但是,对于大多数人来说,这个事情已经太晚了,间谍软件已经在Windows工作站中疯狂地蔓延开了。为了帮助你识别和修复各种类型的间谍软件的感染,你可以查看一下如下的情况。在做出诊断和介绍三个Windows安全专家讲的课程之后,我们还将介绍一些用户的投诉。你将发现,每一个专家对一个问题都有一个独特的解决方案。因此,在解决你自己的间谍软件的问题时,你一定要考虑一下所有这些解决方案。
用户的问题:
我为300多个用户提供技术支持。这些用户拥有家庭或者办公室的电脑,采用Windows XP或者Windows 2000操作系统。一些用户报告了下列问题。
当浏览器关闭时(有时候甚至都没有连接到互联网),会出现弹出广告。当打开浏览器时,一个像HotOffers.com的网站出现了,而不是我们内部网的主页。
一个名为“Viewpoint”的搜索工具条出现在浏览器上,无论我们在地址栏内输入什么,这个工具条都一直在搜索。
我有最新的杀毒软件,并且没有发现病毒。使用查杀间谍软件的工具“SpyBot Search & Destroy ”进行扫描之后,发现一些不熟悉的文件,我将删除这些文件。但是,这样并没有解决这些问题。那是什么文件?我如何删除这些文件?请帮忙。
专家提供的补救措施:
清除间谍软件第一步:诊断
安全专家Kevin Beaver:你在这里遇到的问题是人的问题和技术的局限性结合在一起产生的问题。间谍软件和广告软件的启动是用户盲目点击鼠标造成的。当IE浏览器弹出一个对话框,要求在IE中安装一个ActiveX控件或者向用户计算机下载其它貌似安全的游戏、屏幕保护程序等软件时,用户往往随意点击“确认”。
这就是我说的人的问题。这个问题经常发生,因为用户只是想安装软件,弹出式广告就借此机会避开检查想做什么就做什么了。一旦你的用户允许在他们的系统中安装这种软件,根据这种软件的性质,无论用户是否启动IE或者系统是否连接到互联网,这种软件都能够控制Windows计算机的某些方面。这包括启动弹出式广告、修改缺省的主页等。
技术的局限性与查杀间谍软件的工具有关。“Spybot Search & Destroy”对于保护台式电脑并不是万能的解决方案,尽管这是我使用的最好的软件工具。
安全专家Tony Bradley:从给出的情况看,这里可能存在两个不同的问题。当计算机甚至还没有连接到互联网的时候也出现弹出式广告,这类程序可能是通过Windows Messenger服务进入用户计算机的。修改浏览器主页和搜索工具条最有可能是浏览器辅助对象(BHO)出现的问题造成的。间谍软件是一种随看随下(drive-by downloads)的软件。当用户访问恶意网站时,间谍软件利用浏览器中的漏洞不需要用户同意就安装在用户的计算机中。
安全专家Lawrence Abrams:当浏览器中的搜索功能和主页被修改之后,通常会出现劫持浏览器的情况,就像“Viewpoint Manager”软件劫持浏览器一样。浏览器劫持一般分为两大类,主动劫持和被动劫持。
主动劫持者是一种在计算机启动时就调入的程序。这种程序持续监视计算机的具体设置,确保这些设置符合劫持者的愿望。被动劫持是在计算机启动时开始运行的程序。这种程序修改某些设置并且上传。一旦你确定这种劫持程序,这些问题是很容易修复的。
首先,你必须确定你处理的是哪一类劫持程序。我使用HijackThis软件进行查找。如果你熟悉程序入口(entry)的位置或者把软件程序与启动数据库进行比较,你就可以找到劫持软件。
在运行HijackThis工具软件时,我们注意到了Viewpoint工具条和Viewpoint管理器的入口。这就是Viewpoint间谍软件的罪证。我们还看到起始页的入口已经被修改了。
至于热力推荐(HotOffers)的问题,修复这个入口似乎并不起作用。他们还是不断地出现,上面提到的事情似乎都不是这个问题的原因。起始页改回到HotOffers的事实说明我们正在处理的问题是主动的劫持。
在这种情况下,我们需要使用另外一种名为“SilentRunners”的工具软件。这个工具能过让我们深入到正在这种自动运行的程序中。
SilentRunners将生成一个关于注册表设置的登记列表,找出哪些不是Windows缺省设置的程序。
运行这个程序,我将看到如下结果:
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
INFECTION WARNING! "{D56A1203-1452-EBA1-7294-EE3377770000}" = "Interlinking Memory Support"
-> {CLSID}InProcServer32(Default) = "C:\WINDOWS\System32\param32.dll" [null data]
这就告诉我一个名为c:\windows\system32\param32.dll的文件在计算机中启动了。param32.dll文件不是缺省的Windows配置。要确定这个文件是不是罪魁祸首,我使用Sysinternal软件中的strings.exe程序查看这个文件内部的ASCII字符串。
当在可执行文件中看到列出的字符串时,我们看到了一个HotOffers,我们现在知道我们已经找出了这个问题了。
清除间谍软件第二步:立即行动
安全专家Kevin Beaver:在这种情况下,你应该运行一两种其他反间谍软件扫描工具,看看能否清除间谍软件的感染。遗憾的是,防御间谍软件和广告软件需要多层次的防护措施才能有效。
安全专家Tony Bradley:要防止任何Windows Messenger服务向系统滥发弹出式信息,你需要关闭Windows Messenger服务(不要与MSN Messenger即时消息工具软件相混淆)或者封锁进入UDP端口135、137和138以及TCP端口135、139和445的通信。
用户已经验证,杀毒软件是最新的,并且使用了目前最好的反间谍软件工具之一的“Spybot - Search & Destroy”。 然而,这些反间谍软件工具都不是100%的有效。不要简单地依赖S&D软件的检查结果。用户还应该试一下使用其它的反间谍软件工具,例如Lavasoft公司的Ad-Aware、微软测试版的Windows AntiSpyware和Webroot软件公司的Spy Sweeper。
安全专家Lawrence Abrams:虽然劫持软件不会传播到其它计算机中,但是,这种软件在许多情况下会严重降低IE浏览器的安全设置。因此,在清除这种感染防止进一步感染之前,阻止用户使用被感染的计算机是非常重要的。
ICMP的全名是Internet Control and Message Protocal即因特网控制消息/错误报文协议,这个协议主要是用来进行错误信息和控制信息的传递,例如著名的Ping和Tracert工具都是利用ICMP协议中的ECHO request报文进行的(请求报文ICMP ECHO类型8代码0,应答报文ICMP ECHOREPLY类型0代码0)。
ICMP协议有一个特点——它是无连结的,也就是说只要发送端完成ICMP报文的封装并传递给路由器,这个报文将会象邮包一样自己去寻找目的地址,这个特点使得ICMP协议非常灵活快捷,但是同时也带来一个致命的缺陷——易伪造(邮包上的寄信人地址是可以随便写的),任何人都可以伪造一个ICMP报文并发送出去,伪造者可以利用SOCK_RAW编程直接改写报文的ICMP首部和IP首部,这样的报文携带的源地址是伪造的,在目的端根本无法追查,(攻击者不怕被抓那还不有恃无恐?)根据这个原理,外面出现了不少基于ICMP的攻击软件,有通过网络架构缺陷制造ICMP风暴的,有使用非常大的报文堵塞网络的,有利用ICMP碎片攻击消耗服务器CPU的,甚至如果将ICMP协议用来进行通讯,可以制作出不需要任何TCP/UDP端口的木马。既然ICMP协议这么危险,我们为什么不关掉它呢?
我们都知道,Windows2000在网络属性中自带了一个TCP/IP过滤器,我们来看看能不能通过这里关掉ICMP协议,桌面上右击网上邻居->属性->右击你要配置的网卡->属性->TCP/IP->高级->选项->TCP/IP过滤,这里有三个过滤器,分别为:TCP端口、UDP端口和IP协议,我们先允许TCP/IP过滤,然后一个一个来配置,先是TCP端口,点击“只允许”,然后在下面加上你需要开的端口,一般来说WEB服务器只需要开80(www),FTP服务器需要开20(FTP Data),21(FTP Control),邮件服务器可能需要打开25(SMTP),110(POP3),以此类推……接着是UDP,UDP协议和ICMP协议一样是基于无连结的,一样容易伪造,所以如果不是必要(例如要从UDP提供DNS服务之类)应该选择全部不允许,避免受到洪水(Flood)或碎片(Fragment)攻击。最右边的一个编辑框是定义IP协议过滤的,我们选择只允许TCP协议通过,添加一个6(6是TCP在IP协议中的代码,IPPROTO_TCP=6),从道理上来说,只允许TCP协议通过时无论UDP还是ICMP都不应该能通过,可惜的是这里的IP协议过滤指的是狭义的IP协议,从架构上来说虽然ICMP协议和IGMP协议都是IP协议的附属协议,但是从网络7层结构上ICMP/IGMP协议与IP协议同属一层,所以微软在这里的IP协议过滤是不包括ICMP协议的,也就是说即使你设置了“只允许TCP协议通过”,ICMP报文仍然可以正常通过,所以如果我们要过滤ICMP协议还需要另想办法。
刚刚在我们进行TCP/IP过滤时,还有另外一个选项:IP安全机制(IP Security),我们过滤ICMP的想法就要着落在它身上。
打开本地安全策略,选择IP安全策略,在这里我们可以定义自己的IP安全策略。
一个IP安全过滤器由两个部分组成:过滤策略和过滤操作,过滤策略决定哪些报文应当引起过滤器的关注,过滤操作决定过滤器是“允许”还是“拒绝”报文的通过。要新建IP安全过滤器,必须新建自己的过滤策略和过滤操作:右击本机的IP安全策略,选择管理IP过滤器,在IP过滤器管理列表中建立一个新的过滤规则:ICMP_ANY_IN,源地址选任意IP,目标地址选本机,协议类型是ICMP,切换到管理过滤器操作,增加一个名为Deny的操作,操作类型为“阻止”(Block)。这样我们就有了一个关注所有进入ICMP报文的过滤策略和丢弃所有报文的过滤操作了。需要注意的是,在地址选项中有一个镜像选择,如果选中镜像,那么将会建立一个对称的过滤策略,也就是说当你关注any IP->my IP的时候熟悉网络的人都知道Ping,Ping是用于检测网络连接性、可到达性和名称解析的疑难问题的主要TCP/IP命令。Ping最主要的用处就是检测目标主机是否可连通。
黑客要入侵,就得先锁定目标,一般都是通过使用Ping命令来检测主机,获取相关信息,然后再进行漏洞扫描。如何不受别人的攻击?那就是阻止别人Ping自己的电脑,让攻击无从着手。笔者介绍四种常见的阻止Ping的方法,供大家参考。
一、用高级设置法预防Ping
默认情况下,所有Internet控制消息协议(ICMP)选项均被禁用。如果启用ICMP选项,您的网络将在 Internet 中是可视的,因而易于受到攻击。
如果要启用ICMP,必须以管理员或Administrators 组成员身份登录计算机,右击“网上邻居”,在弹出的快捷菜单中选择“属性”即打开了“网络连接”,选定已启用Internet连接防火墙的连接,打开其属性窗口,并切换到“高级”选项页,点击下方的“设置”,这样就出现了“高级设置”对话窗口,在“ICMP”选项卡上,勾选希望您的计算机响应的请求信息类型,旁边的复选框即表启用此类型请求,如要禁用请清除相应请求信息类型即可。
二、用网络防火墙阻隔Ping
使用防火墙来阻隔Ping是最简单有效的方法,现在基本上所有的防火墙在默认情况下都启用了ICMP过滤的功能。在此,以金山网镖2003和天网防火墙2.50版为蓝本来说明。
对于使用金山网镖2003的网友,请用鼠标右击系统托盘中的金山网镖2003图标,在弹出的快捷菜单中选择“实用工具”中的“自定义IP规则编辑器”,在出现的窗口中选中“防御ICMP类型攻击”规则,消除“允许别人用ping命令探测本机”规则,保存应用后就发挥效应。
如果您用的是天网防火墙,在其主界面点击“自定义IP规则”,然后不勾选“防止别人用ping命令探测”规则,勾选“防御ICMP攻击”规则,然后点击“保存/应用”使IP规则生效。
三、启用IP安全策略防Ping
IP安全机制(IP Security)即IPSec 策略,用来配置 IPSec 安全服务。这些策略可为多数现有网络中的多数通信类型提供各种级别的保护。您可配置 IPSec 策略以满足计算机、应用程序、组织单位、域、站点或全局企业的安全需要。可使用 Windows XP 中提供的“IP 安全策略”管理单元来为 Active Directory 中的计算机(对于域成员)或本地计算机(对于不属于域的计算机)定义 IPSec 策略。
在此以WINDOWS XP为例,通过“控制面板”—“管理工具”来打开“本地安全策略”,选择IP安全策略,在这里,我们可以定义自己的IP安全策略。一个IP安全过滤器由两个部分组成:过滤策略和过滤操作。要新建IP安全过滤器,必须新建自己的过滤策略和过滤操作,右击窗口左侧的“IP安全策略,在本地机器”,在弹出的快捷菜单中选择“创建IP安全策略”,单击“下一步”,然后输入策略名称和策略描述。单击“下一步”,选中“激活默认响应规则”复选项,单击“下一步”。开始设置响应规则身份验证方式,选中“此字符串用来保护密钥交换(预共享密钥)”选项,然后随便输入一些字符(后面还会用到这些字符的),单击“下一步”,就会提示已完成IP安全策略,确认选中了“编辑属性”复选框,单击“完成”按钮,会打开其属性对话框。
接下来就要进行此新建安全策略的配置。在“Goodbye Ping 属性”对话窗口的“规则”选项页中单击“添加”按钮,并在打开安全规则向导中单击“下一步”进行隧道终结设置,在这里选择“此规则不指定隧道”。单击“下一步”,并选择“所有网络连接”以保证所有的计算机都Ping不通。单击“下一步”,设置身份验证方式,与上面一样选择第三个选项“此字符串用来保护密钥交换(预共享密钥)”并填入与刚才上面相同的内容。单击“下一步”即打开“IP筛选器列表”窗口,在“IP筛选器列表”中选择“新IP筛选器列表”,单击右侧的“编辑”,在出现的窗口中点击“添加”,单击“下一步”,设置“源地址”为“我的IP地址”,单击“下一步”,设置“目标地址”为“任何IP地址”,单击“下一步”,选择协议类型为ICMP,单击“完成”后再点“确定”返回如图9的窗口,单击“下一步”,选择筛选器操作为“要求安全”选项,然后依次点击“下一步”、“完成”、“确定”、“关闭”按钮保存相关的设置返回管理控制台。
最后在“本地安全设置”中右击配置好的“Goodbye Ping”策略,在弹出的快捷菜单中选择“指派”命令使配置生效。
经过上面的设置,当其他计算机再Ping该计算机时,就不再Ping通了。但如果自己Ping本地计算机,仍可Ping通。在Windows 2000中操作基本相同。
四、修改TTL值防Ping
许多入侵者喜欢用TTL值来判断操作系统,他们首先会Ping一下你的机子,如看到TTL值为128就认为你的系统为Windows NT/2000,如果TTL值为32则认为目标主机操作系统为Windows 95/98,如果为TTL值为255/64就认为是UNIX/Linux操作系统。既然入侵者相信TTL值所反应出来的结果,那么我们不妨修改TTL值来欺骗入侵者,达到保护系统的目的。方法如下:
打开Windows自带的“记事本”程序,编写如下所示的批处理命令:
@echo REGEDIT4>>ChangeTTL.reg
@echo.>>ChangeTTL.reg
@echo [HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters]>>ChangeTTL.reg
@echo "DefaultTTL"=dword:000000ff">>ChangeTTL.reg
@REGEDIT /S /C ChangeTTL.reg
另存为以.bat为扩展名的批处理文件,点击这个文件,你的操作系统的缺省TTL值就会被修改为ff,即十进制的255,即把你的操作系统人为地改为UNIX系统了!
“DefaultTTL=dword:000000f”是用来设置系统缺省TTL值的,如果你想将自己的操作系统的TTL值改为其它操作系统的ICMP回显应答值,请改变“DefaultTTL”的键值,要注意它的键值为16进制。
如何禁止别人Ping自己的主机(Windows2000自带)
我的电脑-控制面板-管理工具-本地安全策略-ip安全策略,这是Windows2000给我们的配置ip管理的工具,我这里只说一下如何禁止别人ping我的主机。
共有四个步骤:
1、建立禁ping 规则;
2、建立禁止/允许规则;
3、把这两个规则联系在一起 ;
4、指派;
详细:
1.右击ip安全策略-管理ip筛选器表和筛选器操作-ip筛选器列表-添加:名称:ping;描述:ping;(勾选“使用添加向导”),---添加-下一步:指定源/目的ip ,协议类型(icmp),下一步直至完成,关闭此对话框。
2.管理ip筛选器表和筛选器操作-管理筛选器操作-添加(勾选“使用添加向导”)-下一步:名称:refuse;描述:refuse--下一步:阻止-下一步直至完成。
3.右击ip安全策略-创建ip安全策略-下一步:名称:禁止ping;--下一步:取消激活默认响应规则-下一步:选中选中“编辑属性“-完成。然后再“禁止ping属性“上-添加(勾选“使用添加向导”)-下一步直至“身份验证方法”;选第三项,输入共享字串-下一步:在ip筛选器列表里选“ping”——下一步:选“refuse”——下一步到完成。
这是你在“本地安全设置“右侧会看到“禁止ping“这条规则,但是现在他还没有起作用。
4.右击“禁止ping”——指派。
这回一条禁止别人ping自己的机器的ip策略完成了。
赶快找个机器试试,自己的机器不行。会提示:请求超时(timeout).
以上只是一条小得的ip过滤,你可以自己制作其他的ip策略。
清除间谍软件第三步:恢复
安全专家Kevin Beaver:如果可能的话,运行一种以上的反间谍软件程序,如Spybot - Search & Destroy、冠群国际的eTrust PestPatrol Anti-Spyware 、微软的Windows AntiSpyware,同时加强IE安全设置和个人防火墙保护。在安全的环境中,你还可以考虑使用基于行为的防御软件,如Sana安全公司和Finjan软件公司的产品。
安全专家Tony Bradley:如果运行其它的间谍软件扫描工具还不能完全清除间谍软件,你可以采取手工方式确定间谍软件在做什么和如何杀灭这些间谍软件。Sysinternals Freeware公司提供很多免费的软件工具,可以查出间谍软件暗地里在做什么。进程管理器(Process Explorer) 能够帮助你查找正在运行的可疑的进程。间谍软件的进程通常使用与Windows的进程相类似的名称,以便不易被察觉。然而,如果你查看路径信息,你就可以发现那些路径异常的进程,并且验证那些表面上合法的文件的版本和版权信息。Sysinternals公司的其它工具还有Autoruns和ListDLLs。这些工具对于帮助你调查正在运行的进程也是很有效的。
另一个功能强大的帮助你识别和消灭间谍软件组件的工具是Merijn.org公司的HijackThis。这个软件能够检查Windows注册表和硬盘中的关键区域,并且提供详细的内容列表。在使用HijackThis工具软件的时候需要特别谨慎,或者请求专家提供指导。这个软件的文件删除和保留的权利完全取决于用户。HijackThis软件有时候查出的软件程序是合法的,如果删除会对系统产生不利的影响,甚至会使系统无法运行。
安全专家Lawrence Abrams:现在间谍软件已经找到了。我们需要设计一个工作人员很容易操作的清除间谍软件的常规方法。工作人员将清除办公计算机和家庭计算机中的间谍软件。你可以通过控制面板中的增加/删除程序很容易地卸载Viewpoint工具条和Viewpoint管理器。
为了修复HotOffers的感染,你可以删除param32.dll文件。问题是,这个程序是不停地运行的。你需要以安全模式重新启动计算机,这时param32.dll文件就不运行了,就可以删除了。如果这样还不行,使用一个名为“KillBox”的工具软件在重新启动的过程中删除那个文件。
然后,你可以使用HijackThis软件修复剩余的入口,恢复用户对起始页和搜索功能的控制。
接下来,你可以在一个正式的删除文件中把这些步骤记下来。这种文件要让工作人员和家庭用户很容易理解。
清除间谍软件第四步:预防措施
安全专家Kevin Beaver:你可以拥有的最强大的预防措施就是人的因素:教育人们如何处置和为什么不要点击弹出式广告、安装程序的提示以及其它可能导致传播间谍软件手段。遗憾的是,只要人类介入计算环境,我们就会遇到这种问题。有些人是故意的,有些人是不故意的。因此,还要确保使用正确的技术。这个提高警惕的周期是永远也不会结束的。
安全专家Tony Bradley:要防止随看随下(drive-by downloads)和其它间谍软件问题,用户应该避免访问可疑的网站。知名的网站一般都是比较安全的和没有恶意软件的。但是,如果用户要访问没有访问过的小网站,很可能会受到恶意软件的感染。为了增强保护措施,你可以使用Lavasoft公司的Ad-Aware Pro或者微软Windows AntiSpyware测试版。这些软件能够主动监视你的计算机,防止间谍软件的安装。
你可以采取的另一种措施是使用研究机构Eric Howes的IE-SPYAD工具软件。这个软件提供了一个包含9000个恶意网站的列表,这些网站安装广告软件、间谍软件和浏览器劫持软件或者其它恶意软件。运行IE-SPYAD之后,可以保证这些恶意网站不影响你的计算机。
安全专家Lawrence Abrams:现实是,间谍软件、劫持软件和其它恶意软件正在像蠕虫、特洛伊木马和病毒一样流行。大多数人以为杀毒软件会清除一切恶意软件,而实际上杀毒软件的重点是病毒、特洛伊木马和蠕虫。在你的计算机中采取多层防御措施是非常重要的。
下面是我提出的防御间谍软件的八项措施。请注意,排列顺序不是按照重要性排列的,因为它们具有同样的重要性。
·Windows补丁一发布就要立即使用。
·企业防火墙和基于本地软件的防火墙必须能够保护每一台计算机。
·IE浏览器的设置必须是非常安全的。
·每台计算机至少安装两种间谍软件清除工具,如Spybot - Search & Destroy和Ad-Aware。
·应该安装Javacool软件公司的SpywareBlaster软件,以阻止已知的恶意ActiveX控件在每一台计算机上运行。
· 每一台计算机应该安装一个好的杀毒软件。
·杀毒软件、SpywareBlaster和间谍软件清除程序必须不断更新新的恶意软件的定义。
·最后,也许是最重要的,创建一个互联网安全使用行为规范的指南。例如,用户永远不要点击弹出式广告,永远不要打开来源不明的电子邮件的附件,一定要阅读要安装的软件中的细则。
Windows2000 域名解析是基于动态DNS,动态DNS的实现是基于RFC 2136基础上的。在Windows 2000下,动态DNS是与DHCP、WINS及活动目录(AD)集成在一起的。在Windows 2000的域下有三种实现DNS的方法:与活动目录集成、与活动目录集成的主DNS及不与活动目录集成的辅助DNS、不与活动目录集成的主DNS及不与活动目录集成的辅助DNS。当DNS完成集成到活动目录中后,我们可以利用Windows2000网络中的三个重要安全特性:安全动态更新、安全区域传输、对区域和资源记录的访问控制列表。
一、安全动态更新
在动态DNS(DDNS)中一个最重要的安全特性就是安全更新。在实现安全更新时一个主要的考虑是DNS项组成的记录的所有权。所有权是由DHCP的配置及对客户端的支持来决定的。
与客户端相关的有两种DNS记录:A记录和PTR记录,A记录解析名字到地址,而PTR记录解析地址到名字。地址是指一个客户端的IP地址,名字是指一个客户的完全合格域名,应该是计算机名加上网络的域名。
在Windows 2000环境中,当客户端通过DHCP请求一个IP时,客户端DNS记录就被注册。根据设置,客户端、DHCP服务器或者两者都可以更新客户的A记录和PTR记录,谁注册了这个记录,谁就对记录拥有所有权。
下面是在Windows2000网络中定义客户的A记录和PTR记录所有权的可选项。
1.Windows2000本机模式
在Windows2000环境下,DHCP服务器和DHCP客户端都可以通过DNS注册记录。当网络仅由Windows2000的服务器和客户端组成时,这种Windows2000环境被定义为"本机模式"。
当客户端是一个Windows2000客户时,默认配置是当客户在网络上注册时动态更新它自己的A记录,与此同时,DHCP服务器更新客户的PTR记录。因此,A记录的所有权属于客户端,PTR记录的所有权属于DHCP服务器。
第二种可能的配置是DHCP服务器更新正向和反向查找,在这种情况下,DHCP服务器同时拥有A记录和PTR记录的所有。
第三种可能的配置是DHCP服务器被配置为不执行动态更新,在这种情况下,客户端将更新A记录和PTR记录,同时也就拥有记录的所有权。
2.Windows2000混杂模式
在一个混杂模式的环境下,DHCP客户端不能在DNS下注册。所谓混杂模式即网络除Windows2000服务器、客户端外同时存在有WindowsNT4.0或Windows98客户。
先前的客户端,如WindowsNT4.0和Windows9x不能直接通过DNS注册。因为只有DHCP服务器可以通过DNS注册记录,在混杂环境中唯一的选择是让DHCP服务器注册A记录和PTR记录,在这种情况下,服务器拥有正向和反向查找记录的所有权。
3.安全动态更新
在Windows2000网络中,只有当活动目录与DNS区域集成时,安全动态更新才可用。安全动态更新意味着什么呢?在Windows2000中,它意味着用活动目录的ACL制定用户和组的权限来修改DNS区域和/或它的资源记录。为允许更新DNS区域和/或它的资源记录,除ACL外,动态更新也使用安全通道和认证。
Windows2000支持使用IETF草拟的"GSS Algorithm for TSIG "(GSS-TSIG)算法进行安全动态更新。这个算法使用 Kerberos v5 作为优先的认证协议,GSS-API在RFC2078中有定义。
二、区域
1.区域的类型
Windows 2000 可以配置 DNS 区域为主要区域、辅助区域或活动目录集成。
主要和辅助区域的功能与在Unix和NT4.0环境下一样。另外,DNS数据库与其它数据库如WINS和DHCP保持独立,复制是从其它复制服务中独立设置。如果网络中有服务器运行低于
8.1.2的BIND版本,则必须使用主要/辅助区域,因为在早先的版本中不支持动态更新。
如果安装了活动目录,DNS区域可以成为活动目录集成区域。这意味着DNS区域数据库成为活动目录数据库的一部分,每条记录都是活动目录的对象,每个活动目录对象拥有它自己的ACL(访问控制列表)。
2.区域传输或复制的类型
Windows 2000下的DNS可以支持 AXFR 或 IXFR。AXFR或所有的区域传输,是整个区域数据库文件的复制。IXFR或增量区域传输,仅仅复制区域数据库的变化。如果区域类型设置为主要/辅助区域,那么可以应用这些区域复制方法。IXFR支持在BIND 8.2.1及以上版本。
当 DNS与活动目录集成时,所有的区域和资源记录将成为活动目录数据库中的对象。活动目录的复制是基于多主机模型。
多主机模型的好处之一是没有单点失败的问题。这是可能的,因为DNS是活动目录数据库的一部分,而活动目录数据库被复制到所有的域控制器。
多主机模型的第二个好处是仅需要设置一个复制拓扑。DNS区域数据库变成活动目录数据的一部分,因此DNS区域传输作为活动目录复制的一部分完成。
3.区域传输的安全
如果Windows 2000的DNS配置为主要/辅助区域,是不能使用加密和压缩的。为了与BIND兼容,Windows 2000支持AXFR,每个消息发送/接受一个或多个资源记录。在BIND4.9.4以前的版本不支持多条资源记录由一个消息传输。为与BIND8.2.1版本兼容Windows2000支持IXFR,为与BIND8.1.2版本兼容Windows 2000 支持DNS通告。
当Windows 2000的DNS配置为与活动目录集成时,复制进程成为活动目录复制的一部分,因此它自动使用加密和压缩。
在Windows 2000下使用Kerberos v5进行加密。控制器之间的通信通道自动加密,不需要管理员配置。
当活动目录更新在"桥头"服务器间传输时,自动进行压缩。桥头服务器是在本地局域网服务器自动选择产生的,当活动目录使用广域网链路进行更新时,每个局域网的桥头服务器会与其它桥头服务器通信,这将大大减少通过 WAN 链路的流量。在这种情况下,为了节省带宽会自动压缩。
三、活动目录集成DNS 区域
在 Windows 2000下活动目录与DDNS集成,因此实现活动目录安全第一步是实现 DDNS的安全。
1.文件系统
使用NTFS。Windows 2000 的版本是 NTFS v5,此版本允许设置文件和文件夹的安全、加密文件系统和审核。NTFS v5 不与先
前的NTFS兼容。在安装了Service Pack 4 或更高版本的NT4.0上只能读取NTFS v5。
NTFS通过设置文件夹和文件级别访问权限来限制网络或本地对文件的访问。
NTFS和共享权限可以被用来非常精确的控制权限和继承关系。
2.注册表
使用注册表编辑器编辑DACL关系到每一个注册表的配置单元。细节问题可以参考SANS出版的"Windows NT Security, Step-by-Step"。
3.Enterprise管理员和Schema管理员组
在Windows2000网络建立之后,限制访问这两个管理员组。这些组出现在根域下并且有最高的权限。根据域的结构,管理可以被委派到域结构,因此管理可以被限制到单个域。
4.加密文件系统
Windows2000的NTFS提供了使用加密文件系统的选择。EFS使用基于公共密钥的技术来进一步限制文件的未授权访问。
5.活动目录中的DNS
DNS的安装将扩展活动目录的架构,包含了DNSUpdateProxy组。这是一个非常强大的组,它允许创建对象,这是不安全的,当这种情况发生时,任何授权用户可以获得这些对象的所有权。
DNS中客户端的A记录和PTR记录会在DHCP处理进程中进行更新,这在上面有详细地叙述。当客户和服务器都是Windows2000时,安全动态更新可以通过默认安装来完成,当有其它的用户需要支持时,安全动态更新不能完成,除非DHCP服务器被加入到了DNSUpdateProxy组,加入DNSUpdateProxy组后,允许DHCP服务器为早期的客户端执行动态更新。
如果DHCP服务运行在一个域控制器时,需要特别考虑的是,添加DHCP服务器到DNSUpdateProxy组,将允许所有用户或计算机完全控制相应域控制器的DNS记录。
6.资源记录的所有权
DHCP服务器不能在早期的客户端上执行安全动态更新,这在Windows2000网络中是非常重要的。如果这种情况发生,会出现不能完全更新活动记录的情况。例如,一个NT4.0的客户端通过DHCP服务器在DNS中注册了一个名字,当这台机器被升级到Windows2000时,这个名字保持不变。DHCP服务器因其最先注册了这个名字而拥有这个名字的资源记录所有权,所以Windows 2000客户不能更新它自己的名字。
7.WINS查找
作为Windows2000最终的告诫,我将翻译说明为什么WINS将是Windows 2000网络中最可能需要的部分。为什么呢?对所有非Windows2000客户,NetBios解析仍是必需的。同样,所有需要NetBios的程序也将需要WINS来做名字解析。WINS通过两个特定的资源记录直接集成到了DNS中:WINS和WINS-R。这分别为WINS做正向和反向记录查找。
四、结论
总之,理解Windows2000使用DNS的过程是非常重要的。在文章的1.0部分"安全动态更新"和2.0部分"区域"中有了一个简述。理解Windows2000的"gotchas"和"caveats"也是非常重要的。3.0部分活动目录集成DNS区域列举了相关的项目。
通常地,大多数Web站点的设计目标都是:以最易接受的方式,为访问者提供即时的信息访问。在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问题严重影响了网站的可访问性,尽管Apache服务器也常常是攻击者的目标,然而微软的Internet信息服务(IIS) Web服务器才是真正意义上的众矢之的。
高级教育机构往往无法在构建充满活力、界面友好的网站还是构建高安全性的网站之间找到平衡点。另外,它们现在必须致力于提高网站安全性以面对缩减中的技术预算 (其实许多它们的私有部门也面临着相似的局面)。
正因为如此,我在这里将为预算而头疼的大学IT经理们提供一些技巧,以帮助他们保护他们的IIS服务器。虽然主要是面对大学里的IT专业人员的,但是这些技巧也基本上适用于希望通过少量的财政预算来提高安全性的IIS管理人员。实际上,这里面的一些技巧对拥有强大预算的IIS管理人员也是非常有用的。
首先,开发一套安全策略
保护Web服务器的第一步是确保网络管理员清楚安全策略中的每一项制度。如果公司高层没有把服务器的安全看作是必须被保护的资产,那么保护工作是完全没有意义的。这项工作需要长期的努力。如果预算不支持或者它不是长期IT战略的一部分,那么花费大量时间保护服务器安全的管理员将得不到管理层方面的重要支持。
网络管理员为各方面资源建立安全性的直接结果是什么呢?一些特别喜欢冒险的用户将会被关在门外。那些用户随后会抱怨公司的管理层,管理层人员又会去质问网络管理员究竟发生了什么。那么,网络管理员没办法建立支持他们安全工作的文档,因此,冲突发生了。
通过标注Web服务器安全级别以及可用性的安全策略,网络管理员将能够从容地在不同的操作系统上部署各种软件工具。
IIS安全技巧
微软的产品一向是众矢之的,因此IIS服务器特别容易成为攻击者的靶子。搞清楚了这一点后,网络管理员必须准备执行大量的安全措施。我将要为你们提供的是一个清单,服务器操作员也许会发现这是非常有用的。
1. 保持Windows升级:
你必须在第一时间及时地更新所有的升级,并为系统打好一切补丁。考虑将所有的更新下载到你网络上的一个专用的服务器上,并在该机器上以Web的形式将文件发布出来。通过这些工作,你可以防止你的Web服务器接受直接的Internet访问。
2. 使用IIS防范工具:
这个工具有许多实用的优点,然而,请慎重的使用这个工具。如果你的Web服务器和其他服务器相互作用,请首先测试一下防范工具,以确定它已经被正确的配置,保证其不会影响Web服务器与其他服务器之间的通讯。
3. 移除缺省的Web站点:
很多攻击者瞄准inetpub这个文件夹,并在里面放置一些偷袭工具,从而造成服务器的瘫痪。防止这种攻击最简单的方法就是在IIS里将缺省的站点禁用。然后,因为网虫们都是通过IP地址访问你的网站的 (他们一天可能要访问成千上万个IP地址),他们的请求可能遇到麻烦。将你真实的Web站点指向一个背部分区的文件夹,且必须包含安全的NTFS权限 (将在后面NTFS的部分详细阐述)。
4. 如果你并不需要FTP和SMTP服务,请卸载它们:
进入计算机的最简单途径就是通过FTP访问。FTP本身就是被设计满足简单读/写访问的,如果你执行身份认证,你会发现你的用户名和密码都是通过明文的形式在网络上传播的。SMTP是另一种允许到文件夹的写权限的服务。通过禁用这两项服务,你能避免更多的黑客攻击。
5. 有规则地检查你的管理员组和服务:
有一天我进入我们的教室,发现在管理员组里多了一个用户。这意味着这时某个人已经成功地进入了你的系统,他或她可能冷不丁地将炸弹扔到你的系统里,这将会突然摧毁你的整个系统,或者占用大量的带宽以便黑客使用。黑客同样趋向于留下一个帮助服务,一旦这发生了,采取任何措施可能都太晚了,你只能重新格式化你的磁盘,从备份服务器恢复你每天备份的文件。因此,检查IIS服务器上的服务列表并保持尽量少的服务必须成为你每天的任务。你应该记住哪个服务应该存在,哪个服务不应该存在。Windows 2000 Resource Kit带给我们一个有用的程序,叫作tlist.exe,它能列出每种情况运行在svchost 之下的服务。运行这个程序可以寻找到一些你想要知道的隐藏服务。给你一个提示:任何含有daemon几个字的服务可能不是Windows本身包含的服务,都不应该存在于IIS服务器上。想要得到Windows服务的列表并知道它们各自有什么作用,请点击这里。
6. 严格控制服务器的写访问权限:
这听起来很容易,然而,在大学校园里,一个Web服务器实际上是有很多"作者"的。教职人员都希望让他们的课堂信息能被远程学生访问。职员们则希望与其他的职员共享他们的工作信息。服务器上的文件夹可能出现极其危险的访问权限。将这些信息共享或是传播出去的一个途径是安装第2个服务器以提供专门的共享和存储目的,然后配置你的Web服务器来指向共享服务器。这个步骤能让网络管理员将Web服务器本身的写权限仅仅限制给管理员组。
7. 设置复杂的密码:
我最近进入到教室,从事件察看器里发现了很多可能的黑客。他或她进入了实验室的域结构足够深,以至于能够对任何用户运行密码破解工具。如果有用户使用弱密码 (例如"password"或是 changeme"或者任何字典单词),那么黑客能快速并简单的入侵这些用户的账号。
8. 减少/排除Web服务器上的共享:
如果网络管理员是唯一拥有Web服务器写权限的人,就没有理由让任何共享存在。共享是对黑客最大的诱惑。此外,通过运行一个简单的循环批处理文件,黑客能够察看一个IP地址列表,利用\\命令寻找Everyone/完全控制权限的共享。
9. 禁用TCP/IP协议中的NetBIOS:
这是残忍的。很多用户希望通过UNC路径名访问Web服务器。随着NETBIOS被禁用,他们便不能这么做了。另一方面,随着NETBIOS被禁用,黑客就不能看到你局域网上的资源了。这是一把双刃剑,如果网络管理员部署了这个工具,下一步便是如何教育Web用户如何在NETBIOS失效的情况下发布信息。
10. 使用TCP端口阻塞:
这是另一个残忍的工具。如果你熟悉每个通过合法原因访问你服务器的TCP端口,那么你可以进入你网络接口卡的属性选项卡,选择绑定的TCP/IP协议,阻塞所有你不需要的端口。你必须小心的使用这一工具,因为你并不希望将自己锁在Web服务器之外,特别是在当你需要远程登陆服务器的情况下。要得到TCP端口的详细细节,点击这里。
11. 仔细检查*.bat和*.exe 文件:
每周搜索一次*.bat和*.exe文件,检查服务器上是否存在黑客最喜欢,而对你来说将是一场恶梦的可执行文件。在这些破坏性的文件中,也许有一些是*.reg文件。如果你右击并选择编辑,你可以发现黑客已经制造并能让他们能进入你系统的注册表文件。你可以删除这些没任何意义但却会给入侵者带来便利的主键。
12. 管理IIS目录安全:
IIS目录安全允许你拒绝特定的IP地址、子网甚至是域名。作为选择,我选择了一个被称作WhosOn的软件,它让我能够了解哪些IP地址正在试图访问服务器上的特定文件。WhosOn列出了一系列的异常。如果你发现一个家伙正在试图访问你的cmd.exe,你可以选择拒绝这个用户访问Web服务器。当然,在一个繁忙的Web站点,这可能需要一个全职的员工!然而,在内部网,这真的是一个非常有用的工具。你可以对所有局域网内部用户提供资源,也可以对特定的用户提供。
13. 使用NTFS安全:
缺省地,你的NTFS驱动器使用的是EVERYONE/完全控制权限,除非你手工关掉它们。关键是不要把自己锁定在外,不同的人需要不同的权限,管理员需要完全控制,后台管理账户也需要完全控制,系统和服务各自需要一种级别的访问权限,取决于不同的文件。最重要的文件夹是System32,这个文件夹的访问权限越小越好。在
Web服务器上使用NTFS权限能帮助你保护重要的文件和应用程序。
14.管理用户账户:
如果你已经安装IIS,你可能产生了一个TSInternetUser账户。除非你真正需要这个账户,否则你应该禁用它。这个用户很容易被渗透,是黑客们的显著目标。为了帮助管理用户账户,确定你的本地安全策略没有问题。IUSR用户的权限也应该尽可能的小。
15. 审计你的Web服务器:
审计对你计算机的性能有着较大的影响,因此如果你不经常察看的话,还是不要做审计了。如果你真的能用到它,请审计系统事件并在你需要的时候加入审计工具。如果你正在使用前面提到的WhosOn工具,审计就不那么重要了。缺省地,IIS总是纪录访问, WhosOn 会将这些纪录放置在一个非常容易易读的数据库中,你可以通过Access或是 Excel打开它。如果你经常察看异常数据库,你能在任何时候找到服务器的脆弱点。
总结
上述所有IIS技巧和工具(除了WhosOn以外)都是Windows自带的。不要忘记在测试你网站可达性之前一个一个的使用这些技巧和工具。如果它们一起被部署,结果可能让你损失惨重,你可能需要重启,从而遗失访问。
最后的技巧: 登陆你的Web服务器并在命令行下运行netstat -an。观察有多少IP地址正尝试和你的端口建立连接,然后你将有一大堆的调查和研究要做了。