Windows 服务器安全设置的方法教程
阿江的Windows 2000服务器安全设置教程
前言
其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。
本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点。
基本的服务器安全设置
安装补丁
安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新。
安装杀毒软件
虽然杀毒软件有时候不能解决问题,但是杀毒软件避免了很多问题。我一直在用诺顿2004,据说2005可以杀木马,不过我没试过。还有人用瑞星,瑞星是确定可以杀木马的。更多的人说卡巴司机好,不过我没用过。
不要指望杀毒软件杀掉所有的木马,因为ASP木马的特征是可以通过一定手段来避开杀毒软件的查杀。
设置端口保护和防火墙、删除默认共享
都是服务器防黑的措施,即使你的服务器上没有IIS,这些安全措施都最好做上。这是阿江的盲区,大概知道屏蔽端口用本地安全策略,不过这方面的东西网上攻略很多,大家可以擞出来看看,晚些时候我或者会复制一些到我的网站上。
权限设置
阿江感觉这是防止ASP漏洞攻击的关键所在,优秀的权限设置可以将危害减少在一个IIS站点甚至一个虚拟目录里。我这里讲一下原理和设置思路,聪明的朋友应该看完这个就能解决问题了。
权限设置的原理
WINDOWS用户,在WINNT系统中大多数时候把权限按用户(组)来划分。在开始→程序→管理工具→计算机管理→本地用户和组管理系统用户和用户组。
NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。文件(夹)上右键→属性→安全在这里管理NTFS文件(夹)权限。
IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户),当用户访问你的网站的ASP文件的时候,这个ASP文件所具有的权限,就是这个“IIS匿名用户所具有的权限。
权限设置的思路
要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
在IIS的站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑填写刚刚创建的那个用户名。
设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
这样设置了之后,这个站点里的ASP程序就只有当前这个文件夹的权限了,从探针上看,所有的硬盘都是红叉叉。
我的设置方法
我是先创建一个用户组,以后所有的站点的用户都建在这个组里,然后设置这个组在各个分区没病权限。然后再设置各个IIS用户在各在的文件夹里的权限。
因为比较多,所以我很不想写,其实知道了上面的原理,大多数人都应该懂了,除非不知道怎么添加系统用户和组,不知道怎么设置文件夹权限,不知道IIS站点属性在那里。真的有那样的人,你也不要着急,要沉住气慢慢来,具体的方法其实自己也能摸索出来的,我就是这样。当然,如果我有空,我会写我的具体设置方法,很傲能还会配上。
改名或卸载不安全组件
不安全组件不惊人
我的在阿江探针19里加入了不安全组件检测功能(其实这是参考7i24的代码写的,只是把界面改的友好了一点,检测方法和他是基本一样的),这个功能让很多站长吃惊不小,因为他发现他的服务器支持很多不安全组件。
其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。
最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。
卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个BAT文件,
regsvr32/u C:WINNTSystem32wshomocx
del C:WINNTSystem32wshomocx
regsvr32/u C:WINNTsystem32shell32dll
del C:WINNTsystem32shell32dll
然后运行一下,WScriptShell, Shellapplication, WScriptNetwork就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全了。
改名不安全组件
需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shellapplication为例来介绍方法。
打开注册表编辑器开始→运行→regedit回车,然后编辑→查找→填写Shellapplication→查找下一个,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}和“Shellapplication。为了确保万无一失,把这两个注册表项导出来,保存为 reg 文件。
比如我们想做这样的更改
13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
Shellapplication 改名为 Shellapplication_ajiang
那么,就把刚才导出的reg文件里的内容按上面的对应关系替换掉,然后把修改好的reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的`那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。
下面是我修改后的代码(两个文件我合到一起了):
Windows Registry Editor Version 500
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}]
@="Shell Automation Service"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}InProcServer32]
@="C:WINNTsystem32shell32dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}ProgID]
@="ShellApplication_ajiang1"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}TypeLib]
@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}Version]
@="11"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}VersionIndependentProgID]
@="ShellApplication_ajiang"
[HKEY_CLASSES_ROOTShellApplication_ajiang]
@="Shell Automation Service"
[HKEY_CLASSES_ROOTShellApplication_ajiangCLSID]
@="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOTShellApplication_ajiangCurVer]
@="ShellApplication_ajiang1"
你可以把这个保存为一个reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。
防止列出用户组和系统进程
我在阿江ASP探针19中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:
开始→程序→管理工具→服务,找到Workstation,停止它,禁用它。
防止Serv-U权限提升
其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。
用Ultraedit打开ServUDaemonexe查找Ascii:LocalAdministrator,和#l@$ak#lk;0@P,修改成等长度的其它字符就可以了,ServUAdminexe也一样处理。
另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。
利用ASP漏洞攻击的常见方法及防范
一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。
如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。
作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后,黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。
安全策略是指在某个安全区域内(通常是指属于某个组织的一系列处理和通信资源),用于所有与安全相关活动的一套规则。这些规则是由此安全区域中所设立的一个安全权力机构建立的,并由安全控制机构来描述、实施或实现的。安全策略通常建立在授权的基础之上,未经适当授权的实体,信息资源不可以给予、不允许访问、不得使用。安全策略基于身份、规则、角色进行分类。
机房组建应按计算机运行特点及设备具体要求确定。机房一般宜由主机房区、基本工作区、辅助机房区等功能区域组成。
主机房区包括服务器机房区、网络通信区、前置机房区和介质库等。
基本工作区包括缓冲区、监控区和软件测试区等。
辅助机房区包括配电区、配线区、UPS 区、消防气瓶间和精密空调区等。
设备标识和鉴别:应对机房中设备的具体位置进行标识,以方便查找和明确责任。机房内关键设备部件应在其上设置标签,以防止随意更换或取走。
设备可靠性:应将主要设备放置在机房内,将设备或主要部件进行固定,并设置明显的不易除去的标记。应对关键的设备关键部件冗余配置,例如电源、主控板、网络接口等。
防静电:机房内设备上线前必须进行正常的接地、放电等操作,对来自静电放电的电磁干扰应有一定的抗扰度能力。机房的活动地板应有稳定的抗静电性能和承载能力,同时耐油、耐腐蚀、柔光、不起尘等。
电磁骚扰:机房内应对设备和部件产生的电磁辐射骚扰、电磁传导骚扰进行防护。
电磁抗扰:机房内设备对来自电磁辐射的电磁干扰和电源端口的感应传导的电磁干扰应有一定的抗扰度。
浪涌抗扰:机房内设备应对来自电源端口的浪涌(冲击)的电磁干扰应有一定的抗扰度。
电源适应能力:机房供电线路上设置稳压器和过电压防护设备。对于直流供电的系统设备,应能在直流电压标称值变化10%的条件下正常工作。
泄漏电流:机房内设备工作时对保护接地端的泄漏电流值不应超过5mA。
电源线:机房内设备应设置交流电源地线,应使用三芯电源线,其中地线应于设备的保护接地端连接牢固。
线缆:机房通信线缆应铺设在隐蔽处,可铺设在地下或管道中。
绝缘电阻:机房内设备的电源插头或电源引入端与设备外壳裸露金属部件之间的绝缘电阻应不小于5MΩ。
场地选择:机房场地选择应避开火灾危险程度高的区域,还应避开有害气体来源以及存放腐蚀、易燃、易爆物品的地方。机房场地应避开强振动源、强噪声源和强电场干扰的地方。机房不应该选择在楼层的最高层或者最低层地方。
防火:机房应设置火灾自动报警系统,包括火灾自动探测器、区域报警器、集中报警器和控制器等,能对火灾发生的部位以声、光或电的形式发出报警信号,并启动自动灭火设备,切断电源、关闭空调设备等。机房采取区域隔离防火措施,布局要将脆弱区和危险区进行隔离,防止外部火灾进入机房,特别是重要设备地区,安装防火门、使用阻燃材料装修。机房及相关的工作房间和辅助房应采用具有耐火等级的建筑材料。
电磁辐射防护:电源线和通信线缆应隔离铺设,避免互相干扰。应对关键设备和磁介质实施电磁屏蔽。通信线采取屏蔽措施,防止外部电磁场对机房内计算机及设备的干扰,同时也抑制电磁信息的泄漏。应采用屏蔽效能良好屏蔽电缆作为机房的引入线。机房的信号电缆线(输入/输出)端口和电源线的进、出端口应适当加装滤波器。电缆连接处应采取屏蔽措施,抑制电磁噪声干扰与电磁信息泄漏。
供电系统:应设置冗余或并行的电力电缆线路为计算机系统供电。应建立备用供电系统。机房供电电源设备的容量应具有一定的余量。机房供电系统应将信息系统设备供电线路与其它供电线路分开,应配备应急照明装置。机房应配置电源保护装置,加装浪涌保护器。机房电源系统的所有接点均应镀锡处理,并且冷压连接。
静电防护:主机房内绝缘体的静电电位不应大于1kV。主机房内的导体应与大地作可靠的连接,不应有对地绝缘的孤立导体。
防雷电:机房系统中所有的设备和部件应安装在有防雷保护的范围内。不得在建筑物屋顶上敷设电源或信号线路。必须敷设时,应穿金属管进行屏蔽防护,金属管应进行等电位连接。机房系统电源及系统输入/输出信号线,应分不同层次,采用多级雷电防护措施。
机房接地:对直流工作接地有特殊要求需单独设置接地装置的系统,接地电阻值及其它接地体之间的距离,应按照机房系统及有关规范的要求确定。
温湿度控制:机房应有较完备的空调系统,保证机房温度的变化在计算机设备运行所允许的范围。当机房采用专用空调设备并与其它系统共享时,应保证空调效果和采取防火措施。机房空气调节控制装置应满足计算机系统对温度、湿度以及防尘的要求。空调系统应支持网络监控管理,通过统一监控,反映系统工作状况。
机房防水:机房水管安装不得穿过屋顶和活动地板,穿过墙壁和楼板的水管应使用套管,并采取可靠的密封措施。机房应有有效的防止给水、排水、雨水通过屋顶和墙壁漫溢和渗漏的措施,应采取措施防止机房内水蒸气结露和地下积水的转移与渗透。机房应安装漏水检测系统,并有报警装置。
入网访问控制是网络访问的第1层安全机制。它控制哪些用户能够登录到服务器并获准使用网络资源,控制准许用户入网的时间和位置。用户的入网访问控制通常分为三步执行:用户名的识别与验证;用户口令的识别与验证;用户账户的默认权限检查。三道控制关卡中只要任何一关未过,该用户便不能进入网络。
对网络用户的用户名和口令进行验证是防止非法访问的第一道关卡。用户登录时首先输入用户名和口令,服务器将验证所输入的用户名是否合法。用户的口令是用户入网的关键所在。口令最好是数字、字母和其他字符的组合,长度应不少于6个字符,必须经过加密。口令加密的方法很多,最常见的方法有基于单向函数的口令加密、基于测试模式的口令加密、基于公钥加密方案的口令加密、基于平方剩余的口令加密、基于多项式共享的口令加密、基于数字签名方案的口令加密等。经过各种方法加密的口令,即使是网络管理员也不能够得到。系统还可采用一次性用户口令,或使用如智能卡等便携式验证设施来验证用户的身份。
网络管理员应该可对用户账户的使用、用户访问网络的时间和方式进行控制和限制。用户名或用户账户是所有计算机系统中最基本的安全形式。用户账户应只有网络管理员才能建立。用户口令是用户访问网络所必须提交的准入证。用户应该可以修改自己的口令,网络管理员对口令的控制功能包括限制口令的最小长度、强制用户修改口令的时间间隔、口令的惟一性、口令过期失效后允许入网的宽限次数。针对用户登录时多次输入口令不正确的情况,系统应按照非法用户入侵对待并给出报警信息,同时应该能够对允许用户输入口令的次数给予限制。
用户名和口令通过验证之后,系统需要进一步对用户账户的默认权限进行检查。网络应能控制用户登录入网的位置、限制用户登录入网的时间、限制用户入网的主机数量。当交费网络的用户登录时,如果系统发现“资费”用尽,还应能对用户的操作进行限制。
操作权限控制是针对可能出现的网络非法操作而采取安全保护措施。用户和用户组被赋予一定的操作权限。网络管理员能够通过设置,指定用户和用户组可以访问网络中的哪些服务器和计算机,可以在服务器或计算机上操控哪些程序,访问哪些目录、子目录、文件和其他资源。网络管理员还应该可以根据访问权限将用户分为特殊用户、普通用户和审计用户,可以设定用户对可以访问的文件、目录、设备能够执行何种操作。特殊用户是指包括网络管理员的对网络、系统和应用软件服务有特权操作许可的用户;普通用户是指那些由网络管理员根据实际需要为其分配操作权限的用户;审计用户负责网络的安全控制与资源使用情况的审计。系统通常将操作权限控制策略,通过访问控制表来描述用户对网络资源的操作权限。
访问控制策略应该允许网络管理员控制用户对目录、文件、设备的操作。目录安全允许用户在目录一级的操作对目录中的所有文件和子目录都有效。用户还可进一步自行设置对目录下的子控制目录和文件的权限。对目录和文件的常规操作有:读取(Read)、写入(Write)、创建(Create)、删除(Delete)、修改(Modify)等。网络管理员应当为用户设置适当的操作权限,操作权限的有效组合可以让用户有效地完成工作,同时又能有效地控制用户对网络资源的访问。
访问控制策略还应该允许网络管理员在系统一级对文件、目录等指定访问属性。属性安全控制策略允许将设定的访问属性与网络服务器的文件、目录和网络设备联系起来。属性安全策略在操作权限安全策略的基础上,提供更进一步的网络安全保障。网络上的资源都应预先标出一组安全属性,用户对网络资源的操作权限对应一张访问控制表,属性安全控制级别高于用户操作权限设置级别。属性设置经常控制的权限包括:向文件或目录写入、文件复制、目录或文件删除、查看目录或文件、执行文件、隐含文件、共享文件或目录等。允许网络管理员在系统一级控制文件或目录等的访问属性,可以保护网络系统中重要的目录和文件,维持系统对普通用户的控制权,防止用户对目录和文件的误删除等操作。
网络系统允许在服务器控制台上执行一系列操作。用户通过控制台可以加载和卸载系统模块,可以安装和删除软件。网络服务器的安全控制包括可以设置口令锁定服务器控制台,以防止非法用户修改系统、删除重要信息或破坏数据。系统应该提供服务器登录限制、非法访问者检测等功能。
网络管理员应能够对网络实施监控。网络服务器应对用户访问网络资源的情况进行记录。对于非法的网络访问,服务器应以图形、文字或声音等形式报警,引起网络管理员的注意。对于不法分子试图进入网络的活动,网络服务器应能够自动记录这种活动的次数,当次数达到设定数值,该用户账户将被自动锁定。
防火墙是一种保护计算机网络安全的技术性措施,是用来阻止网络黑客进入企业内部网的屏障。防火墙分为专门设备构成的硬件防火墙和运行在服务器或计算机上的软件防火墙。无论哪一种,防火墙通常都安置在网络边界上,通过网络通信监控系统隔离内部网络和外部网络,以阻档来自外部网络的入侵。
域间安全策略用于控制域间流量的转发(此时称为转发策略),适用于接口加入不同安全区域的场景。域间安全策略按IP地址、时间段和服务(端口或协议类型)、用户等多种方式匹配流量,并对符合条件的流量进行包过滤控制(permit/deny)或高级的UTM应用层检测。域间安全策略也用于控制外界与设备本身的互访(此时称为本地策略),按IP地址、时间段和服务(端口或协议类型)等多种方式匹配流量,并对符合条件的流量进行包过滤控制(permit/deny),允许或拒绝与设备本身的互访。
缺省情况下域内数据流动不受限制,如果需要进行安全检查可以应用域内安全策略。与域间安全策略一样可以按IP地址、时间段和服务(端口或协议类型)、用户等多种方式匹配流量,然后对流量进行安全检查。例如:市场部和财务部都属于内网所在的安全区域Trust,可以正常互访。但是财务部是企业重要数据所在的部门,需要防止内部员工对服务器、PC等的恶意攻击。所以在域内应用安全策略进行IPS检测,阻断恶意员工的非法访问。
当接口未加入安全区域的情况下,通过接口包过滤控制接口接收和发送的IP报文,可以按IP地址、时间段和服务(端口或协议类型)等多种方式匹配流量并执行相应动作(permit/deny)。基于MAC地址的包过滤用来控制接口可以接收哪些以太网帧,可以按MAC地址、帧的协议类型和帧的优先级匹配流量并执行相应动作(permit/deny)。硬件包过滤是在特定的二层硬件接口卡上实现的,用来控制接口卡上的接口可以接收哪些流量。硬件包过滤直接通过硬件实现,所以过滤速度更快。
信息加密的目的是保护网内的数据、文件、口令和控制信息,保护网上传输的数据。网络加密常用的方法有链路加密、端点加密和节点加密三种。链路加密的目的是保护网络节点之间的链路信息安全;端-端加密的目的是对源端用户到目的端用户的数据提供保护;节点加密的目的是对源节点到目的节点之间的传输链路提供保护。用户可根据网络情况酌情选择上述加密方式。
信息加密过程是由形形色色的加密算法来具体实施,它以很小的代价提供很大的安全保护。在多数情况下,信息加密是保证信息机密性的唯一方法。据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。如果按照收发双方密钥是否相同来分类,可以将这些加密算法分为常规密码算法和公钥密码算法。
在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如Triple DES、GDES、New DES和DES的前身Lucifer; 欧洲的IDEA;日本的FEAL-N、LOKI-91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码。
常规密码的优点是有很强的保密强度,且经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,其密钥管理成为系统安全的重要因素。
在公钥密码中,收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导出解密密钥。比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe-Hellman、Rabin、Ong-Fiat-Shamir、零知识证明的算法、椭园曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。
公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂。加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。
当然在实际应用中人们通常将常规密码和公钥密码结合在一起使用,比如:利用DES或者IDEA来加密信息,而采用RSA来传递会话密钥。如果按照每次加密所处理的比特来分类,可以将加密算法分为序列密码和分组密码。前者每次只加密一个比特而后者则先将信息序列分组,每次处理一个组。
密码技术是网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。
应制定相应的机房管理制度,规范机房与各种设备的使用和管理,保障机房安全及设备的正常运行,至少包括日常管理、出入管理、设备管理、巡检(环境、设备状态、指示灯等进行检查并记录)等。重要区域应配置电子门禁系统,控制、鉴别和记录进入的人员。对机房内的各种介质应进行分类标识,重要介质存储在介质库或档案室中。
加强网络的安全管理,制定有关规章制度,对于确保系统的安全、可靠地运行,将起到十分有效的作用。网络的安全管理策略包括:确定安全管理等级和安全管理范围;制订有关网络操作使用规程和访问主机的管理制度;制订网络系统的维护制度和应急措施等。
可能是其它某些需要开放的端口你没有开放,下次再出现不能访问的情况之后,先在命令提示符下用netstat检查一下端口连接情况,保存下来,然后再禁用安全策略,再次用netstat检查,看看有什么区别。
1、防火墙
安装必要的防火墙,阻止各种扫描工具的试探和信息收集,甚至可以根据一些安全报告来阻止来自某些特定IP地址范围的机器连接,给服务器增加一个防护层,同时需要对防火墙内的网络环境进行调整,消除内部网络的安全隐患。
2、漏洞扫描
使用商用或免费的漏洞扫描和风险评估工具定期对服务器进行扫描,来发现潜在的安全问题,并确保由于升级或修改配置等正常的维护工作不会带来安全问题。
3、安全配置
关闭不必要的服务,最好是只提供所需服务,安装操作系统的最新补丁,将服务升级到最新版本并安装所有补丁,对根据服务提供者的安全建议进行配置等,这些措施将极大提供服务器本身的安全。
4、优化代码
优化网站代码,避免sql注入等攻击手段。检查网站漏洞,查找代码中可能出现的危险,经常对代码进行测试维护。
5、入侵检测系统
利用入侵检测系统的实时监控能力,发现正在进行的攻击行为及攻击前的试探行为,记录黑客的来源及攻击步骤和方法。
相关说明
网络安全性问题关系到未来网络应用的深入发展,它涉及安全策略、移动代码、指令保护、密码学、操作系统、软件工程和网络安全管理等内容。一般专用的内部网与公用的互联网的隔离主要使用“防火墙”技术。
与“防火墙”配合使用的安全技术还有数据加密技术。数据加密技术是为提高信息系统及数据的安全性和保密性,防止秘密数据被外部破坏所采用的主要技术手段之一。随着信息技术的发展,网络安全与信息保密日益引起人们的关注。
各国除了从法律上、管理上加强数据的安全保护外,从技术上分别在软件和硬件两方面采取措施,推动着数据加密技术和物理防范技术的不断发展。按作用不同,数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术4种。
-网络安全
默认情况下,Windows有很多端口是开放的,在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑。为了让你的系统变为铜墙铁壁,应该封闭这些端口,主要有:TCP 135、139、445、593、1025 端口和 UDP 135、137、138、445 端口,一些流行病毒的后门端口(如 TCP 2745、3127、6129 端口),以及远程服务访问端口3389。下面介绍如何在WinXP/2000/2003下关闭这些网络端口: 第一步,点击“开始”菜单/设置/控制面板/管理工具,双击打开“本地安全策略”,选中“IP 安全策略,在本地计算机”,在右边窗格的空白位置右击鼠标,弹出快捷菜单,选择“创建 IP 安全策略”(如右图),于是弹出一个向导。在向导中点击“下一步”按钮,为新的安全策略命名;再按“下一步”,则显示“安全通信请求”画面,在画面上把“激活默认相应规则”左边的钩去掉,点击“完成”按钮就创建了一个新的IP 安全策略。 第二步,右击该IP安全策略,在“属性”对话框中,把“使用添加向导”左边的钩去掉,然后单击“添加”按钮添加新的规则,随后弹出“新规则属性”对话框,在画面上点击“添加”按钮,弹出IP筛选器列表窗口;在列表中,首先把“使用添加向导”左边的钩去掉,然后再点击右边的“添加”按钮添加新的筛选器。 第三步,进入“筛选器属性”对话框,首先看到的是寻址,源地址选“任何 IP 地址”,目标地址选“我的 IP 地址”;点击“协议”选项卡,在“选择协议类型”的下拉列表中选择“TCP”,然后在“到此端口”下的文本框中输入“135”,点击“确定”按钮(如左图),这样就添加了一个屏蔽 TCP 135(RPC)端口的筛选器,它可以防止外界通过135端口连上你的电脑。 点击“确定”后回到筛选器列表的对话框,可以看到已经添加了一条策略,重复以上步骤继续添加 TCP 137、139、445、593 端口和 UDP 135、139、445 端口,为它们建立相应的筛选器。 重复以上步骤添加TCP 1025、2745、3127、6129、3389 端口的屏蔽策略,建立好上述端口的筛选器,最后点击“确定”按钮。 第四步,在“新规则属性”对话框中,选择“新 IP 筛选器列表”,然后点击其左边的圆圈上加一个点,表示已经激活,最后点击“筛选器操作”选项卡。在“筛选器操作”选项卡中,把“使用添加向导”左边的钩去掉,点击“添加”按钮,添加“阻止”操作(右图):在“新筛选器操作属性”的“安全措施”选项卡中,选择“阻止”,然后点击“确定”按钮。 第五步、进入“新规则属性”对话框,点击“新筛选器操作”,其左边的圆圈会加了一个点,表示已经激活,点击“关闭”按钮,关闭对话框;最后回到“新IP安全策略属性”对话框,在“新的IP筛选器列表”左边打钩,按“确定”按钮关闭对话框。在“本地安全策略”窗口,用鼠标右击新添加的 IP 安全策略,然后选择“指派”。 于是重新启动后,电脑中上述网络端口就被关闭了,病毒和黑客再也不能连上这些端口,从而保护了你的电脑。 1关闭135端口 使用Windows 2000或者XP的用户今天都被那个利用RPC服务漏洞的蠕虫病毒折腾的够戗吧,该病毒主要攻击手段就是扫描计算机的135端口来进行攻击,现在教大家一种手动关闭135端口的方法,虽然不能完全解决问题,但也是能解一时的燃眉之急。更新微软的补丁还是必要的。 用一款16为编辑软件(推荐UltraEdit)打开你系统x:winntsystem32或者x:windowssystem32下的rpcssdll文件。 查找31 00 33 00 35替换为30 00 30 00 30 查找3100330035,将其替换为3000300030,意思就是将135端口改为000。 至此修改的任务已经完成,下面将面临一个保存的问题。因为该文件正在运行,在Windows环境下是不能覆盖的。如果你是FAT32文件系统,那么直接引导进DOS环境,将修改好的文件覆盖掉原来的文件。 如果是NTFS格式,相对就麻烦一些。进安全模式。然后启动pulist列出进程,然后用pskill这个程序(不少黑客网站有的下)杀掉svchostexe程序。然后在COPY过去。 覆盖后重新启动,使用netstat -an命令,可以看到Windows 2000下已经没有135端口了。XP系统下还有TCP的135,但是UDP里面已经没有135端口了。 2关闭445端口 关闭445端口的方法有很多,但是我比较推荐以下这种方法: 修改注册表,添加一个键值 Hive: HKEY_LOCAL_MACHINE Key: System\CurrentControlSet\Services\NetBT\Parameters Name: SMBDeviceEnabled Type: REG_DWORD Value: 0 修改完后重启机器,运行“netstat -an”,你将会发现你的445端口已经不再Listening了。
1如何关闭Windows 2000下的445端口?
修改注册表,添加一个键值
Hive: HKEY_LOCAL_MACHINE
Key: System/Controlset/Services/NetBT/Parameters
Name: SMBDeviceEnabled
Type: REG_DWORD
value: 0
修改完后重启机器,运行“netstat -an”,你将会发现你的445端口已经不再Listening了。
2如何使用IPSec保护我的网络通信?
IPSec 术语
在执行以下指导步骤之前,确保您知道以下术语的含义:
身份验证:确定计算机的身份是否合法的过程。Windows 2000 IPSec 支持三种身份验证:Kerberos、证书和预共享密钥。只有当两个终结点(计算机)都位于同一个 Windows 2000 域时,Kerberos 身份验证才有效。这种类型的身份验证是首选方法。如果计算机位于不同的域中,或者至少有一台计算机不在某个域中,则必须使用证书或预共享密钥。只有当每个终结点中包含一个由另一个终结点信任的颁发机构签署的证书时,证书才有效。预共享密钥与密码有着相同的问题。它们不会在很长的时间段内保持机密性。如果终结点不在同一个域中,并且无法获得证书,则预共享密钥是唯一的身份验证选择。
加密:使准备在两个终结点之间传输的数据难以辨认的过程。通过使用充分测试的算法,每个终结点都创建和交换密钥。该过程确保只有这些终结点知道密钥,而且如果任何密钥交换序列被拦截,拦截者不会得到任何有价值的内容。
筛选器:对 Internet 协议 (IP) 地址和协议的描述,可触发 IPSec 安全关联的建立。
筛选器操作:安全要求,可在通信与筛选器列表中的筛选器相匹配时启用。
筛选器列表:筛选器的集合。
Internet 协议安全策略:规则集合,描述计算机之间的通讯是如何得到保护的。
规则:筛选器列表和筛选器操作之间的链接。当通信与筛选器列表匹配时,可触发相应的筛选器操作。IPSec 策略可包含多个规则。
安全关联:终结点为建立安全会话而协商的身份验证与加密方法的集合。
在 Microsoft 管理控制台中查找 IPSec
通过使用 Microsoft 管理控制台 (MMC) 配置 IPSec。Windows 2000 在安装过程中创建一个带有 IPSec 管理单元的 MMC。若要查找 IPSec,请单击开始,指向程序,单击管理工具,然后单击本地安全策略。在打开的 MMC 中的左窗格中,单击本地计算机上的 IP 安全策略。MMC 将在右窗格中显示现有的默认策略。
更改 IP 地址、计算机名和用户名
为了此示例的目的,假设 Alice 是一个计算机用户,该计算机名为"Alicepc"、IP 地址为 1721698231,Bob 的计算机名为"Bobslap",IP 地址为 1723167244。他们使用 Abczz 程序连接他们的计算机。
通过使用 Abczz 程序互相连接时,Alice 和 Bob 必须确保通信是被加密的。当 Abczz 建立其连接时,启动程序使用其本身上的随机高端口并连接(出于本示例中的目的)到 6667/TCP 或 6668/TCP 端口上的目标(其中,TCP 是"传输控制协议"的缩写)。通常,这些端口用作 Internet 多线交谈 (IRC)。因为 Alice 或 Bob 均可发起连接,所以该策略必须存在于两端。
创建筛选器列表
通过在 MMC 控制台中右键单击 IP 安全策略,可访问用于创建 IPSec 策略的菜单。第一个菜单项是"创建 IP 安全策略"。尽管此菜单似乎是要开始的位置,但却不应从此位置开始。在可创建策略及其相关规则之前,您需要定义筛选器列表和筛选器操作,它们是任何 IPSec 策略的必需组件。单击管理 IP 筛选器表和筛选器操作开始工作。
将显示带有两个选项卡的对话框:一个用于筛选器列表,另一个用于筛选器操作。首先,打开管理 IP 筛选器列表选项卡。已经有两个预先定义的筛选器列表,您不会使用它们。相反,您可以创建一个特定的筛选器列表,使其与要连接到的其他计算机对应。
假设您在 Alice 的计算机上创建策略:
单击添加创建新的筛选器列表。将该列表命名为"Abczz to Bob's PC"。
单击添加添加新筛选器。将启动一个向导。
单击我的 IP 地址作为源地址。
单击一个特定的 IP 地址作为目标地址,然后输入 Bob 的计算机的 IP 地址 (1723167244)。或者,如果 Bob 的计算机已在域名系统 (DNS) 或 Windows Internet 名称服务 (WINS) 中注册,则可选择特定的 DNS 名,然后输入 Bob 的计算机名,Bobslap。
Abczz 使用 TCP 进行通讯,因此单击 TCP 作为协议类型。
对于 IP 协议端口,单击从任意端口。单击到此端口,键入:6667,然后单击完成完成该向导。
重复上述步骤,但这次键入:6668作为端口号,然后单击关闭。
您的筛选器列表中包含两个筛选器:一个在端口 6667 (属于 Bob)上用于从 Alice 到 Bob 的通讯,另一个在端口 6668 (属于 Bob)上。(Bob 在自己的计算机上设置了 6667 和 6668 两个端口:一个端口用于传出的通讯,另一个用于传入的通讯。)这些筛选器是镜像的,每次创建 IPSec 筛选器时通常都需要如此。对于已镜像的每个筛选器,该列表可包含(但不显示)与其正好相反的筛选器(即目标和源地址与其相反的筛选器)。如果没有镜像筛选器,IPSec 通讯通常不成功。
创建筛选器操作
您已经定义了必须受到保护的通信的种类。现在,您必须指定安全机制。单击管理筛选器操作选项卡。列出三个默认操作。不要使用要求安全操作,您必须创建一个更严格的新操作。
若要创建新操作,请:
单击添加创建新筛选器操作。启动一个向导。将该操作命名为"Encrypt Abczz"。
对于常规选项,单击协商安全,然后单击不和不支持 IPsec 的计算机通讯。
单击 IP 通信安全性为高选项,然后单击完成以关闭该向导。
双击新的筛选器操作(前面命名的"Encrypt Abczz")。
单击清除接受不安全的通讯,但总是用 IPSec 响应复选框。这一步骤确保计算机在发送 Abczz 数据包之前必须协商 IPSec。
单击会话密钥完全向前保密以确保不重新使用密钥资料,单击确定,然后单击关闭。
创建 IPSec 策略
您已经获得了策略元素。现在,您可以创建策略本身了。右键单击 MMC 的右窗格,然后单击创建 IP 安全策略。当向导启动时:
将该策略命名为"Alice's IPSec"。
单击清除激活默认响应规则复选框。
单击编辑属性(如果未选中的话),然后完成该向导。该策略的属性对话框将打开。
为使 IPSec 策略有效,它必须至少包含一个将筛选器列表链接到筛选器操作的规则。
若要在属性对话框中指定规则,请:
单击添加以创建新规则。启动向导后,单击此规则不指定隧道。
单击局域网 (LAN) 作为网络类型。
如果 Alice 和 Bob 的计算机位于同一个 Windows 2000 域中,单击 Windows 2000 默认值(Kerberos V5 协议)作为身份验证方法。如果不在一个域中,则单击使用此字串来保护密钥交换(预共享密钥),然后输入字符串(使用您可记住的长字符串,不要有任何键入错误)。
选择前面创建的筛选器列表。在此示例中,该筛选器列表为"Abczz to Bob's PC"。然后,选择前面创建的筛选器操作。在此示例中,该筛选器操作为"Encrypt Abczz"。
完成该向导,然后单击关闭。
配置其他终结点
在 Bob 的计算机上重复上述应用于 Alice 的计算机的所有步骤。显然要进行一些必要的更改,例如,"Abczz to Bob's PC"必须更改为"Abczz to Alice's PC"。
指派策略
您已经在两个端点上定义了策略。现在,必须指派它们:
在本地安全设置 MMC 中,右键单击策略(在此示例中为 Abczz )。
单击指派。
一次只能指派一个 IPSec 策略,但是一个策略可根据需要拥有多个规则。例如,如果 Alice 还需要通过使用不同的协议保护与 Eve 的通讯,则您必须创建相应的筛选器列表和操作,并向 IPSec (属于 Alice)添加一个规则,以便将特定的筛选器列表和筛选器操作链接起来。单击为此规则使用不同的共享密钥。Alice 的策略现在有两个规则:一个用于与 Bob 进行 Abczz 通讯,另一个用于与 Eve 进行通讯。因为 Bob 和 Eve 无需安全地互相通讯,所以 Bob 的策略中未添加任何规则,Eve 的策略中包含一个用于与 Alice 进行通讯的规则。
疑难解答
使用 IPSecMon 测试策略
Windows 2000 包括一个实用程序 (IPSecMonexe),它可用于测试 IPSec 安全关联是否已成功建立。若要启动 IPSecMon,请:
单击开始,然后单击运行。
键入:ipsecmon,然后按 ENTER 键。
单击选项。
将刷新间隔更改为 1。
必须在不同终结点之间建立通讯。可能会有一个延迟,这是由于终结点需要几秒钟时间来交换加密信息并完成安全关联。可在 IPSecMon 中观察此行为。当这两个终结点都建立了它们的安全关联,可在 IPSecMon 中观察到显示此行为的条目。
如果期望的安全协商没有建立,则返回并检查每个终结点上的筛选器列表。在您方便地将源地址和目标地址或端口反向时,确保已经收到所使用协议的正确定义。您可能要考虑创建一个指定所有通信的新筛选器列表。同样,可向使用此筛选器列表的策略添加一个新规则,然后禁用现有的规则。在两个终结点上执行这些步骤。然后,可使用 ping 命令测试连接性。ping 命令在安全关联阶段可显示"Negotiating IP security"(正在协商 IP 安全),然后显示建立安全关联之后的正常结果。
NAT 与 IPSec 不兼容
如果在两个终结点之间有任何网络地址转换 (NAT),则 IPSec 不起作用。IPSec 将终结点地址作为有效负载的一部分嵌入。在将数据包发送到电缆上之前进行数据包校验和计算时,IPSec 也使用源地址。NAT 可更改出站数据包的源地址,目标在计算自己的校验和时使用头中的地址。如果数据包中携带的用初始来源计算的校验和与用目标计算的校验和不符,则目标可丢弃这些数据包。不能将 IPSec 用于任何类型的 NAT 设备。
参考
有关 Windows 2000 中 IPSec 的白皮书和详细的技术信息,请参阅以下 Microsoft Web 站点:
http://wwwmicrosoftcom/windows2000/technologies/security/defaultasp
3如何更改Terminal Server的端口
该修改需要在服务器端和客户端同时修改,如果不知道该服务器的端口号,客户端将无法连接服务器。
服务器端的修改:
Key: HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server/Wds/rdpwd/Tds/tcp
Name: PortNumber
Type: DWORD
Valus:任意值
Key: HKLME/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp
Name: PortNumber
Type: DWORD
value:和上面值一致
注:需重启后生效。
然后我们修改客户端,打开Terminal Server Client的客户端管理器,导出连接文件(后缀名为cns),用记事本打开该cns文件,搜索"Server Port",修改该值,与服务器保持一致即可(注意进制的转换)。最后导入该cns文件至Terminal Server的客户端管理器。
4如何禁止Guest访问事件日志?
在默认安装的Windows NT和Windows 2000中,Guest帐号和匿名用户可以查看系统的事件日志,可能导致许多重要信息的泄漏,建议修改注册表来禁止Guest访问事件日志。
应用日志:
Key: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application
Name: RestrictGuestAccess
Type: DWORD
value: 1
系统日志:
Key: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/System
Name: RestrictGuestAccess
Type: DWORD
value: 1
安全日志:
Key: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Security
Name: RestrictGuestAccess
Type: DWORD
value: 1
5如何删除管理共享(C$,D$)?
我们可以用Net Share命令来删除,但是机器重启后这个共享会自动出现,这时,我们可以修改注册表。
对于服务器而言:
Key: HKLM/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters
Name: AutoShareServer
Type: DWORD
value: 0
对于工作站而言:
Key: HKLM/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters
Name: AutoShareWks
Type: DWORD
value: 0
修改注册表后需要重启Server服务或重新启动机器。
注:这些键值在默认情况下在主机上是不存在的,需要自己手动添加。
6如何禁止恶意用户使用FileSystemObject?
常见的有3种方法:
1、修改注册表,将FileSystemObject改成一个任意的名字,只有知道该名字的用户才可以创建该对象,
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{0D43FE01-F093-11CF-8940-00A0C9054228}/ProgID]
@="ScriptingFileSystemObject"
2、运行Regsvr32 scrrundll /u,所有用户无法创建FileSystemObject。
3、运行cacls %systemroot%/system32/scrrundll /d guests,匿名用户(包括IUSR_Machinename用户)无法使用FileSystemObject,我们可以对ASP文件或者脚本文件设置NTFS权限,通过验证的非Guests组用户可以使用FileSystemObject。
7如何禁止显示上次登陆的用户名?
我们可以通过修改注册表来实现:
Key: HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Winlogon
Name: DontDisplayLastUserName
Type: REG_DWORD
value: 1
8如何禁止匿名用户连接你的IPC$共享?
我们可以通过修改注册表来实现
Key:HKLM/SYSTEM/CurrentControlSet/Control/Lsa
Name: RestrictAnonymous
Type: REG_DWORD
value: 1 | 2
说明:把该值设为1时,匿名用户无法列举主机用户列表;
把该值设为2时,匿名用户无法连接你的IPS$共享,不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server
0条评论