第3章操作系统的安全配置 学习目标:  掌握Linux 操作系统的设置。  掌握Windows 2008 Server操作系统的设置。 目前服务器常用的操作系统有三类: UNIX、Linux和Windows系列。这些操作系统都是符合C2级安全级别的操作系统,但是都存在不少漏洞,如果对这些漏洞不了解,不采取相应的安全措施,就会使操作系统完全暴露给入侵者。 3.1Linux 操作系统 3.1.1Linux 操作系统介绍 Linux是一套可以免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的UNIX兼容产品。Linux始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目标是想设计一个代替Minix(由一位名叫Andrew Tannebaum的计算机教授编写的一个免费操作系统)的操作系统。这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有UNIX操作系统的全部功能。Linux是一个免费的操作系统,用户可以免费获得其源代码,并能够随意修改。 例如,搜索ls命令源码,源代码包的文件为coreutils,可以通过命令查找,获取源代码的步骤如下(以Ubuntu Linux 为例)。 (1) 先搜索命令所在包,命令如下: # which ls 执行结果如下: /bin/ls (2) 用命令搜索该软件所在包,代码如下: # dpkg -S /bin/ls 执行结果如下: coreutils: /bin/ls (3) 下载包,包的名字为coreutilsXXX.tar.gz,其中,XXX表示版本号。 (4) 安装解压包: #tar -xzvfcoreutils-XXX.tar.gz (5) 显示文件名字,看到主文件名字是命令(如ls)扩展名为.c 的文件,可以使用cat 命令显示命令ls的源代码ls.c。 Linux是在共用许可证GPL(General Public License)保护下的自由软件,有很多发行版,如Ubuntu Linux、Red Hat Linux、Debian Linux、红旗Linux等。Linux的流行是因为它具有以下优点。 (1) 完全免费。 (2) 完全兼容POSIX 1.0标准,可以在任何其他的POSIX操作系统(即使是来自另一个厂商)上编译执行。 (3) 多用户、多任务。 (4) 良好的界面。 (5) 丰富的网络功能。 (6) 可靠的安全、稳定性能。 (7) 支持多种平台。 3.1.2Linux安全配置 1. 磁盘分区 如果是新安装系统,对磁盘分区应考虑安全性。 (1) 引导分区(/boot)、系统分区(/)、交换分区(swap)、用户目录(/home)应分开到不同的磁盘分区。 (2) 以上各目录应充分考虑所在分区的磁盘空间大小,避免因某些原因造成分区空间用完而导致系统崩溃,交换分区为物理内存的2倍。 2. 账号安全 使用的Linux发行版本不同,因此下面的文件和命令略有差别。 (1) 锁定系统中多余的自建账号。 使用命令passwd l <用户名>,锁定不必要的账号。 使用命令passwd u <用户名>,解锁需要恢复的账号。 执行命令如下: #cat /etc/passwd #cat /etc/shadow 查看账号、密码文件,与系统管理员确认不必要的账号。对于一些保留的系统伪账号如bin、sys、adm、uucp、lp、nuucp、hpdb、www、daemon等可根据需要锁定登录。 (2) 设置系统密码策略。使用命令如下: #cat/etc/login.defs|grep PASS查看密码策略设置 #vi/etc/login.defs 修改配置文件 PASS_MAX_DAYS 90 新建用户的密码最长使用天数为90天 PASS_MIN_DAYS 0新建用户的密码最短使用天数为0天 PASS_WARN_AGE 7新建用户的密码到期提前提醒天数为7天 PASS_MIN_LEN 9最小密码长度为9 (3) 限制能够su为root的用户。 检查方法: 查看是否有auth required /lib/security/pam_wheel.so这样的配置条目。 #cat/etc/pam.d/su 备份方法: #cp -p/etc/pam.d/etc/pam.d_bak 加固方法: #vi/etc/pam.d/su 在头部添加: auth required /lib/security/pam_wheel.so group=wheel 这样,只有wheel组的用户可以su到root。 (4) 检查shadow中空密码账号。 检查方法: #awk -F: '( == "") { print }' /etc/shadow 对空密码账号进行锁定,或要求增加密码。 (5) 设置账号、锁定登录失败、锁定次数、锁定时间。 #cat/etc/pam.d/system-user查看有无auth required pam_tally.so条目的设置 #vi/etc/pam.d/system-user auth required pam_tally.so onerr=fail deny=6 unlock_time=300 设置为密码连续输入错误6次锁定,锁定时间为300秒。 (6) 修改账号TMOUT值,设置自动注销时间。 #cat/etc/profile查看有无TMOUT的设置 #vi/etc/profile TMOUT=600无操作600秒后自动退出 (7) 设置Bash保留历史命令的条数。 #cat/etc/profile|grep HISTFILESIZE= 查看保留历史命令的条数 #vi/etc/profile HISTFILESIZE=5保留最新执行的5条命令 3. 设置合理的初始文件权限 #cat/etc/profile查看umask的值 #vi/etc/profile umask=027 就是rxwrx(所有者全部权限,属组读写权限,其他人无权限)。 修改新建文件的默认权限,如果该服务器是Web应用,则此项谨慎修改。 4. 网络访问控制 (1) 使用ssh进行管理。 #ps -aef | grep sshd查看有无此服务 使用命令开启ssh服务。 #service sshd start (2) 设置访问控制策略,限制能够管理本机的IP地址。 #cat/etc/ssh/sshd_config查看有无AllowUsers的语句 #vi/etc/ssh/sshd_config添加以下语句 AllowUsers *@10.138.*.*仅允许10.138.0.0/16网段所有用户通过ssh访问 #service sshd restart保存后重启ssh服务 (3) 禁止root用户远程登录。 #cat/etc/ssh/sshd_config查看PermitRootLogin是否为no #vi/etc/ssh/sshd_config PermitRootLogin no service sshd restart保存后重启ssh服务 root用户无法直接远程登录,需要用普通账号登录后执行命令su。 (4) 限定信任主机。 检查方法: #cat/etc/hosts.allow查看其中的主机 #vi/etc/hosts.allow删除其中不必要的主机 注意: 在多机互备的环境中,需要保留其他主机的IP可信任。 (5) 防止误使用Ctrl+Alt+Del组合键重启系统。 #vi/etc/inittab编辑文件 在行开头添加注释符号“#”: #ca:: ctrlaltdel:/sbin/shutdown -t3 -r now (6) 资源限制。 对系统上所有的用户设置资源限制可以防止DoS类型攻击,如最大进程数、内存数量等。例如,对所有用户的限制: #vi/etc/security/limits.conf * hard rss 5000此命令限制内存使用为5MB * hard nproc 20此命令限制进程数为20 同时需要编辑/etc/pam.d/login文件加session required/lib/security/pam_limits.so这一行。 3.1.3Linux下建议替换的常见网络服务应用程序 1. WuFTPD WuFTPD从1994年就开始就不断地出现安全漏洞,黑客很容易就可以获得远程root访问(remote root access)的权限,而且很多安全漏洞甚至不需要在FTP服务器上有一个有效的账号。近年,WuFTPD还是频频出现安全漏洞。 WuFTPD的最好的替代程序是ProFTPD。ProFTPD很容易配置,在多数情况下速度也比较快,而且它的源代码也比较干净(缓冲溢出的错误比较少)。有许多重要的站点使用ProFTPD。sourceforge.net就是一个很好的例子(这个站点共有3000个开放源代码的项目,其负荷并不小)。一些Linux的发行商在它们的主FTP站点上使用的也是ProFTPD,只有两个主要Linux的发行商(SuSE和Caldera)使用WuFTPD。 2. Telnet Telnet是非常非常不安全的,它用明文来传送密码。它的安全的替代程序是OpenSSH。 OpenSSH在Linux上已经非常成熟和稳定了,而且在Windows平台上也有很多免费的客户端软件。Linux的发行商应该采用OpenBSD的策略: 安装OpenSSH并把它设置为默认的,安装Telnet但是不把它设置成默认的。 Telnet是不安全的程序,要保证系统的安全必须用OpenSSH这样的软件来替代它。 3. Sendmail 最近这些年,Sendmail的安全性已经提高很多了(以前它通常是黑客重点攻击的程序)。然而,Sendmail还是有一个很严重的问题。一旦出现了安全漏洞(例如,最近出现的Linux内核错误),Sendmail就是被黑客重点攻击的程序,因为Sendmail以root权限运行,而且代码很庞大,容易出问题。 几乎所有的Linux发行商都把Sendmail作为默认的配置,只有少数几个把Postfix或Qmail作为可选的软件包。但是,很少有Linux的发行商在自己的邮件服务器上使用Sendmail。SuSE和Red Hat都使用基于Qmail的系统。 Sendmail并不一定会被别的程序完全替代。但是它的两个替代程序Qmail和Postfix都比它安全、速度快,Postfix比Sendmail容易配置和维护。 4. su su是用来改变当前用户的ID,将其转换成别的用户。可以以普通用户登录,当需要以root身份做一些事时,只要执行“su”命令,然后输入root的密码。su本身是没有问题的,但是它会让人养成不好的习惯。如果一个系统有多个管理员,必须都给他们root的密码。 su的一个替代程序是sudo,sudo允许设置哪个用户哪个组可以root身份执行哪些程序。还可以根据用户登录的位置对他们加以限制(如果有人破解了一个用户的密码,并用这个账号从远程计算机登录,可以限制他使用sudo)。Debian也有一个类似的程序叫super。 使用root账号并让多个人知道root的密码是不安全的,这就是www.apache.org被入侵的原因,因为它有多个系统管理员,他们都有root特权,这样的系统很容易被入侵。 5. named 大部分Linux的发行商都解决了这个问题。named以前是以root运行的,因此,当named出现新的漏洞时,很容易就可以入侵一些很重要的计算机并获得root权限。现在只要用命令行的一些参数就能让named以非root的用户运行。而且,现在绝大多数Linux的发行厂商都让named以普通用户的权限运行。 命令格式通常为: named u g 。 3.1.4Linux下安全守则 (1) 删除系统所有默认的账号和密码。 (2) 在用户合法性得到验证前不要显示公司题头、在线帮助以及其他信息。 (3) 关闭“黑客”可以攻击系统的网络服务。 (4) 使用6到8位的字母数字混合式密码。 (5) 限制用户尝试登录到系统的次数。 (6) 记录违反安全性的情况并对安全记录进行复查。 (7) 对于重要的信息,上网传输前要先进行加密。 (8) 重视专家提出的建议,安装他们推荐的系统“补丁”。 (9) 限制不需密码即可访问的主机文件。 (10) 修改网络配置文件,以便将来自外部的TCP连接限制到最少数量的端口。不允许诸如tftp、sunrpc、printer、rlogin或rexec之类的协议。 (11) 去掉对操作并非至关重要又极少使用的程序。 (12) 使用chmod将所有系统目录变更为711模式。这样,攻击者们将无法看到子目录和文件的名字,而用户仍可执行。 (13) 将系统软件升级为最新版本。老版本可能已被研究并被成功攻击,最新版本一般包括了对这些问题的补救。 3.2Windows Server 2008操作系统 Windows Server 2008是微软一个服务器操作系统的名称,它是继Windows Server 2003后的服务器操作系统。Windows Server 2008 发行了多种版本,以支持各种规模的企业对服务器不断变化的需求。Windows Server 2008 共有包括Standard Edition、Enterprise Edition、Datacenter Edition、Web Server Edition等8种版本,每个版本均有32位和64位两种编码。Windows Server 2008对硬件的要求和Windows Server 2003相仿。 3.2.1Windows Server 2008的特点 1. 控制力 使用Windows Server 2008,IT专业人员能够更好地控制服务器和网络基础结构,从而可以将精力集中在处理关键业务需求上。增强的脚本编写功能和任务自动化功能(例如,Windows PowerShell)可帮助IT专业人员自动执行常见IT任务。通过服务器管理器进行的基于角色的安装和管理简化了在企业中管理与保护多个服务器角色的任务。服务器的配置和系统信息是从新的服务器管理器控制台这一集中位置来管理的。IT人员可以仅安装需要的角色和功能,向导会自动完成许多费时的系统部署任务。增强的系统管理工具(例如,性能和可靠性监视器)提供有关系统的信息,在潜在问题发生之前向IT人员发出警告。在Windows Server 2008中,所有的电源管理设置已被组策略启用,这样就潜在地节约了成本。控制电源设置通过组策略可以大量节省公司资金。例如,可以通过修改组策略设置中特定电源的设置,或通过使用组策略建立一个定制的电源计划。 2. 保护 Windows Server 2008提供了一系列新的和改进的安全技术,这些技术增强了对操作系统的保护,为企业的运营和发展奠定了坚实的基础。Windows Server 2008提供了减小内核攻击面的安全创新(例如PatchGuard),因而使服务器环境更安全、更稳定。通过保护关键服务器服务使之免受文件系统、注册表或网络中异常活动的影响,Windows服务强化有助于提高系统的安全性。借助网络访问保护(NAP)、只读域控制器(RODC)、公钥基础结构(PKI)增强功能、Windows服务强化、新的双向Windows防火墙和新一代加密支持,Windows Server 2008操作系统中的安全性也得到了增强。 3. 灵活性 Windows Server 2008的设计允许管理员修改其基础结构来适应不断变化的业务需求,同时保持了此操作的灵活性。它允许用户从远程位置(如远程应用程序和终端服务网关)执行程序,这一技术为移动工作人员增强了灵活性。Windows Server 2008 使用Windows部署服务(WDS)加速对IT系统的部署和维护,使用 Windows Server 虚拟化(WSv)帮助合并服务器。对于需要在分支机构中使用域控制器的组织,Windows Server 2008 提供了一个新配置选项: 只读域控制器(RODC),它可以防止在域控制器出现安全问题时暴露用户账号。 4. 自修复系统 从 DOS 时代开始,文件系统出错就意味着相应的卷必须下线修复,而在 Windows Server 2008 中,一个新的系统服务在后台工作,检测文件系统错误,并且可以在不关闭服务器的状态下自动将其修复。有了这一新服务,在文件系统发生错误时,服务器只会暂时停止无法访问的部分数据,整体运行基本不受影响。 5. Session创建 有一个终端服务器系统,或者多个用户同时登录了家庭系统,这些就是Session。在 Windows Server 2008 之前,Session的创建都是逐一操作的,对于大型系统而言是个瓶颈,例如周一清晨数百人返回工作时,不少人就必须等待Session初始化。Windows Vista 和 Windows Server 2008 加入了新的Session模型,可以同时发起至少4个操作,而如果服务器有四个以上的处理器,还可以同时发起更多。举例来说,如果家里有一个媒体中心,那各个家庭成员就可以同时在各自的房间里打开媒体终端,同时从Windows Vista服务器上得到视频流,而且速度不会受到影响。 6. 快速关机服务 Windows的一大历史问题就是关机过程缓慢。在Windows XP里,一旦开始关机,系统就会开始一个20秒的计时,之后提醒用户是否需要手动关闭程序,而在 Windows Server中,这一问题的影响会更加明显。到了Windows Server 2008,20秒的计时被一种新服务取代,可以在应用程序需要被关闭时随时、一直发出信号。开发人员开始怀疑这种新方法会不会过多地剥夺应用程序的权利,但经过验证是可以接受的。 7. UAC Windows Server 2008操作系统和Windows Vista类似,同样附带了UAC User Account Control(用户账号控制),可以有效地降低服务器的风险。 8. 安全 Windows Server 2008的IE7具有“增强的安全配置”,必须通过用户手动审核才可以打开相关的网站,比Windows Vista安全了许多。 3.2.2Windows Server 2008安全配置 1. 停止Guest账号 在“计算机管理”的“用户”里面把Guest账号停用,任何时候都不允许Guest账号登录。为了保险起见,最好给Guest 加一个复杂的密码。可以打开记事本,在里面输入一串包含特殊字符、数字和字母的长字符串,用它作为Guest账号的密码,并且修改Guest账号的属性,设置拒绝远程访问,如图31所示。 图31设置Guest 账号属性 2. 管理员账号改名 Windows Server 2008中的Administrator账号是不能被停用的,这意味着别人可以重复地尝试这个账号的密码。把Administrator账号改名可以有效地防止这一点,不要使用Admin之类的名字,尽量把它伪装成普通用户,如改成guestone。具体操作时只要选中账号名重命名就可以了,如图32所示。 图32修改Administrator账号 3. 陷阱账号 所谓的陷阱账号是创建一个名为Administrator的本地账号,把它的权限设置成最低,什么事也干不了,并且加上一个超过10位的超级复杂的密码。这样可以让那些企图入侵者忙上一段时间,并且可以借此发现他们的入侵企图。可以将该用户隶属的组修改成Guests组,如图33所示。 图33修改用户隶属的组 4. 安全策略 利用Windows Server 2008的安全配置工具来配置安全策略,微软提供了一套基于管理控制台的安全配置和分析工具,可以配置服务器的安全策略。在管理工具找到“本地安全策略”,主界面如图34所示,可以配置七类安全策略: 账户策略、本地策略、高级安全Windows防火墙、网络列表管理器策略、公钥策略、软件限制策略和IP安全策略,在默认的情况下,这些策略是没有开启的。 图34安全策略界面 5. 设置本机开放的端口和服务 (1) 选择“控制面板”→“管理工具”命令,打开“本地安全策略”。在左边栏单击“IP安全策略,在本地计算机”,然后在右边的空白处右击,选择“创建IP安全策略”,如图35所示,将弹出“IP安全策略向导”对话框。 图35创建本地安全策略 (2) 单击“下一步”按钮,填写名称“禁用80端口策略”,然后再单击“下一步”按钮,单击“完成”按钮。 (3) 系统弹出“属性”对话框。取消右下角“使用添加向导”的勾选,然后单击“添加”按钮,弹出“新规则属性”对话框,单击“添加”按钮,又弹出“IP筛选列表”对话框,填写名称“禁用80端口”,在页面中取消“使用添加向导”的勾选,然后单击“添加”按钮,将弹出“IP筛选器属性”对话框。 (4) 进入“IP筛选器属性”对话框,源地址选“任何IP地址”,目标地址选“我的IP地址”。接下来单击“协议”选项卡,在“选择协议类型”中选择“TCP”,到此端口填“80”,接着单击“描述”选项卡,填写描述“禁用80”,单击“确定”按钮。 (5) 在“新规则属性”对话框中,选中“禁用80端口”然后单击其左边的复选框,表示已经激活。然后单击“筛选器操作”选项卡,取消“使用添加向导”的勾选,单击“添加”按钮,在“新筛选器操作属性”对话框的“安全方法”选项卡中,选择“阻止”选项,然后单击 “确定”按钮。接着单击“阻止操作”左边的复选框,然后单击“确定”按钮。 (6) 最后打开“新IP安全策略属性”对话框,勾选“禁用80端口策略”,单击“确定”按钮关闭对话框。在“本地安全策略”窗口,右击新添加的IP安全策略,然后选择“分配”。 6. 开启审核策略 安全审核是Windows Server 2008最基本的入侵检测方法。当有人尝试对系统进行某种方式(如反复尝试用户密码,改变账户策略和未经许可的文件访问等)入侵时,都会被安全审核记录下来。很多的管理员在系统被入侵了几个月都不知道,直到系统遭到破坏。表31的这些审核是必须开启的,其他的可以根据需要增加。 表31开启审核策略的设置 策略 安 全 设 置 审核策略更改 成功,失败 审核登录事件 成功,失败 审核对象访问 成功,失败 审核进程跟踪 成功,失败 审核目录服务访问 成功,失败 审核特权使用 成功,失败 审核系统事件 成功,失败 审核账户登录事件 成功,失败 审核账户管理 成功,失败 审核策略在默认的情况下都是没有开启的,如图36所示。双击审核列表的某一项,出现设置对话框,如图37所示,将复选框“成功”和“失败”都选中。 图36审核策略的默认设置 图37审核策略的设置 7. 开启账户策略 账户锁定策略用于域账户或本地用户账户,它们确定某个账户被系统锁定的情况和时间长短,可以有效地防止字典式攻击,设置如图38所示,这部分包含以下三个方面。 图38账户锁定策略的设置 (1) 账户锁定时间。该安全设置确定锁定的账户在自动解锁前保持锁定状态的分钟数,有效范围为0~99999。如果将账户锁定时间设置为0,那么在管理员明确将其解锁前,该账户将被锁定。如果定义了账户锁定阈值,则账户锁定时间必须大于或等于重置时间。 默认值: 无。因为只有当指定了账户锁定阈值时,该策略设置才有意义。 (2) 账户锁定阈值。 该安全设置确定造成用户账户被锁定的登录失败尝试的次数。无法使用锁定的账户,除非管理员进行了重新设置或该账户的锁定时间已过期。登录尝试失败次数的范围可设置为0~999。如果将此值设为0,则将无法锁定账户。 对于使用Ctrl+Alt+Delete组合键或带有密码保护的屏幕保护程序锁定的工作站或成员服务器计算机,失败的密码尝试计入失败的登录尝试次数中。默认值为0。 (3) 复位账户锁定计数器。 该安全设置确定在登录尝试失败计数器被复位为0(即0次失败登录尝试)之前,尝试登录失败之后所需的分钟数,有效范围为1~99999。 如果定义了账户锁定阈值,则该复位时间必须小于或等于账户锁定时间。默认值为无,因为只有当指定了“账户锁定阈值”时,该策略设置才有意义。 与“锁定”字段相同,设置该字段值时也应考虑到安全需求与有效用户访问需求之间的平衡。最好设置为 1~2 小时。该等待时间应足够长,足以强制黑客必须等待一个长于他们所希望的时间段后才能再次尝试登录。 8. 开启密码策略 密码对系统安全非常重要。本地安全设置中的密码策略在默认的情况下都没有开启,包括密码长度最小值、密码最长使用期限、密码最短使用期限、强制密码历史、用可还原的加密来存储密码、密码必须符合复杂性要求,设置的结果如图39所示。 图39密码策略的设置 (1) 强制密码历史: 防止用户创建与他们当前的密码或最近使用的密码相同的新密码。若要指定记住多少个密码,请提供一个值。例如,值为 1 表示仅记住上一个密码,值为 5 表示记住前五个密码,须使用大于1的数字。 (2) 密码最长使用期限: 设置密码有效天数的最大值。在此天数后,用户将必须更改密码。如设置 70 天的最长密码使用期限。将天数值设置得太高将给黑客破解密码提供延长窗口时间的机会。将天数值设置得太低将干扰用户,因为必须频繁地更改密码。 (3) 密码最短使用期限: 设置在可以更改密码前必须通过的最短天数。将密码最短使用期限设置为至少 1 天。这样做,将要求用户一天只能更改一次密码,这将有助于强制使用其他设置。例如,如果记住了过去的五个密码,这将确保在用户可以重新使用他们的原始密码前,必须至少经过五天。如果将密码最短使用期限设置为 0,则用户可以一天更改六次密码,并且在同一天就可以开始重新使用其原始密码。 (4) 密码长度最小值: 指定密码可以具有的最少字符数。将密码设置为8~12个字符(假设它们也符合复杂性要求)。较长的密码比较短的密码更难破解(假定密码不是一个单词或普通短语)。但是,如果不担心办公室或家中的人使用您的计算机,则不使用密码比使用容易猜到的密码能够更好地保护您的计算机不受黑客从 Internet 或其他网络攻击的侵害。如果不使用密码,Windows 将自动防止任何人从 Internet 或其他网络登录您的计算机。 (5) 密码必须符合复杂性要求,要求密码: ① 不能包含用户的用户名,且不能包含用户名中超过两个连续的字符,密码长度至少为六位。 ② 包含以下四类字符中的三类字符: 英文大写字母(A到Z)、英文小写字母(a到z)、10 个基本数字(0 到 9)、 非字母字符(例如 !、$、#、%)。 ③ 在更改或创建密码时执行复杂性要求。 启用此设置,这些复杂性要求可以帮助创建强密码。 (6) 用可还原的加密来存储密码: 存储密码而不对其加密,除非使用的程序要求,否则不要使用此设置。 9. 关闭默认共享 Windows Server 2008安装以后,系统会创建一些隐藏的共享,可以在DOS提示符下输入命令net share 查看,如图310所示。 图310查看共享的磁盘 禁止这些共享,选择“管理工具”→“计算机管理”→“共享文件夹”→“共享”命令,在相应的共享文件夹上右击,然后单击“停止共享”选项即可,如图311所示。 图311停止共享的设置 10. 禁用Dump文件 在系统崩溃和蓝屏时,Dump文件是一份很有用的资料,可以帮助查找问题。然而,也能够给黑客提供一些敏感信息,如一些应用程序的密码等应该被禁止,打开“控制面板”→“系统属性”→“高级”→“启动和故障恢复”,把写入调试信息改成“(无)”,如图312所示。 图312禁用Dump文件 11. 关机时清除文件 页面文件也就是调度文件,是Windows Server 2008用来存储没有装入内存的程序和数据文件部分的隐藏文件。有些第三方的程序可以把一些没有加密的密码存在内存中,页面文件中可能含有另外一些敏感的资料。要在关机时清除页面文件,可以编辑注册表,修改主键HKEY_LOCAL_MACHINE下的子键: SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management, 把ClearPageFileAtShutdown的值设置成1,如图313所示。 图313关机时清除文件的设置 12. 限制使用工具进行恶意下载 在多人共同使用一台计算机进行工作时,我们不希望普通用户随意使用工具进行恶意下载,这样不但容易浪费本地系统的磁盘空间资源,而且也会大大消耗本地系统的上网带宽资源。而在Windows Server 2008系统环境下,限制普通用户随意使用迅雷工具进行恶意下载的方法有很多,例如,可以利用Windows Server 2008系统新增加的高级安全防火墙功能,或者通过限制下载端口等方法来实现上述控制目的,除了这些方法外,还可以利用该系统的软件限制策略来达到这一目的,实现步骤如下。 (1) 以系统管理员权限登录Windows Server 2008系统,打开该系统的“开始”菜单,从中选择“运行”命令,在弹出的系统运行文本框中,输入gpedit.msc命令,进入对应系统的组策略控制台窗口。 (2) 在该控制台窗口的左侧位置处,依次选择“计算机配置”→“Windows设置”→“安全设置”→“软件限制策略”选项,同时右击该选项,并执行快捷菜单中的“创建软件限制策略”命令。 (3) 在对应“软件限制策略”选项的右侧显示区域,双击“强制”组策略项目,在打开的设置对话框中,选择“除本地管理员以外的所有用户”选项,其余参数都保持默认设置,再单击“确定”按钮结束上述设置操作。 (4) 选中“软件限制策略”节点下面的“其他规则”选项,再右击该组策略选项,从弹出的快捷菜单中点选“新建路径规则”命令,在其后出现的设置对话框中,单击“浏览”按钮,选中迅雷下载程序,同时将对应该应用程序的“安全级别”参数设置为“不允许”,最后单击“确定”按钮执行参数设置保存操作。 (5) 重新启动Windows Server 2008系统,当用户以普通权限账户登录该系统后,普通用户就不能正常使用迅雷程序进行恶意下载了,不过当我们以系统管理员权限进入本地计算机系统时,仍然可以正常运行迅雷程序进行下载。 13. 拒绝网络病毒藏于临时文件 在Internet中,一些“狡猾”的网络病毒为了躲避杀毒软件,往往会想方设法地将自己隐藏于系统临时文件夹中,这样一来,杀毒软件即使找到了网络病毒,也没有办法查杀,因为杀毒软件对系统临时文件夹没有权限。为了防止网络病毒隐藏在系统临时文件夹中,按照下面的操作设置Windows Server 2008系统的软件限制策略。 (1) 打开Windows Server 2008系统的“开始”菜单,从中选择“运行”命令,在弹出的系统运行对话框中,输入组策略编辑命令gpedit.msc,单击“确定”按钮后,进入对应系统的组策略控制台窗口。 (2) 在该控制台窗口的左侧位置处,依次选中“计算机配置”→“Windows设置”→“安全设置”→“软件限制策略”→“其他规则”选项,同时右击该选项,并执行快捷菜单中的“新建路径规则”命令,打开如图314所示的设置对话框; 单击其中的“浏览”按钮,从弹出的文件选择对话框中,选中并导入Windows Server 2008系统的临时文件夹,同时再将“安全级别”参数设置为“不允许的”,最后单击“确定”按钮保存好上述设置操作,这样一来,网络病毒就不能躲藏到系统的临时文件夹中了。 图314将“安全级别”参数设置为“不允许的” 14. 禁止来自外网的非法ping攻击 利用Windows系统自带的ping命令,可以快速判断局域网中某台重要计算机的网络连通性; 可是,ping命令在给我们带来实用的同时,也容易被一些恶意用户所利用,例如,恶意用户要是借助专业工具不停地向重要计算机发送ping命令测试包时,重要计算机系统由于无法对所有测试包进行应答,从而容易出现瘫痪现象。为了保证Windows Server 2008服务器系统的运行稳定性,我们可以修改该系统的组策略参数,来禁止来自外网的非法ping攻击。 (1) 以管理员身份登录进入Windows Server 2008服务器系统,依次选择该系统桌面上的“开始”→“运行”命令,在弹出的系统运行对话框中,输入命令gpedit.msc,按Enter键后,进入对应系统的控制台窗口。 (2) 选中该控制台左侧列表中的“计算机配置”节点选项,并从目标节点下面逐一选择“Windows设置”→“安全设置”→“高级安全Windows防火墙” →“高级安全Windows防火墙——本地组策略对象”选项,再用鼠标选中目标选项下面的“入站规则”项目。 (3) 在对应“入站规则”项目右侧的“操作”列表中,单击“新规则”选项,此时系统屏幕会自动弹出新建入站规则向导对话框,依照提示,先将“自定义”选项选中,再将“所有程序”项目选中,之后从“协议类型”列表中选中“ICMPv4”,如图315所示。 图315协议类型选择ICMPv4 向导屏幕提示选择什么类型的连接条件时,我们可以选中“阻止连接”选项,同时依照实际情况设置好对应入站规则的应用环境,最后为当前创建的入站规则设置一个适当的名称。完成上面的设置任务后,将Windows Server 2008服务器系统重新启动,这么一来,Windows Server 2008服务器系统日后就不会轻易受到来自外网的非法ping测试攻击了。 提示: 尽管通过Windows Server 2008服务器系统自带的高级安全防火墙功能,可以实现很多安全防范目的,不过稍微懂得一点技术的非法攻击者,可以想办法修改防火墙的安全规则,那样一来我们自行定义的各种安全规则可能发挥不了任何作用。为了阻止非法攻击者随意修改Windows Server 2008服务器系统的防火墙安全规则,我们可以进行下面的设置操作。 (1) 打开Windows Server 2008服务器系统的“开始”菜单,单击“运行”命令,在弹出的系统运行文本框中执行regedit命令,打开系统注册表控制台窗口; 选中该窗口左侧显示区域处的HKEY_LOCAL_MACHINE节点选项,同时从目标分支下面选中SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules注册表子项,该子项下面保存有很多安全规则。 (2) 打开注册表控制台窗口中的“编辑”下拉菜单,从中选择“权限”选项,打开权限设置对话框,单击该对话框中的“添加”按钮,从其后出现的账号选择框中选中Everyone账号,同时将其导入进来; 再将对应该账号的“完全控制”权限调整为“拒绝”,最后单击“确定”按钮执行设置保存操作,如此一来,非法用户日后就不能随意修改Windows Server 2008服务器系统的各种安全控制规则了。 15. 禁止普通用户随意上网访问 通常Windows Server 2008系统都被安装到重要的计算机中,为了防止该计算机系统受到安全威胁,往往需要限制普通用户在该系统中随意上网访问,但如果简单关闭该系统的上网访问权限,又会影响特权用户正常上网,那么如何才能限制普通用户上网,而又不影响特权用户进行上网访问呢?可以按照下面的操作来修改Windows Server 2008系统的组策略参数。 (1) 以普通权限的账户登录Windows Server 2008系统,打开对应系统中的IE浏览器窗口,单击其中的“工具”菜单项,从下拉菜单中选择“Internet选项”命令,弹出Internet选项设置窗口。 (2) 选择Internet选项设置窗口中的“连接”选项卡,进入连接选项设置页面,单击该设置页面中的“局域网设置”按钮,选中后设置页面中的“为LAN使用代理服务器”选项,再任意输入一个代理服务器的主机地址以及端口号码,再单击“确定”按钮执行参数设置保存操作。 (3) 注销Windows Server 2008系统,换用具有特殊权限的账户重新登录Windows Server 2008系统,依次选择“开始”→“运行”命令,在其后出现的系统运行框中输入gpedit.msc命令,单击“确定”按钮后,进入对应系统的组策略控制台窗口。 (4) 选中该控制台窗口左侧位置处的“计算机配置”选项,再从目标节点下面依次展开“管理模板”→“Windows组件”→Internet Explorer→“Internet控制面板”子项,双击目标子项下面的“禁用连接页”组策略项目,此时系统屏幕上会弹出如图316所示的目标组策略属性设置对话框,选中“已启用”选项,再单击“确定”按钮执行设置保存操作,这么一来,普通权限的用户日后在Windows Server 2008系统中尝试访问网络时,IE浏览器会自动连接一个失效的代理服务器,那么IE浏览器自然也就不能正常显示网络页面内容了; 而具有特殊权限的用户在Windows Server 2008系统中尝试进行网络访问时,IE浏览器会直接显示出目标站点的内容,不需要通过代理服务器进行中转。 图316禁用连接页属性设置 15. 断开远程连接恢复系统状态 很多时候,一些不怀好意的用户往往会同时建立多个远程连接,来消耗Windows Server 2008服务器系统的宝贵资源,最终达到搞垮服务器系统的目的,为此,在实际管理Windows Server 2008服务器系统的过程中,一旦我们发现服务器系统运行状态突然不正常时,可以按照下面的办法强行断开所有与Windows Server 2008服务器系统建立连接的各个远程连接,以便及时将服务器系统的工作状态恢复正常。 (1) 在Windows Server 2008服务器系统桌面中依次选择“开始”→“运行”选项,在弹出的系统运行对话框中,输入gpedit.msc命令,按Enter键后,进入目标服务器系统的组策略控制台窗口。 (2) 选中组策略控制台窗口左侧位置处的“用户配置”节点分支,并逐一选择目标节点分支下面的“管理模板”→“网络”→“网络连接”组策略选项,之后双击“网络连接”分支下面的“删除所有用户远程访问连接”选项,在弹出的如图316所示的对话框中,选中“已启用”选项,再单击“确定”按钮保存好上述设置,这样一来,Windows Server 2008服务器系统中的各个远程连接都会被自动断开,此时对应系统的工作状态可能会立即恢复正常。 图316设置“删除所有用户远程访问连接”为“已启用” 习题3 一、 填空题 1. 一套可以免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列 CPU的计算机上的操作系统是。 2. 在Linux系统中使用命令,锁定账号。 3. 查看磁盘和文件共享的命令是。 4. 所谓的陷阱账号是创建一个名为的本地账号,把它的权限设置成最低。 二、 简答题 1. 简述Linux安全配置方案。 2. 简述Windows Server 2008的审核策略、密码策略和账户策略的含义,以及这些策略如何保护操作系统不被入侵。