第二章 Windows系统安全加固Windows Server 2003操作系统,具有高性能、高可靠性和高安全性等特点。
Windows Server 2003在默认安装的时候,基于安全的考虑已经实施了很多安全策略,但由于服务器操作系统的特殊性,在默认安装完成后还需要张先生对其进行安全加固,进一步提升服务器操作系统的安全性,保证应用系统以及数据库系统的安全。
在安装Windows Server 2003操作系统时,为了提高系统的安全性,张先生按系统建议,采用最小化方式安装,只安装网络服务所必需的组件。
如果以后有新的服务需求,再安装相应的服务组件,并及时进行安全设置。
在完成操作系统安装全过程后,要对Windows系统安全性方面进行加固,系统加固工作主要包括账户安全配置、密码安全配置、系统安全配置、服务安全配置以及禁用注册表编辑器等内容,从而使得操作系统变得更加安全可靠,为以后的工作提供一个良好的环境平台。
操作系统的安全是整个计算机系统安全的基础,其安全问题日益引起人们的高度重视。
作为用户使用计算机和网络资源的操作界面,操作系统发挥着十分重要的作用。
因此,操作系统本身的安全就成了安全防护的头等大事。
一、操作系统安全的概念操作系统的安全防护研究通常包括以下几个方面的内容:(1)操作系统本身提供的安全功能和安全服务。
目前的操作系统本身往往要提供一定的访问控制、认证与授权等方面的安全服务,如何对操作系统本身的安全性能进行研究和开发使之符合选定的环境和需求;(2)针对各种常用的操作系统,进行相关配置,使之能正确对付和防御各种入侵;(3)保证操作系统本身所提供的网络服务能得到安全配置。
一般来说,如果说一个计算机系统是安全的,那么是指该系统能够控制外部对系统信息的访问。
也就是说,只有经过授权的用户或代表该用户运行的进程才能读、写、创建或删除信息。
操作系统内的活动都可以认为是主体对计算机系统内部所有客体的一系列操作。
主体是指发出访问操作、存取请求的主动方,它包括用户、用户组、主机、终端或应用进程等。
主体可以访问客体。
客体是指被调用的程序或要存取的数据访问,它包括文件、程序、内存、目录、队列、进程间报文、I/O设备和物理介质等。
主体对客体的安全访问策略是一套规则,可用于确定一个主体是否对客体拥有访问能力。
一般所说的操作系统的安全通常包含两方面的含义:①操作系统在设计时通过权限访问控制、信息加密性保护、完整性鉴定等机制实现的安全;②操作系统在使用中,通过一系列的配置,保证操作系统避免由于实现时的缺陷或是应用环境因素产生的不安全因素。
只有在这两方面同时努力,才能够最大可能地建立安全的操作系统。
二、服务与端口我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。
那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。
实际上是通过“IP地址+端口号”来区分不同的服务的。
我们来打个形象的比喻: 假设IP地址是一栋大楼的地址,那么端口号就代表着这栋大楼的不同房间。
如果一封信(数据包)上的地址仅包含了这栋大楼的地址(IP)而没有具体的房间号(端口号),那么没有人知道谁(网络服务)应该去接收它。
为了让邮递成功,发信人不仅需要写明大楼的地址(IP地址),还需要标注具体的收信人房间号(端口号),这样这封信才能被顺利地投递到它应该前往的房间。
端口是计算机与外界通讯的渠道,它们就像一道道门一样控制着数据与指令的传输。
各类数据包在最终封包时都会加入端口信息,以便在数据包接收后拆包识别。
我们知道,许多蠕虫病毒正是利用了端口信息才能实现恶意骚扰的。
所以,对于原本脆弱的Windows系统来说,有必要把一些危险而又不常用到的端口关闭或是封锁,以保证网络安全。
同样的,面对网络攻击时,端口对于黑客来说至关重要。
每一项服务都对应相应的端口号,比如我们浏览网页时,需要服务器提供WWW服务,端口号是80,SMTP服务的端口号是25,FTP服务的端口号是21,如果企业中的服务器仅仅是文件服务或者做内网交换,应关闭不必要的端口,因为在关闭这些端口后,可以进一步保障系统的安全。
我们知道,在 TCP和 UDP协议中,源端口和目标端口是用一个16位无符号整数来表示的,这就意味着端口号共有65536个(=216,0~65535)。
按对应的协议类型,端口有两种:TCP端口和UDP端口。
由于TCP和UDP 两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也可以有235端口,两者并不冲突。
IETF定义了以下三种端口组:(1)公认端口(Well-Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。
通常这些端口的通讯明确表明了某种服务的协议。
例如:80端口实际上总是HTTP通讯。
(2)注册端口(Registered Ports):从1024到49151。
它们松散地绑定于一些服务。
也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。
例如:许多系统处理动态端口从1024左右开始。
(3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。
理论上,不应为服务分配这些端口。
实际上,机器通常从1024起分配动态端口。
但也有例外:SUN的RPC端口从32768开始。
管理好端口号在网络安全中有着非常重要的意义,黑客往往通过探测目标主机开启的端口号进行攻击。
所以,对那些没有用到的端口号,最好将它们关闭。
一个通信连接中,源端口与目标端口并不是相同的,如客户机访问WWW服务器时,WWW服务器使用的是80端口,而客户端的端口则是系统动态分配的大于1023的随机端口。
开启的端口可能被攻击者利用,如利用扫描软件,可以扫描到目标主机中开启的端口及服务,因为提供服务就有可能存在漏洞。
入侵者通常会用扫描软件对对目标主机的端口进行扫描,以确定哪些端口是开放的。
从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而寻找可能存在的漏洞。
因此对端口的扫描有助于了解目标主机,从管理角度来看,扫描本机的端口也是做好安全防范的前提。
查看端口的相关工具有:Windows系统中的netstat命令、fport软件、activeport软件、superscan 软件、Visual Sniffer软件等,此类命令或软件可用来查看主机所开放的端口。
可以在网上查看各种服务对应的端口号和木马后门常用端口来判断系统中的可疑端口中,并通过软件查看开启此端口的进程。
确定可疑端口和进程后,可以利用防火墙来屏蔽此端口,也可以通过选择本地连接→TCP/IP→高级→选项→TCP/IP筛选,启用筛选机制来过滤这些端口;对于Windows系统主机,如不对外提供服务也可以进行过滤设置。
对于网络中的普通客户计算机,可以限制对外的所有的端口,不必对外提供任何服务;而对于服务器,则把需要提供服务的端口,如WWW服务端口80等开放,不使用的其他端口则全部关闭。
可以利用端口查看工具检查开启的非业务端口。
关闭端口的方法非常简单,在“控制面板”→“管理工具”→“服务”中即可配置。
一些端口常常会被攻击者或病毒木马所利用,如端口21、22、23、25、80、110、111、119、135、137、138、139、161、177、389、3389等。
关于常见木马程序所使用的端口可以在网上查找到。
这里重点说说139端口,139端口也就是NetBIOS Session端口,用作文件和打印的共享。
关闭139端口的方法是在“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”,在“WINS”选项卡中,有一“禁用TCP/IP的NETBIOS”选项,选中后即可关闭139端口。
为什么要关闭139端口呢?这里涉及一个139端口入侵的问题。
如果黑客确定一台存在139端口漏洞的主机,用扫描工具扫描,然后使用“nbtstat -a IP”命令得到用户的情况,最后完成非法访问的操作。
三、组策略组策略和注册表,是Windows系统中重要的两部控制台。
对于系统中安全方面的部署,组策略又以其直观化的表现形式更受用户青睐。
我们可以通过组策略禁止第三方非法更改地址,也可以禁止别人随意修改防火墙配置参数,更可以提高共享密码强度免遭其被破解。
比如,在一个特定网络环境中,如果部分用户共同使用相同的一台工作站进行网络访问时,安全隐患就显露出来、倘若我们没有划定安全的上网区域,那样会造成工作站的权限紊乱,从而带来系统危机。
轻者造成系统瘫痪,重者则可遭受远程入侵,损失宝贵资料。
所以,为了保护本地网络以及本地工作站的安全,我们可以尝试在公共计算机系统中,通过设置组策略的方法为普通用户界定安全上网区域,强制进入系统的用户只能在设定内的安全区域中上网冲浪。
由于组策略有着直观的名字和功能解释,所以应用上比较简单,对于管理员和终端用户都非常方便,但它的功能远没有限制起来那样简单,我们可以将它作为一种安全保护跟踪工具。
比如,可以利用组策略寻找共享目录访问痕迹。
这对于局域网内的用户监测来说非常重要。
因为在网络内部,一旦出现非法用户,大多与共享入侵和访问共享资源有关,此时查询共享目录的访问信息就可以追踪求源,查到真凶。
打开组策略后在左侧列表区域中的“‘本地计算机’策略”→“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“审核策略”选项,在“审核策略”中找到“审核对象访问”,选中属性界面中的“失败”、“成功”选项,以后出现问题时就能有针对性地进入系统安全日志文件,来查看相关事件记录。
四、账户与密码安全账户与密码的使用通常是许多系统预设的防护措施。
事实上,有许多用户的密码是很容易被猜中的,或者使用系统预设的密码、甚至不设密码。
用户应该要避免使用不当的密码、系统预设密码或是使用空白密码,也可以配置本地安全策略要求密码符合安全性要求。
五、漏洞与后门1、漏洞漏洞即某个程序(包括操作系统)在设计时未考虑周全,当程序遇到一个看似合理,但实际无法处理的问题时,引发的不可预见的错误。
系统漏洞又称安全缺陷,对用户造成的不良后果有:①如漏洞被恶意用户利用,会造成信息泄漏。
例如,黑客攻击网站即利用网络服务器操作系统的漏洞;②对用户操作造成不便。
例如,不明原因的死机和丢失文件等。
可见,仅有堵住系统漏洞,用户才会有一个安全和稳定的工作环境。
漏洞的产生大致有以下3个原因:①编程人员的人为因素。
在程序编写过程中,为实现不可告人的目的,在程序代码的隐蔽处留有后门。
②受编程人员的能力、经验和当时安全技术所限,在程序中难免会有不足之处,轻则影响程序效率,重则导致非授权用户的权限提升。