Windows系统的安全加固
一、操作系统安全隐患分析
(一)安装隐患
在一台服务器上安装Windows 2003 Server操作系统时,主要存在以下隐患:
1、将服务器接入网络内安装。Windows2000 Server操作系统在安装时存在一个安全漏洞,当输入Administrator密码后,系统就自动建立了ADMIN$的共享,但是并没有用刚刚输入的密码来保护它,这种情况一直持续到再次启动后,在此期间,任何人都可以通过ADMIN$进入这台机器;同时,只要安装一结束,各种服务就会自动运行,而这时的服务器是满身漏洞,计算机病毒非常容易侵入。因此,将服务器接入网络内安装是非常错误的。
2、操作系统与应用系统共用一个磁盘分区。在安装操作系统时,将操作系统与应用系统安装在同一个磁盘分区,会导致一旦操作系统文件泄露时,攻击者可以通过操作系统漏洞获取应用系统的访问权限,从而影响应用系统的安全运行。
3、采用FAT32文件格式安装。FAT32文件格式不能限制用户对文件的访问,这样可以导致系统的不安全。
安装程序无法创建新的系统分区 4、采用缺省安装。缺省安装操作系统时,会自动安装一些有安全隐患的组件,如:IIS、DHCP、DNS等,导致系统在安装后存在安全漏洞。
5、系统补丁安装不及时不全面。在系统安装完成后,不及时安装系统补丁程序,导致病毒侵入。
(二)运行隐患
在系统运行过程中,主要存在以下隐患:
1、默认共享。系统在运行后,会自动创建一些隐藏的共享。一是C$ D$ E$ 每个分区的根共享目录。二是ADMIN$ 远程管理用的共享目录。三是IPC$ 空连接。四是NetLogon共享。五是其它系统默认共享,如:FAX$、PRINT$共享等。这些默认共享给系统的安全运行带来了很大的隐患。
2、默认服务。系统在运行后,自动启动了许多有安全隐患的服务,如:Telnet services、DHCP Client、DNS Client、Print spooler、Remote Registry services(选程修改注册表服务)、SNMP Services 、Terminal Services 等。这些服务在实际工作中如不需要,可以禁用。
3、安全策略。系统运行后,默认情况下,系统的安全策略是不启作用的,这降低了系统的运行安全性。
4、管理员帐号。系统在运行后,Administrator用户的帐号是不能被停用的,这意味着攻击者可以一遍又一遍的尝试猜测这个账号的口令。此外,设置简单的用户帐号口令也给系统的运行带来了隐患。
5、页面文件。页面文件是用来存储没有装入内存的程序和数据文件部分的隐藏文件。页面文件中可能含有一些敏感的资料,有可能造成系统信息的泄露。
6、共享文件。默认状态下,每个人对新创建的文件共享都拥有完全控制权限,这是非常危险的,应严格限制用户对共享文件的访问。
7、Dump文件。Dump文件在系统崩溃和蓝屏的时候是一份很有用的查问题的资料。然而,它也能够给攻击者提供一些敏感信息,比如一些应用程序的口令等,造成信息泄露。
8、WEB服务。系统本身自带的IIS服务、FTP服务存在安全隐患,容易导致系统被攻击。
二、操作系统安全隐患对策
(一)安装对策
在进行系统安装时,采取以下对策:
1、在完全安装、配置好操作系统,给系统全部安装系统补丁之前,一定不要把机器接入网络。
2、在安装操作系统时,建议至少分三个磁盘分区。第一个分区用来安装操作系统,第二分区存放IIS、FTP和各种应用程序,第三个分区存放重要的数据和日志文件。
3、采用NTFS文件格式安装操作系统,可以保证文件的安全,控制用户对文件的访问权限。
4、在安装系统组件时,不要采用缺省安装,删除系统缺省选中的IIS、DHCP、DNS等服务。
5、在安装完操作系统后,应先安装在其上面的应用系统,后安装系统补丁。安装系统补丁一定要全面。
6、做系统的ghost以备还原。
(二)运行对策
在系统运行时,采取以下对策:
1、加强对Administrator帐号和Guest帐号的管理监控
将Administrator帐号重新命名,创建一个陷阱账号,名为"Administrator",口令为10位以上的复杂口令,其权限设置成最低,即:将其设为不隶属于任何一个组,并通过安全审核,借此发现攻击者的入侵企图。设置2个管理员用账号,一个具有一般权限,用来处理一些日常事物;另一个具有Administrators 权限,只在需要的时候使用。修改Guest用户口令为复杂口令,并禁用GUEST用户帐号。
2、关闭系统默认共享
Windows Server2003安装好后,系统会创建一些隐藏的共享,可以在CMD下键入"net share"查看。通常我们并不需要这样的共享方式,以下方法可以禁止或删除这些共享以确保安全。
2.1批处理自启动法
打开记事本,输入或复制以下内容:
@echo off
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete
net share e$ /delete
……(你有几个硬盘分区就写几行这样的命令,此行切勿复制。)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete
net share e$ /delete
……(你有几个硬盘分区就写几行这样的命令,此行切勿复制。)
保存为NotShare.bat(注意后缀!)存放到系统文件夹下System32/GroupPolicy/Users/Scripts/Logon目录下,运行----gpedit.msc----用户配置----Windows设置----脚本(登录/注销)----登录,在"登录属性"窗口单击"添加",会出现"添加脚本"对话框,"脚本名"选择文件"NotShare.bat",并确定。这样每次开机就会运行它,也就是通过net命令关闭共享。如果哪一天你需要开启某个或某些共享,只要重新编辑这个批处理文件即可(把相应的那个命令行删掉)。
2.2注册表改键值法
"开始"→"运行"输入"regedit"确定后,打开注册表编辑器,到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters"项,双击右侧窗口中的"AutoShareServer"项将键值由1改为0,这样就能关闭硬盘各分区的共享。如果没有AutoShareServer项,可自己新建一个再改键值。然后还是在这一窗口下再到"AutoShareWks"项,也把键值由1改为0,关闭admin$共享。最后到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa"项处到"restrictanonymous",将键值设为1,关闭IPC$共享。
注意:本法必须重启机器,但一经改动就会永远停止共享。
2.3停止服务法
在"计算机管理"窗口中,单击展开左侧的"服务和应用程序"并选中其中的"服务",此时右侧就列出了所有服务项目。共享服务对应的名称是"Server"(在进程中的名称为services),到后双击它,在弹出的"常规"标签中把"启动类型"由原来的"自动"更改为"已禁用"。然后单击下面"服务状态"的"停止"按钮,再确认一下就OK了。
2.4卸载"文件和打印机共享"法
右击"网上邻居"选"属性",在弹出的"网络和拨号连接"窗口中右击"本地连接"选"属性",从"此连接使用下列选定的组件"中选中"Microsoft网络的文件和打印机共享"后,单击下面的"卸载"按钮并确认一下。
右击"网上邻居"选"属性",在弹出的"网络和拨号连接"窗口中右击"本地连接"选"属性",从"此连接使用下列选定的组件"中选中"Microsoft网络的文件和打印机共享"后,单击下面的"卸载"按钮并确认一下。
注意:本方法最大的缺陷是当你在某个文件夹上右击时,弹出的快捷菜单中的"共享"一项消失了,因为对应的功能服务已经被卸载掉了!
虽然 " 文件和打印共享 " 关闭了,但是还不能确保安全,还要修改注册表,禁止它人更改 "
文件和打印共享 " 。打开注册表编辑器,选择 "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NetWork" 主键,在该主键下新建 DWORD 类型的键值,键值名为 "NoFileSharingControl" ,键值设为 "1" 表示禁止这项功能,从而达到禁止更改 " 文件和打印共享 " 的目的;键值为 "0" 表示允许这项功能。这样在 " 网络邻居 " 的 " 属性 " 对话框中 " 文件和打印共享 " 就不复存在了。
2.5软件法
当今许多杀毒软件或防火墙中都设计有"系统漏洞扫描功能",它们在扫描后的恢复功能往往有"关闭默认共享"的功能,如"瑞星"杀毒软件及防火墙,我们在安装好这些杀毒软件后,只要记得运行"漏洞扫描、恢复"即可。
3、设置远程可访问的注册表路径为空
将远程可访问的注册表路径设置为空,这样可以有效防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息。
打开组策略编辑器,依次展开"计算机配置→Windows设置→安全设置→安全选项",在右侧窗口中到"网络访问:可远程访问的注册表路径"及"网络访问:可远程访问的注册表路径和子路径",然后在打开的如图所的窗口中,将可远程访问的注册表路径和子路径内容全部删除。
4、开启防火墙,选择开放端口
查看端口:在windows 2000/xp/server 2003中要查看端口,可以使用netstat命令:
依次点击"开始→运行",键入"cmd"并回车,打开命令提示符窗口。在命令提示符状态下键入"netstat -a -n",按下回车键后就可以看到以数字形式显示的tcp和udp连接的端口号及状态。
netstat命令用法
命令格式:netstat -a -e -n -o -s
命令格式:netstat -a -e -n -o -s
∙ -a 表示显示所有活动的tcp连接以及计算机监听的tcp和udp端口。
∙ -e 表示显示以太网发送和接收的字节数、数据包数等。
∙ -n 表示只以数字形式显示所有活动的tcp连接的地址和端口号。
∙ -o 表示显示活动的tcp连接并包括每个连接的进程id(pid)。
∙ -s 表示按协议显示各种连接的统计信息,包括端口号。
5、建立安全日志,并将安全日志移位。----可以使服务器在受到恶意攻击后保留可靠的证据。
5.1自动备份安全日志
对于启用了安全审核策略的服务器,日常产生的审核日志记录都会写入到安全事件日志中,因此安全日志文件大小上限需要适当调大(因为事件日志使用的是内存缓存空间,因此也不能任意调大,通常250M以下是比较安全的),另外我们可以使用如下方法设定安全日志的自动备份:
∙ 在服务器上使用管理员身份登录后, 运行regedit打开注册表编辑器;
∙ 在以下路径创建DWORD值AutoBackupLogFiles并设置其值为1;HKEY_LOCAL_MACHINE
\SYSTEM\CurrentControlSet\Services\EventLog\Security
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论