Chinapub.com 第24章服务器防护 现在应该已经建立了自己的Web应用程序,可以轻松地部署它,然后坐下来休息。但是还 有些因素需要认真考虑。如果恶作剧的黑客闯入了刚刚建立的 Intranet,并把职员的私人信息发 送给公司的每个职员,将会产生什么后果?必须防止这种情况发生。 实际上, Intranet或 Internet上的代码和信息的安全问题,应该是任何一个Web开发者优先 考虑的问题。在 Internet上,即使是不大熟练的黑客使用自动黑客工具攻击一个网站也是一件 很简单的事情。不用关心自己为什么会成为黑客们攻击的目标,但做好防范,至少可以在家 里安稳地睡觉。 安全问题只有一小部分是开发者的责任,其实更应该是开发者和系统管理员共同的责任, 所以这两种人应该详细地阅读本章。开发者和系统管理员应该共同在系统上为雇员和在线顾 客提供可能达到的最高水平的安全。通过服务器各方面的操作,如操作系统、磁盘访问、 Internet协议,防火墙等等,保证你拥有一个安全和具有防护功能的计算机系统。 本章将讨论以下内容 安全的定义 安全策略。 Windows2000的安全防护问题 防火墙和代理服务器 ·IS5.0的安全问题。 · SQL Server7.0和 OBJCONNC安全问题。 ASP应用程序的安全问题。 注意, Window2000的一般管理知识和其安全概念是理解本章的基础 24.1安全的定义 在计算机安全的很多定义中,最适合的定义将其描述为防御攻击、阻止偷窃和未经授权 的泄密行为的能力水平 我们可能从来没有遇到过攻击,更多的时候是某些人试着从系统中窃取一些资料。文档 和计算机资源是黑客的猎物之一。但是更多的黑客从高速的 Internet连接闯入,并利用我们的 服务器和网络在 Internet上攻击其他的网络和系统。黑客不是想对其他公司报复就是想知道他 们是否具有这个能力。 在ASP应用程序范围内,安全是通过使用SSL或其他方法,防止口令和重要信息被泄露。 一些人有足够的理由来窃取这些信息,所以必须保护我们的网站。在网站上,像信用卡号码 那样的重要信息是应重点关注的。例如,在电子商务交易站上,可能有极其重要的信息。 24.1.1 nternet上的安全问题 Internet的安全问题,主要是黑客用各种方法截取基本的数据包数据,使用“不好”的口
下载 第24章 服务器防护 现在应该已经建立了自己的 We b应用程序,可以轻松地部署它,然后坐下来休息。但是还 有些因素需要认真考虑。如果恶作剧的黑客闯入了刚刚建立的 i n t r a n e t,并把职员的私人信息发 送给公司的每个职员,将会产生什么后果?必须防止这种情况发生。 实际上,i n t r a n e t或I n t e r n e t上的代码和信息的安全问题,应该是任何一个 We b开发者优先 考虑的问题。在 I n t e r n e t上,即使是不大熟练的黑客使用自动黑客工具攻击一个网站也是一件 很简单的事情。不用关心自己为什么会成为黑客们攻击的目标,但做好防范,至少可以在家 里安稳地睡觉。 安全问题只有一小部分是开发者的责任,其实更应该是开发者和系统管理员共同的责任, 所以这两种人应该详细地阅读本章。开发者和系统管理员应该共同在系统上为雇员和在线顾 客提供可能达到的最高水平的安全。通过服务器各方面的操作,如操作系统、磁盘访问、 I n t e r n e t协议,防火墙等等,保证你拥有一个安全和具有防护功能的计算机系统。 本章将讨论以下内容: • 安全的定义。 • 安全策略。 • Windows 2000的安全防护问题。 • 防火墙和代理服务器。 • IIS 5.0的安全问题。 • SQL Server 7.0和O B J C O N N C安全问题。 • ASP应用程序的安全问题。 注意,Window 2000的一般管理知识和其安全概念是理解本章的基础。 24.1 安全的定义 在计算机安全的很多定义中,最适合的定义将其描述为防御攻击、阻止偷窃和未经授权 的泄密行为的能力水平。 我们可能从来没有遇到过攻击,更多的时候是某些人试着从系统中窃取一些资料。文档 和计算机资源是黑客的猎物之一。但是更多的黑客从高速的 I n t e r n e t连接闯入,并利用我们的 服务器和网络在 I n t e r n e t上攻击其他的网络和系统。黑客不是想对其他公司报复就是想知道他 们是否具有这个能力。 在A S P应用程序范围内,安全是通过使用 S S L或其他方法,防止口令和重要信息被泄露。 一些人有足够的理由来窃取这些信息,所以必须保护我们的网站。在网站上,像信用卡号码 那样的重要信息是应重点关注的。例如,在电子商务交易站上,可能有极其重要的信息。 24.1.1 Internet上的安全问题 I n t e r n e t的安全问题,主要是黑客用各种方法截取基本的数据包数据,使用“不好”的口
chinaapub.com 第4章原务器防护727 令(很容易猜出的)访问系统,等等。尽管这种威胁看来势不可挡,但可以采取一些方法来保护 安全结构设计较差的网络系统。管理员必须主动地研究所用产品的 Internet安全特性。如果做 好预防工作,就能在 Internet上构建一个安全的系统 测试 ASP Web站点的安全程序的最好方法是,在服务器还在开发阶段而没有正式投入到 Internet之前,自己尝试着闯入破坏它。测试网站是否具有防止“拒绝服务”攻击的能力;测 试所设置的访问控制的综合能力。最好定期访问那些提供最新黑客工具和自动攻击软件的网 站,例如: http://www.rootshell.com http://www.hackers.com http://www.dark-secrets.com 恶意攻击和破坏 最近恶意的在线破坏仿佛要成为一种趋势。这种做法相当标准,攻击者窃取口令或找到 其他的方法进入你的系统,并把你的站点弄得面目全非。幸运的是我们可以很容易地清除 “在线涂改”,并且改变口令以防止重复攻击,但最主要的事情是使自己的口令保密。下一章 将研究加密方法。 破坏者也可以用FTP和 telnet闯入你的系统。因此,除非是必须的,否则就不要提供这些 服务。除非使用第三方软件,否则 Windows2000不支持 telnet和远程控制台访问。所以, Windows2000使用者只需要考虑有关FTP的安全问题。如果服务器是内部的,应该用一个光 盘驱动器或其他形式的介质升级你的网站。从长远观点来看,这种额外的努力是很值得的 2.假冒和IP欺骗 在 Internet上最大的问题之一就是假冒,即攻击者以别人的身份进入你的系统。对于那些 使用IP和用户身份验证的服务器来说,这是个大问题 让我们来研究一下IP。它是TCPP的一部分。IP由四个层次组成,如表24-1所示 表24-1|P的四个层次 端主机( Source host 产生数据包( packet,数据的单位)的主机 源端端口( Source port) 发出数据包的端口 的端主机(D 数据包接收端主机 目的端口( Destination Host) 数据包接收端口 在我们讨论“假冒”问题时,源端主机是需要重点研究的一个层次。它是信息块一也 就是所谓的“包”( packet)-一的来源,是信息的起始端。如果能用自己的数据包假冒源端主 机的数据包,就能使主机相信它们来自被假冒的地址。这种技术就称为“IP欺骗”(IP spoofing)在网络上,攻击者用这种方法伪装成受信任的主机。事实上,大多数拒绝服务攻 击是用这种方法掩盖自己的起始地址 不要完全相信自己的网络是很可靠的,但这不应归责于IP,因为它唯一的目的就是提供4 个层次,使路由器知道向何处发送数据包,没有提供检查的方法。一个反假冒的手段就是使 用防火墙检査数据包是否确实来自它声称的源端主机。虽然对于IP欺骗,防火墙不是万无 失的。但一个法则是配置你的路由器,使其丢弃那些声称来自你的网络的入站数据包。丢弃 声称不是来自你的网络的出站数据包,可以防止自己的职员攻击其他网络
第2 4章 服务器防护计计727 下载 令(很容易猜出的)访问系统,等等。尽管这种威胁看来势不可挡,但可以采取一些方法来保护 安全结构设计较差的网络系统。管理员必须主动地研究所用产品的 I n t e r n e t安全特性。如果做 好预防工作,就能在I n t e r n e t上构建一个安全的系统。 测试ASP We b站点的安全程序的最好方法是,在服务器还在开发阶段而没有正式投入到 I n t e r n e t之前,自己尝试着闯入破坏它。测试网站是否具有防止“拒绝服务”攻击的能力;测 试所设置的访问控制的综合能力。最好定期访问那些提供最新黑客工具和自动攻击软件的网 站,例如: • http://www. r o o t s h e l l . c o m • http://www. h a c k e r s . c o m • http://www. d a r k - s e c r e t s . c o m 1. 恶意攻击和破坏 最近恶意的在线破坏仿佛要成为一种趋势。这种做法相当标准,攻击者窃取口令或找到 其他的方法进入你的系统,并把你的站点弄得面目全非。幸运的是我们可以很容易地清除 “在线涂改”,并且改变口令以防止重复攻击,但最主要的事情是使自己的口令保密。下一章 将研究加密方法。 破坏者也可以用 F T P和t e l n e t闯入你的系统。因此,除非是必须的,否则就不要提供这些 服务。除非使用第三方软件,否则 Windows 2000 不支持 t e l n e t和远程控制台访问。所以, Windows 2000使用者只需要考虑有关 F T P的安全问题。如果服务器是内部的,应该用一个光 盘驱动器或其他形式的介质升级你的网站。从长远观点来看,这种额外的努力是很值得的。 2. 假冒和I P欺骗 在I n t e r n e t上最大的问题之一就是假冒,即攻击者以别人的身份进入你的系统。对于那些 使用I P和用户身份验证的服务器来说,这是个大问题。 让我们来研究一下I P。它是T C P / I P的一部分。I P由四个层次组成,如表2 4 - 1所示。 表24-1 IP的四个层次 层 次 说 明 源端主机(Source Host) 产生数据包( p a c k e t,数据的单位)的主机 源端端口(Source Port) 发出数据包的端口 目的端主机(Destination Host) 数据包接收端主机 目的端口(Destination Host) 数据包接收端口 在我们讨论“假冒”问题时,源端主机是需要重点研究的一个层次。它是信息块—也 就是所谓的“包”( p a c k e t )—的来源,是信息的起始端。如果能用自己的数据包假冒源端主 机的数据包,就能使主机相信它们来自被假冒的地址。这种技术就称为“ I P欺骗” ( I P s p o o f i n g )。在网络上,攻击者用这种方法伪装成受信任的主机。事实上,大多数拒绝服务攻 击是用这种方法掩盖自己的起始地址。 不要完全相信自己的网络是很可靠的,但这不应归责于 I P,因为它唯一的目的就是提供 4 个层次,使路由器知道向何处发送数据包,没有提供检查的方法。一个反假冒的手段就是使 用防火墙检查数据包是否确实来自它声称的源端主机。虽然对于 I P欺骗,防火墙不是万无一 失的。但一个法则是配置你的路由器,使其丢弃那些声称来自你的网络的入站数据包。丢弃 声称不是来自你的网络的出站数据包,可以防止自己的职员攻击其他网络
728s93高缓程 下 3.不要成为攻击者 IP欺骗和假冒能使你的服务器处在危险之中,但这也意味着你的机器能在无意中成为攻 击其他主机的帮凶。其原因相当深奥,但其逻辑非常简单。攻击的前提是目标服务器出现时 正在使用广播ICMP回应请求。它能访问网络上所有机器来ping某一主机。如果攻击者假冒 个主机并将这些回应请求发送到你的网络和另外的一个网络。尽管被假冒的主机实际上没有 请求它们,但两个网络上的所有机器都会回应它。如果你有十台服务器,另一个网络也有同 样多的服务器,这样目标主机就会收到20个不必要的回应数据包,向不知情的网络重复发送 大容量的ICMP回应请求数据包,最终将导致目标服务器断开连接 这就是网络中面临的服务器防护问题。为了防止自己的网络在无意中成为攻击的帮凶, 就要确保你的路由器和计算机不应答广播ICMP回应请求 24.1.2安全策略 系统(网络)管理员应经常做的事情是维护一个最新的安全策略。大多数用户没有认识到交 换口令和他们认为不重要的其他信息能引起系统(或公司)潜在的安全漏洞 通过建立安全策略,管理员可以保护他们的用户和自己的安全。用户应被告知,如果他 们不能执行这个策略,对系统应负的责任和可能产生的潜在问题。同时这个策略也适用于系 统管理员。 安全策略必须落实,并由制定者强制执行。如果用户不能遵守这个策略,应采取相应的 行动。这些规则必须严格执行。 1.安全策略剖析 制定一个策略后,你很快将认识到有比人们预期的多得多的内容要加入到安全策略中。 对整个系统有详尽的规范,覆盖的问题有备份策略、系统访问、维护、软件版本、操作系统 版本和日志文件的检查 为了容易理解,可以把策略分成三部分。 ·用户需求 经理责任 管理员的责任 2.用户需求 在系统上设置一个新的安全策略,对于系统管理员来说是不轻松的。如果在系统安全策 略的严密性上过分苛刻,你将很快就成为所有用户都讨厌的人。另一方面,如果在严密性上 放松要求,这个策略就不能发挥相应的作用。我们的目标是在与用户保持和谐关系的同时 制定一个有效的安全策略 下面的一些问题需要认真考虑的: 用户需要访问哪些系统? 每个用户都需要什么种类的访问?是完全的读写访问还是尽可能少的访问?匿名的用户 怎样使用系统? 什么时间用户可以访问系统?因为大部分的安全问题都发生在工作时间以外,所以限定 时间是一个好办法。 需要用户名和口令验证吗?如果需要,将要制定一些选择口令的规则,这些规则确保不
3. 不要成为攻击者 I P欺骗和假冒能使你的服务器处在危险之中,但这也意味着你的机器能在无意中成为攻 击其他主机的帮凶。其原因相当深奥,但其逻辑非常简单。攻击的前提是目标服务器出现时 正在使用广播I C M P回应请求。它能访问网络上所有机器来 p i n g某一主机。如果攻击者假冒一 个主机并将这些回应请求发送到你的网络和另外的一个网络。尽管被假冒的主机实际上没有 请求它们,但两个网络上的所有机器都会回应它。如果你有十台服务器,另一个网络也有同 样多的服务器,这样目标主机就会收到 2 0个不必要的回应数据包,向不知情的网络重复发送 大容量的I C M P回应请求数据包,最终将导致目标服务器断开连接。 这就是网络中面临的服务器防护问题。为了防止自己的网络在无意中成为攻击的帮凶, 就要确保你的路由器和计算机不应答广播 I C M P回应请求。 24.1.2 安全策略 系统(网络)管理员应经常做的事情是维护一个最新的安全策略。大多数用户没有认识到交 换口令和他们认为不重要的其他信息能引起系统 (或公司)潜在的安全漏洞。 通过建立安全策略,管理员可以保护他们的用户和自己的安全。用户应被告知,如果他 们不能执行这个策略,对系统应负的责任和可能产生的潜在问题。同时这个策略也适用于系 统管理员。 安全策略必须落实,并由制定者强制执行。如果用户不能遵守这个策略,应采取相应的 行动。这些规则必须严格执行。 1. 安全策略剖析 制定一个策略后,你很快将认识到有比人们预期的多得多的内容要加入到安全策略中。 对整个系统有详尽的规范,覆盖的问题有备份策略、系统访问、维护、软件版本、操作系统 版本和日志文件的检查。 为了容易理解,可以把策略分成三部分。 • 用户需求 • 经理责任 • 管理员的责任 2. 用户需求 在系统上设置一个新的安全策略,对于系统管理员来说是不轻松的。如果在系统安全策 略的严密性上过分苛刻,你将很快就成为所有用户都讨厌的人。另一方面,如果在严密性上 放松要求,这个策略就不能发挥相应的作用。我们的目标是在与用户保持和谐关系的同时, 制定一个有效的安全策略。 下面的一些问题需要认真考虑的: • 用户需要访问哪些系统? • 每个用户都需要什么种类的访问?是完全的读写访问还是尽可能少的访问?匿名的用户 怎样使用系统? • 什么时间用户可以访问系统?因为大部分的安全问题都发生在工作时间以外,所以限定 时间是一个好办法。 • 需要用户名和口令验证吗?如果需要,将要制定一些选择口令的规则,这些规则确保不 728计计ASP 3 高级编程 下载
ha°doN 第章服务器防护729 把口令写在明处,并不使口令泄露。对在家通过调制解调器和ISDN拨号上网的用户要 制定相应的计划 是否需要基于IP的验证?识别用户计算机的IP地址与识别用户的名字和口令一样能为那 些需要它的系统区域建立额外的安全保护 对那些特殊的用户是否进行合理的分组?例如:金融部门的用户需要访问金融方面的记 录,销售部门的用户需要特定的产品信息,后勤部门的用户需要的可能是另一种类型的 产品信息 ·系统的某个区域是否需要某种程度的加密?例如,在 amazon. com站点上不需要对书的相 关信息进行防护,但必须对填写信用卡信息的区域提供加密。 安全模型的处理是否处于应用程序层上?在开发阶段,这对于所有的用户甚至是匿名用户都 是有用的,对系统能够进行完全的读写访问。但在正式使用时,这是这个潜在的安全漏洞 谈及安全问题时,这些信息都是相关的,只要有可能,应该试着在各种层次上回答这些 问题。显然我们并不希望基于Web的应用程序在 Internet上对用户开放时,再回答这些问 题。应该尽早做出比较准确的估计 3.经理责任 通过说明需要落实的安全措施以及不遵守它时产生的安全风险,在一个组织内部,应该 把一些网络责任归于经理的身上,下面是这样做的几个理由 他们能在系统管理员、用户和开发者之间充当中间人,减轻执行安全策略对每个人产生 的压力 ·通过让他们理解规则方面的非专业术语,经理能有效地向其他人发布信息。 他们应该制定出如果不遵守规章要采取的措施 不要忽略对管理方面任何问题的讨论,而且一定要全力支持为用户制定的规则。 4.系统管理员的责任 如果对一个策略不进行相应的管理,那么该策略将是无效的,因此系统管理员也必须制 定相应的规则。这包括: 如果发生中断,该怎么做? 如果用户不遵守规则,该怎么做? 如何建立新的用户帐号、新用户组策略、文件和目录权限等。 ·备份措施。备份介质的种类,执行备份的时间和形式(完全的或递增的),备份存储的位 置和应急恢复计划。 硬件维护。服务器如何更新?升级的时间和要升级哪些硬件设备(BIOS、网卡,还是其 他的硬件) ·软件版本,如果可以从销售商得到一个新版本、服务包、升级包或补丁,系统管理员应 当对是否使用它们做出理由充分的决定。在服务器上安装了什么东西的记录应当被保留。 操作系统和软件一样,任何一个新的或升级的(或补丁)的操作系统版本,在应用于服务 器之前,都应在单独的机器上做严格的测试,唯一的不同是对操作系统的所有变化应该 做最严格的测试 为了知道用户是否在做他们应该做的事情,应该每天都检查日志文件,如果出现异常, 就要采取措施
把口令写在明处,并不使口令泄露。对在家通过调制解调器和 I S D N拨号上网的用户要 制定相应的计划。 • 是否需要基于I P的验证?识别用户计算机的 I P地址与识别用户的名字和口令一样能为那 些需要它的系统区域建立额外的安全保护。 • 对那些特殊的用户是否进行合理的分组?例如:金融部门的用户需要访问金融方面的记 录,销售部门的用户需要特定的产品信息,后勤部门的用户需要的可能是另一种类型的 产品信息。 • 系统的某个区域是否需要某种程度的加密?例如,在 a m a z o n . c o m站点上不需要对书的相 关信息进行防护,但必须对填写信用卡信息的区域提供加密。 • 安全模型的处理是否处于应用程序层上?在开发阶段,这对于所有的用户甚至是匿名用户都 是有用的,对系统能够进行完全的读写访问。但在正式使用时,这是这个潜在的安全漏洞。 • 谈及安全问题时,这些信息都是相关的,只要有可能,应该试着在各种层次上回答这些 问题。显然我们并不希望基于 We b的应用程序在I n t e r n e t上对用户开放时,再回答这些问 题。应该尽早做出比较准确的估计。 3. 经理责任 通过说明需要落实的安全措施以及不遵守它时产生的安全风险,在一个组织内部,应该 把一些网络责任归于经理的身上,下面是这样做的几个理由: • 他们能在系统管理员、用户和开发者之间充当中间人,减轻执行安全策略对每个人产生 的压力。 • 通过让他们理解规则方面的非专业术语,经理能有效地向其他人发布信息。 • 他们应该制定出如果不遵守规章要采取的措施。 不要忽略对管理方面任何问题的讨论,而且一定要全力支持为用户制定的规则。 4. 系统管理员的责任 如果对一个策略不进行相应的管理,那么该策略将是无效的,因此系统管理员也必须制 定相应的规则。这包括: • 如果发生中断,该怎么做? • 如果用户不遵守规则,该怎么做? • 如何建立新的用户帐号、新用户组策略、文件和目录权限等。 • 备份措施。备份介质的种类,执行备份的时间和形式 (完全的或递增的),备份存储的位 置和应急恢复计划。 • 硬件维护。服务器如何更新?升级的时间和要升级哪些硬件设备 ( B I O S、网卡,还是其 他的硬件) • 软件版本,如果可以从销售商得到一个新版本、服务包、升级包或补丁,系统管理员应 当对是否使用它们做出理由充分的决定。在服务器上安装了什么东西的记录应当被保留。 • 操作系统和软件一样,任何一个新的或升级的 (或补丁)的操作系统版本,在应用于服务 器之前,都应在单独的机器上做严格的测试,唯一的不同是对操作系统的所有变化应该 做最严格的测试。 • 为了知道用户是否在做他们应该做的事情,应该每天都检查日志文件,如果出现异常, 就要采取措施。 第2 4章 服务器防护计计729 下载
730sp3高级程 Chinapub.com 下 24.2 Windows2000的防护 在这部分,将研究防护自己的操作系统的方式,以保证不受一般性攻击的影响。也将研 究有关与 Internet不进行连接的专用网络的相关知识。具体将研究以下几个方面的内容 硬盘格式。 ·创建访问控制列表( Access Control list,ACL)。 子系统删除( remova) 删除不必要的网络服务。 限制网络访问 TCPP过滤。 以上几方面的问题决定网络的安全程度。本节的目标是建立一系列防护 Internet网站的安 全措施,防止破坏网络安全 24.2.1磁盘格式 在 Windows2000中,有三种不同的文件系统格式:FAT、FAT32和NTFS。每一种格式都 与微软公司的操作系统有不同程度的兼容性。对于大多数安全的站点,应该立即略过这一部 分并选择使用 Windows2000支持的NTFS的最新版本(NTFS5),它提供了FAT和FAT32所没提 供的下列安全特性 ·访问控制列表( Access control list):对对象、文件及文件夹进行访问控制。ACL包括详 细记录,指出用户对文件和对象有什么访问权限 ·磁盘配额( Disk Quota):管理员可以监视和限制提供给用户使用的磁盘空间的大小。因 此,也能防止硬盘被填满。 ·加密的文件( Encrypted File):进一步的加密。当文件和信息被保存到磁盘时,NTFS能 加密敏感文件和信息 正如你所看到的那样,要建立一个安全的 Internet网络服务器,NIFS文件系统是非常好的选 择。如果你拥有有多个 Windows操作系统的网络,或负担不起升级的费用,应考虑如何设置系统。 1.跨操作系统的兼容性 并不每个 Windows版本都支持所有类型的文件系统,但网络共享可以解决这个问题 Windows2000支持NTFS5、NTF4、FAT32和FAT Windows nt4支持NTFS4和FAT。 Windows98支持FAT32和FAT Windows95、DOS和OS/2仅支持FAT 2.磁盘和文件容量 每种文件系统也对文件、磁盘和分区的大小有不同的限制,例如 ·FAT的分区不大于2GB FAT32的分区不大于2TB,且一个文件不得超过4GB NTFS的分区不大于2TB,而且文件大小只受分区大小的限制,但它不能在软盘上使用 24.2.2 Window2000安全检查列表 为了说明其余部分,将假定服务器使用 Windows2000。要建立一个可以提供安全的
730计计ASP 3 高级编程 下载 24.2 Windows 2000的防护 在这部分,将研究防护自己的操作系统的方式,以保证不受一般性攻击的影响。也将研 究有关与I n t e r n e t不进行连接的专用网络的相关知识。具体将研究以下几个方面的内容: • 硬盘格式。 • 创建访问控制列表(Access Control List,A C L )。 • 子系统删除( r e m o v a l )。 • 删除不必要的网络服务。 • 限制网络访问。 • TCP/IP过滤。 以上几方面的问题决定网络的安全程度。本节的目标是建立一系列防护 I n t e r n e t网站的安 全措施,防止破坏网络安全。 24.2.1 磁盘格式 在Windows 2000中,有三种不同的文件系统格式: FAT、FAT 3 2和N T F S。每一种格式都 与微软公司的操作系统有不同程度的兼容性。对于大多数安全的站点,应该立即略过这一部 分并选择使用Windows 2000支持的N T F S的最新版本( N T F S 5 ),它提供了FAT和FAT 3 2所没提 供的下列安全特性: • 访问控制列表(Access Control List):对对象、文件及文件夹进行访问控制。 A C L包括详 细记录,指出用户对文件和对象有什么访问权限。 • 磁盘配额(Disk Quota):管理员可以监视和限制提供给用户使用的磁盘空间的大小。因 此,也能防止硬盘被填满。 • 加密的文件(Encrypted File):进一步的加密。当文件和信息被保存到磁盘时, N T F S能 加密敏感文件和信息。 正如你所看到的那样,要建立一个安全的I n t e r n e t网络服务器,N T F S文件系统是非常好的选 择。如果你拥有有多个Wi n d o w s操作系统的网络,或负担不起升级的费用,应考虑如何设置系统。 1. 跨操作系统的兼容性 并不每个Wi n d o w s版本都支持所有类型的文件系统,但网络共享可以解决这个问题: • Windows 2000支持NTFS 5、NTF 4、FAT 3 2和FAT。 • Windows NT 4支持NTFS 4和FAT。 • Windows 98支持FAT 3 2和FAT。 • Windows 95、D O S和O S / 2仅支持FAT。 2. 磁盘和文件容量 每种文件系统也对文件、磁盘和分区的大小有不同的限制,例如: • FAT的分区不大于2 G B。 • FAT 3 2的分区不大于2 T B,且一个文件不得超过4 G B。 • NTFS的分区不大于2 T B,而且文件大小只受分区大小的限制,但它不能在软盘上使用。 24.2.2 Window 2000安全检查列表 为了说明其余部分,将假定服务器使用 Windows 2000 。要建立一个可以提供安全的
inaopub.com 第4服务器护731 下载 Internet环境的服务器,下一步是创建一个检查列表。在我们继续之前,有一些事情要考虑 以下建议的一部分要涉及改变系统注册表,如果不知道会发生什么后果,应该 备份它。虽然在后面的部分中要做的没什么危险,但为了安全起见,首先应备份系 统注册表。 1.设置服务器在域中的角色 在web服务器上安装 Windows2000时,选择不是域控制器。如果使用 WindOws nt4.0, 选择既不是域控制器,也不是备份域控制器的独立服务器,这将移除敏感的域信息,例如用 户名和口令,使之不暴露到 Internet (1)磁盘格式化 如前所述,NTFS提供了比FAT和FAT32更多的安全特性,如果服务器中的一个驱动器已 用FAT或FAT32格式化过,而且认为有必要改成NTFS,可以用 convert. exe命令,过程很 打开一个命令提示窗口。 键入C:}> convert d:/fs:ntfs 按照屏幕提示一步步进行。 注意这个过程不可逆转 (2)硬盘分区 把网络服务器的硬盘分成多个分区是一个好方法。把所有的Web文件都放在扩展分区或 逻辑分区上,这样就算黑客能控制你的网站,但也无法控制你的主分区,因此他无法修改和 损害任何系统文件(因为所有系统文件都在主分区上) (3)最新服务包和hot-fix 检查确定服务器上有符合自己安全策略的服务包和hot-fix,检查安装在服务器上的所有软 件在微软安全公告栏(MicrosoftSecurityBulletins)上的相关信息,在http://www.microsoft com/ seurity.上可找到这些内容。 (4)NTFS83命名格式 NTFS对16位程序提供一些向下的兼容性,在需要时会自动生成8.3格式文件名,例如 rogra-l/ word.exe,但在安全的 IInternet环境中,这个功能应该关闭。要关闭这项功能,可以 样做:执行 Start菜单中的Run,键入 regedit,并在注册表中编辑表24-2所示的键值。 表24-2修改注册表的键值 项目 路径和值 注册表路径 HKEY LOCAL MACHINESYSTEM 注册表键 \CurrentControlSet\ControlFile System 名称 Ntfs dot 3Name Creat 新值 注意,如此操作后,性能也会有所提高 (5)隐藏最后进入系统的用户名 能在服务器控制台隐藏最后进入系统的用户的用户名,即使有很多的人使用它也很容易
I n t e r n e t环境的服务器,下一步是创建一个检查列表。在我们继续之前,有一些事情要考虑。 以下建议的一部分要涉及改变系统注册表,如果不知道会发生什么后果,应该 备份它。虽然在后面的部分中要做的没什么危险,但为了安全起见,首先应备份系 统注册表。 1. 设置服务器在域中的角色 在We b服务器上安装Windows 2000时,选择不是域控制器。如果使用 Windows NT 4.0, 选择既不是域控制器,也不是备份域控制器的独立服务器,这将移除敏感的域信息,例如用 户名和口令,使之不暴露到 I n t e r n e t。 (1) 磁盘格式化 如前所述,N T F S提供了比FAT和FAT 3 2更多的安全特性,如果服务器中的一个驱动器已 经用FAT或FAT 3 2格式化过,而且认为有必要改成 N T F S,可以用c o n v e r t . e x e命令,过程很简 单: • 打开一个命令提示窗口。 • 键入C:\>convert d:/fs: ntfs。 • 按照屏幕提示一步步进行。 注意这个过程不可逆转。 (2) 硬盘分区 把网络服务器的硬盘分成多个分区是一个好方法。把所有的 We b文件都放在扩展分区或 逻辑分区上,这样就算黑客能控制你的网站,但也无法控制你的主分区,因此他无法修改和 损害任何系统文件(因为所有系统文件都在主分区上 )。 (3) 最新服务包和h o t - f i x 检查确定服务器上有符合自己安全策略的服务包和 h o t - f i x,检查安装在服务器上的所有软 件在微软安全公告栏 (Microsoft Security Bulletins)上的相关信息,在 h t t p : / / w w w. m i c r o s o f t . c o m / s e u r i t y上可找到这些内容。 (4) NTFS 8.3命名格式 N T F S对1 6位程序提供一些向下的兼容性,在需要时会自动生成 8 . 3格式文件名,例如: P r o g r a ~ 1 / w o r d . e x e,但在安全的I n t e r n e t环境中,这个功能应该关闭。要关闭这项功能,可以 这样做:执行S t a r t菜单中的R u n,键入r e g e d i t,并在注册表中编辑表2 4 - 2所示的键值。 表24-2 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S Y S T E M 注册表键 \ C u r r e n tCo n t r o l S e t \ C o n t r o l \ F i l e S y s t e m 名称 NtfsDisable8dot 3NameCreation 新值 1 注意,如此操作后,性能也会有所提高。 (5) 隐藏最后进入系统的用户名 能在服务器控制台隐藏最后进入系统的用户的用户名,即使有很多的人使用它也很容易。 第2 4章 服务器防护计计731 下载
7323高级程 Chinapub.com 下 两个键值控制着 Windows的这个特殊功能。实际上,第一步是停止在 Windows登录窗口中显示 用户名字。键值修改如表24-3所示 表24-3修改注册表的键值 路径和值 注册表路径 HKEY LOCAL MACHINE\SOFTWARE 册表 NT\Current Version winlogon 名称 DontDisplay LastUserName 但是,登录窗口仍然显示由第二个键控制的默认用户名,可以把他设成空白或一个不存 在的用户,如果在用户名框里显示一个伪造的用户名,会给服务器提供很大的安全。键值修 改如表24-4所示。 表244修改注册表的键值 路径和值 注册表路径 HKEY LOCAL MACHINE\SOFTWARE 注册表键 MMicrosoft windows nt\Current Version winlogo 名称 DefaultUser Name 设置成空白或其他的内容 (6)显示一个合法的警告信息 显示一个合法的警告信息,可以提醒一些人,并且也是系统获得C2安全认证所必须的(仅 在美国)。这个认证由NSA的 National Computer Security负责,表明这个服务器基本符合一个 安全的操作系统的标准,要在登录窗口内显示一段合法警告,可在注册表中编辑如表24-5、 表24-6所示的键值。 表24-5修改注册表的键值 注册表路径 HKEY LOCAC MACHINE\SOFTWARE 注册表键 \Microsoft\ windows nt\current Version winl 名称 新值 要显示的信息窗口的标题 表246修改注册表的键值 路径和值 注册表路径 HKEY LOCAL MACHINESOFTWARE 注册表键 MIcrosoft Windows NT\Current Version\ Winlogon 名称 LegalNotice Text 要显示的信息窗口的文本 (7)检查登录窗口中“关闭”按钮的状态 正如我们所知道的,不需进入系统,在登录窗口可以关闭 Windows2000服务器。通过设 置表24-7所示的注册表键值避免这种情况的发生
732计计ASP 3 高级编程 下载 两个键值控制着Wi n d o w s的这个特殊功能。实际上,第一步是停止在 Wi n d o w s登录窗口中显示 用户名字。键值修改如表2 4 - 3所示。 表24-3 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S O F T WA R E 注册表键 \ M i c r o s o f t \ Windows NT\Current Ve r s i o n \ Wi n l o g o n 名称 D o n t D i s p l a y L a s t U s e r N a m e 新值 1 但是,登录窗口仍然显示由第二个键控制的默认用户名,可以把他设成空白或一个不存 在的用户,如果在用户名框里显示一个伪造的用户名,会给服务器提供很大的安全。键值修 改如表2 4 - 4所示。 表24-4 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S O F T WA R E 注册表键 \ M i c r o s o f t \ Windows NT\Current Ve r s i o n \ Wi n l o g o n 名称 D e f a u l t U s e r N a m e 新值 设置成空白或其他的内容 (6) 显示一个合法的警告信息 显示一个合法的警告信息,可以提醒一些人,并且也是系统获得 C 2安全认证所必须的(仅 在美国)。这个认证由N S A的National Computer Security负责,表明这个服务器基本符合一个 安全的操作系统的标准,要在登录窗口内显示一段合法警告,可在注册表中编辑如表 2 4 - 5、 表2 4 - 6所示的键值。 表24-5 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A C _ M A C H I N E \ S O F T WA R E 注册表键 \ M i c r o s o f t \ Windows NT\Current Ve r s i o n \ Wi n l o g o n 名称 L e g a l N o t i c e C a p t i o n 新值 要显示的信息窗口的标题 表24-6 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S O F T WA R E 注册表键 \ M i c r o s o f t \ Windows NT\Current Ve r s i o n \ Wi n l o g o n 名称 L e g a l N o t i c e Te x t 新值 要显示的信息窗口的文本 (7) 检查登录窗口中“关闭”按钮的状态 正如我们所知道的,不需进入系统,在登录窗口可以关闭 Windows 2000服务器。通过设 置表2 4 - 7所示的注册表键值避免这种情况的发生
china pub coM 第章服务器防护733 表24-7修改注册表的键值 路径和值 HKEY LOCAL MACHINE\SOF TWARE 注册表键 \Microsoft\Windows nT Current Version\ Winlogon Shutdown without logon 新值 8)禁止匿名的网络访问 Windows2000允许未经验证的用户枚举在系统上的用户。通过编辑注册表来禁止这一功 能,如表24-8所示。 表24-8修改注册表的键值 路径和值 注册表路径 HKEY LOCAL MACHINEISYSTEM 注册表键 \Currentcontrolset\control\lSA 名称 restrictanonymous (9)禁止自动共享网络共享 Windows2000允许共享创建的网络驱动器并自动共享所有的驱动器,并在 C: winnt下创建 一个 ADMINS$共享。在一个标准的网络中,这是一个很好的特性,但由于多方面的安全原因 不适合于一个安全的 Internet环境。可以新建下列键来禁止这个功能。如表24-9所示 表24-9新建注册表的键值 项目 路径和值 注册表路径 HKEY LOCAL MACHINEISYSTEM 注册表键 urrentControlSet\Services\Lanman Server\Parameters 名称 (0检查注册表中对于远程访问的许可 indows2000支持对注册表的远程访问,我们应该使用 regedit32,而不是使用 regedit在下 键值上设置相应的许可。如表24-10所示 表24-10修改注册表的键值 注册表路径 HKEY LOCAL MACHINESYSTEM 注册表键 \CurrentControlSet\ControlSecurePipe Servers 名称 点击工具栏上的 Security,并选择 Permissions,将注意到管理员有完全的控制, Backup Operator(备份操作员)有读访问的权限。如果在本地的计算机上有备份软件则可删除这个读访 问权限。如果远程备份软件没有备份注册表,也可删除它 (11)给管理员的帐号改名
表24-7 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S O F T WA R E 注册表键 \ M i c r o s o f t \ Windows NT\Current Ve r s i o n \ Wi n l o g o n 名称 S h u t d o w n Wi t h o u t L o g o n 新值 0 (8) 禁止匿名的网络访问 Windows 2000允许未经验证的用户枚举在系统上的用户。通过编辑注册表来禁止这一功 能,如表2 4 - 8所示。 表24-8 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S Y S T E M 注册表键 \ C u r r e n t C o n t r o l S e t \ C o n t r o l \ L S A 名称 r e s t r i c t a n o n y m o u s 值 1 (9) 禁止自动共享网络共享 Windows 2000允许共享创建的网络驱动器并自动共享所有的驱动器,并在 C : \ w i n n t下创建 一个A D M I N S $共享。在一个标准的网络中,这是一个很好的特性,但由于多方面的安全原因, 不适合于一个安全的I n t e r n e t环境。可以新建下列键来禁止这个功能。如表 2 4 - 9所示。 表24-9 新建注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S Y S T E M 注册表键 \ C u r r e n t C o n t r o l S e t \ S e r v i c e s \ L a n m a n S e r v e r \ P a r a m e t e r s 名称 A u t o S h a r e S e r v e r 值 1 (10) 检查注册表中对于远程访问的许可 Windows 2000支持对注册表的远程访问,我们应该使用 r e g e d t 3 2,而不是使用r e g e d i t在下 列键值上设置相应的许可。如表 2 4 - 1 0所示。 表24-10 修改注册表的键值 项 目 路径和值 注册表路径 H K E Y _ L O C A L _ M A C H I N E \ S Y S T E M 注册表键 \ C u r r e n t C o n t r o l S e t \ C o n t r o l \ S e c u r e P i p e S e r v e r s 名称 \ w i n r e g 点击工具栏上的 S e c u r i t y,并选择P e r m i s s i o n s,将注意到管理员有完全的控制, B a c k u p O p e r a t o r (备份操作员)有读访问的权限。如果在本地的计算机上有备份软件则可删除这个读访 问权限。如果远程备份软件没有备份注册表,也可删除它。 ( 11) 给管理员的帐号改名 第2 4章 服务器防护计计733 下载
734sp3高级程 Chinapub.com 下 因为系统管理员对系统有最大的权限,所以黑客总是试着以管理员的身份攻击系统。为 了防止这种情况发生,可以改变管理员的帐号,并且建立一个假帐号并禁止它没有任何访问 权限。用下面简单的几步就可实现,在 Start菜单中选择 Programs| Administrative Tools Computer Management,在出现的对话框中选择 System Tools I Local Users and Groups| Users 选择他并按F2,就可以修改管理员的帐号了。要建立一个假的管理员帐号,在 Action菜单中 选 New User.,并命名帐号为 Administrator,如图24-1所示 nnce Log and Alh erice and Aodcalont 图24-1建立一个假的管理员帐号的窗口 12)禁止使用管理员工具 有一些工具只有管理员能够使用。实施的最简单的方式是创建一个新的文件夹,如 c: admintools,将相应的工具拷贝到该文件夹内,并设置文件夹的许可权限,使之仅能由 Administrator和 System帐号控制其内容。可在 Windows Explorer中右击文件夹,选择 Properties 可得到文件夹的安全对话窗口。 下面是一些应该以上述方式保护的工具的列表。可根据自己的情况进行相应删减。 cmd.exe:给出可以运行系统任务的命令提示。 cscript.exe: Windows,脚本主机,用于在命令行中执行一个脚本 ftp.exe:用于跨服务器和网络传输文件 net. exe:用于在网络中完成许多功能 · telnet. exe:用于启动远程控制台,与另一个服务器进行 telnet会话 telnet. exe:同上 wscript.exe: Windows脚本主机,用于在GUI环境中执行一个脚本。 2.使用微软管理控制台( Microsoft Management Console,MMC Windows2000最大改进之一是使用MMC来控制每一个管理应用程序,可以通过自定义 MMC来控制所有管理工具。因此可以避免一次打开很多辅助工具引起的混乱。下面的步骤能 建立一个包含所有用信息的自定义MMC会话。 在 Start菜单中选择Run,并键入mmc/a,引出一个MMC窗口,并提供管理员特权。 在 Console菜单中,选择 Add I Remove Snap-in 在对话框中点击Add按钮。 在 Add standalone snap-in对话框中,选择 Group Policy和 Event Viewer,在两处均选择 Local Computer选项 点击 Close,然后点击Ok
734计计ASP 3 高级编程 下载 因为系统管理员对系统有最大的权限,所以黑客总是试着以管理员的身份攻击系统。为 了防止这种情况发生,可以改变管理员的帐号,并且建立一个假帐号并禁止它没有任何访问 权限。用下面简单的几步就可实现,在 S t a r t菜单中选择 P r o g r a m s│Administrative To o l s│ Computer Management,在出现的对话框中选择System To o l s│Local Users and Groups│U s e r s。 选择他并按 F 2,就可以修改管理员的帐号了。要建立一个假的管理员帐号,在 A c t i o n菜单中 选New User. . .,并命名帐号为A d m i n i s t r a t o r,如图2 4 - 1所示。 图24-1 建立一个假的管理员帐号的窗口 (12) 禁止使用管理员工具 有一些工具只有管理员能够使用。实施的最简单的方式是创建一个新的文件夹,如 c : \ a d m i n t o o l s,将相应的工具拷贝到该文件夹内,并设置文件夹的许可权限,使之仅能由 A d m i n i s t r a t o r和S y s t e m帐号控制其内容。可在Windows Explorer中右击文件夹,选择P r o p e r t i e s 可得到文件夹的安全对话窗口。 下面是一些应该以上述方式保护的工具的列表。可根据自己的情况进行相应删减。 • cmd.exe:给出可以运行系统任务的命令提示。 • cscript.exe:Wi n d o w s脚本主机,用于在命令行中执行一个脚本。 • ftp.exe:用于跨服务器和网络传输文件。 • net.exe:用于在网络中完成许多功能。 • telnet.exe:用于启动远程控制台,与另一个服务器进行 t e l n e t会话。 • telnetc.exe:同上。 • wscript.exe:Wi n d o w s脚本主机,用于在G U I环境中执行一个脚本。 2. 使用微软管理控制台(Microsoft Management Console,M M C ) Windows 2000最大改进之一是使用 M M C来控制每一个管理应用程序,可以通过自定义 M M C来控制所有管理工具。因此可以避免一次打开很多辅助工具引起的混乱。下面的步骤能 建立一个包含所有用信息的自定义 M M C会话。 • 在S t a r t菜单中选择R u n,并键入mmc /a,引出一个M M C窗口,并提供管理员特权。 • 在C o n s o l e菜单中,选择A d d│Remove Snap-in.。 • 在对话框中点击A d d按钮。 • 在Add standalone snap-in 对话框中,选择Group Policy 和Event Vi e w e r,在两处均选择 Local Computer选项。 • 点击C l o s e ,然后点击O k
chinaopub.com 第4章务器防护735 下载 展开 Local Computer Policy 展开 Computer Configuration 展开 Windows Settings 展开 Security Settings 在这个安全性文件夹中,大部分选项都可以选取,如图24-2所示 →日四 型 Policy Gaseculy Optione Admnehare T的se I Evert Viewer Loca 图24-2创建自定义的MMC会话 (1)增强口令的安全性 确保所有的口令至少有九个字符,这样能减小被发现的风险。把口令加密,确保有大小 写字母和数字的混合。通过改变存储在 Account Policy下的 Password Policy文件夹中的值来指 定这些选项或其他的一些选项 2)帐号锁定保护 如果有人试着去猜测某帐号的口令,应该封锁该用户的帐号。为实现这个功能,进入 Account Lockout Policy文件夹,改变 Account Lockout Count的值,这个值表示输入几次错误 口令就封锁帐号。也可以设定一段时间内封锁该帐号,并且在到期后恢复该帐号 网络访问的范围 Windows2000缺省情况下允许每个人都可以从网上访问服务器,这是一个相当大的安全 漏洞。可以进入 Local policies文件夹,选择 User Rights Assignment文件夹来改变这个功能 双击 Access this computer from the network图标,不要选择 Everyone框中的 Local policies,点 击Add按钮,并选择 Authenticated Users,然后点击Ad并点击OK按钮,将得到是否更新的提 示信息,然后选Yes (4)审计对服务器的登录 为了在安全事件日志文件中记录登录活动的信息,可以进入文件夹 Audit Policy,并改变 audit account logon events和 audit logon events的设置。应该对所有登录尝试,无论成功与否 都记录在日志文件中。这是一个很好的办法,能够了解对用户帐号进行的活动 (5)日志文件的覆盖间隔
• 展开Local Computer Policy。 • 展开Computer Configuration。 • 展开Windows Settings。 • 展开Security Settings。 在这个安全性文件夹中,大部分选项都可以选取,如图 2 4 - 2所示。 图24-2 创建自定义的M M C会话 (1) 增强口令的安全性 确保所有的口令至少有九个字符,这样能减小被发现的风险。把口令加密,确保有大小 写字母和数字的混合。通过改变存储在 Account Policy下的Password Policy文件夹中的值来指 定这些选项或其他的一些选项。 (2) 帐号锁定保护 如果有人试着去猜测某帐号的口令,应该封锁该用户的帐号。为实现这个功能,进入 Account Lockout Policy文件夹,改变Account Lockout Count的值,这个值表示输入几次错误 口令就封锁帐号。也可以设定一段时间内封锁该帐号,并且在到期后恢复该帐号。 (3) 限时网络访问的范围 Windows 2000缺省情况下允许每个人都可以从网上访问服务器,这是一个相当大的安全 漏洞。可以进入 Local Policies文件夹,选择User Rights Assignment文件夹来改变这个功能。 双击Access this computer from the network 图标,不要选择E v e r y o n e框中的 Local Policies,点 击A d d按钮,并选择Authenticated Users,然后点击A d d并点击O K按钮,将得到是否更新的提 示信息,然后选Ye s。 (4) 审计对服务器的登录 为了在安全事件日志文件中记录登录活动的信息,可以进入文件夹 Audit Policy,并改变 audit account logon events和audit logon events 的设置。应该对所有登录尝试,无论成功与否 都记录在日志文件中。这是一个很好的办法,能够了解对用户帐号进行的活动。 (5) 日志文件的覆盖间隔 第2 4章 服务器防护计计735 下载