第4部分:深入研究操作系统安全模型、Linux安全(书中是Unix,但Linux更常见且类似Unix)、Windows安全、保障基础设施服务、虚拟机和云计算、移动设备的保护。

fcb39c588e4b2bb117f421af64a2d0d2.png

第20章 操作系统安全模型  详见链接 第21章 Linux安全 详见链接 第22章 Windows操作系统的安全性  详见链接

第23章 Windows操作系统的安全性

在网络环境中,操作系统之上必须部署特定的应用程序以便对外提供网络连接服务,IT基础设施必须依赖这些服务。如果这些服务宕机,或者遭遇恶意软件或攻击者的攻击,安全就无从说起了。所以,本章将着重讨论最关键的IT基础设施服务的安全配置和管理问题,主要包括:
  • 电子邮件
  • Web服务器
  • 代理服务器
  • DNS

6932eee734192ad4d8adbe3ee3991b92.png

4.2.1 电子邮件

对于大部分人来说,电子邮件是必要的交流媒介,人们经常使用邮件进行在线交流,并且利用邮件的附件功能进行文档共享。然而,电子邮件为恶意分子提供了侵入受保护的私有网络的机会,邮件消息能够穿越防火墙以及其他防御设施,但邮件当中可能隐藏着垃圾邮件、恶意软件(例如病毒和特洛伊木马),从而威胁到邮件消息中私有数据的机密性。从这个角度上来看,邮件是网络当中一个巨大的后门。 为了应付邮件的威胁,对邮件服务的工作原理有基本的了解是十分有效的,这样就可以使用正确的策略来配置邮件服务器。本节将要讨论安全从业人员必须掌握的邮件服务配置知识,主要包括以下几个方面:电子邮件协议、垃圾邮件控制、恶意软件控制。接下来,我们概要介绍一下这几方面内容。 1、协议缺陷和应对措施 邮件是一个两端系统,一 端是发送端, 另端是接收端。SMTP和ESMTP是发送协议,主要用来在终端间发送消息。POP3和IMAP4是接收协议,被设计用来实现用户交互。 SMTP协议有两个不同的版本:标准SMTP协议和扩展SMTP协议(ESMTP)。标准SMTP是明文传输、且没有考虑身份验证;ESMTP支持身份验证。 POP3协议和SMTP协议十分相似,唯一不同的是POP3只用来接收邮件,而不是发送邮件。POP3协议使用纯文本进行交互,和标准SMTP一样,明文传输、且没有考虑身份验证;APOP3协议允许开启一个 挑战发送用户密码的MD5哈希值。 Intermet消息访问协议(IMAP4)也是一个纯文本的邮件协议,是POP3和SMTP协议的综合体。这也就意味着,支持该协议的客户端可以连接到SMTP服务器去发送邮件。IMAP4协议通常使用TCP端口143。客户端连接到IMAP4服务器,首先使用自己的用户和密码进行验证,验证成功了才能处理存放的邮件。与POP3和SMTP协议不同的是,IMAP4 能够在两种不同的持久性模式下工作:协议可以将邮件全部存放在服务器上(默认模式),或者工作在离线模式下,这种模式的邮件信息存放在客户端设备中。POP3和IMAP4协议之间的另一个不同点是,IMAP4 协议允许用户建立目录,将自己的邮件存放到目录中去。 SMTP、POP3 和IMAP4协议都得到SSL协议的支持。假如没有使用SSL,即使在验证过程中对验证信息加密,交互信息也可能被拦截。SSL从开始到结束对会话进行加密,这让验证阶段的或者邮件信息交互阶段的信息拦截变得十分困难。 2、垃圾邮件及垃圾邮件控制 垃圾邮件是一种电子的 “垃圾邮件”,或试图出售商品的未经请求的电子邮件或服务。垃圾会浪费人时间和资源,还会携带恶意软件,所以危害比较大。 开放中继服务器是被配置为接受任何人请求的邮件服务器,从而允许互联网上的所有人向任何地方的所有域发送电子邮件而不被追踪。这样的中继之所以存在是因为错误的邮件服务器配置或直接使用默认的服务器设置,也可能安装了邮件服务器软件的服务器被黑。 另一个受垃圾邮件:发送者欢迎的伪装身份的方法是使用开放代理。开放代理允许互联网用户通过他们传输数据,并向目标主机显示代理的IP地址,而不是连接到代理的计算机的IP地址。 网络运营商通常会尝试过滤掉尽可能多的垃圾邮件来保护他们的用户。达到该目的的最简单的方法是向提供垃圾邮件过滤的公司寻求帮助。这些公司一般会维护一个实时的黑名单(RBL)。 如果垃圾邮件绕过垃圾邮件过滤器,出现在个人收件箱中,最好能是好用一些带有垃圾过滤器的电子邮箱客户端。 3、恶意软件及恶意软件控制 对于邮件中带有恶意软件,最好的方法就是通过网络中病毒网关,和主机中的杀毒软件来进行控制。 4.2.2 Web服务器

Web安全分为两大类:

  • Web 服务器的安全性(Web服务器本身的安全和软件配置)

  • Web应用程序的安全性(在Web服务器上运行的Java、ActiveX、 PHP、ASP 代码的安全)

在这一章中我们关注的主要是第一个主题,即Web服务器的安全性。 Web应用程序的安全性将在应用程序安全中有探讨。 1、攻击类型 冲区溢出漏洞。Web服务器攻击利用Web服务器软件和配置中常见的漏洞。这些漏洞包括:缓冲区溢出,允许恶意代码注入应用程序。以下是缓冲区溢出漏洞的一个简单示例代码,使用C语言编写:
char aTmp[100];scanf ("%s", aTmp);

在第一行中,程序员声明一个长度为100的数组aTmp。在第二行中,scanf 方法从控制台读取数据存到aTmp数组。代码不会检查%s变量是否能够容纳输入数据的大小。因为程序员没有编写代码对输入字符串的大小进行检查,如果给定的输入超过100个字符,就会造成缓冲区溢出。一个精心构造的输入中可能包含汇编代码,这部分汇编代码能够获得和源程序一样的运行权限。

目录遍历。目录遍历是指访问了不是原先设想或允许的目录(或文件夹)。例如,微软IIS Web站点的默认文件夹为C:\inetpub,攻击者可使用目录遍历漏洞,在该文件夹之外去读取他们本不该访问的文件。详细来说,假如有一个网址为www.bad.com的网站,其服务器代码中包含目录遍历漏洞。攻击者通过输入以下URL就可以利用该漏洞:

http://www.bad.com/../autoexec.bat

URL中的"../"告诉服务器进入上一个目录,也就是“C:\”目录(Web服务器可以将斜杠转换为反斜杠)。所以如果IIS服务器默认目录为c:\inetpub,那么该URL会转到"C:\"目录,攻击者将能够看到c:\autoexec.bat文件。

脚本权限。为了运行通用网关接口(CGI)、Perl或者其他服务器端应用程序,管理员必须授予服务器端应用程序所在的目录以可执行权限。一些管理员给错误位置授予此权限(通常是因为他们不明白这么做会带来的问题)。让我们看看下面的示例,探讨如果管理员将此权限授予C盘下的所有目录将发生什么。
http:/www . bad. con/.. /winnt /system32/cmd. exet20*2fc20dir
经Web服务器解析后,就成为下面的URL:
../winnt/system32/cmd.exe /c dir
这是要执行cmd.exe并告诉它执行dir命令。cmd.exe是位于C:\winnt\system32文件夹中的命令外壳。dir命令列出当前目录中的所有文件,并将结果返回给用户。当然,这只是一个简单的例子,攻击者可以执行更复杂的命令以达到删除、运行或修改Web服务器上数据的目的。 目录浏览。通常情况下,目录浏览是禁用的,但是如果启用它,则它显示该目录中的所有文件,并允许浏览子目录。有时知道一个文件存在可以帮助攻击者利用Web服务器上文件和程序的漏洞。为此,不建议启用Web服务器上的目录浏览。

默认示例。默认示例是包含在Web服务器软件中并在服务器软件安装时默认安装的应用程序。一些默认安装的示例包含安全漏洞。针对这些漏洞保护的最佳办法是不要安装示例,如果已经安装了,最好把它们删除掉。

其他服务。攻击者可以通过攻击在Web服务器上运行的其他服务来攻陷Web服务器。这些服务包括FTP、SMTP、POP3、SQL服务器和NetBIOS防止此类攻击的最佳方法是减少“受攻击面”。 Web服务器软件的固有漏洞。每个Web服务器软件,包括IIS和Apache,都有由于相关程序员缺乏安全的编码技术而造成的内置漏洞。例如,IIS 的.htr漏洞,允许攻击者看到驻留在服务器上的文件的内容。几乎每周都会发布主要的Web服务器软件平台中的新漏洞。 2、Web 服务器的保护

针对上述漏洞的最佳做法是遵循以下建议搭建并运行Web服务器。采取下列措施将提高Web服务器的安全性:

  • 给Web服务器服务或守护程序配置能够使它正常运行的最少的权限。这样,即使攻击者控制了Web服务器,他们也只能获得运行该软件对应的用户账户的权限。结果是,攻击计算机或网络上的其他软件的可行方案就极为有限了。

  • 安装最新的安全补丁并时刻关注漏洞的最新动态。

  • 删除默认示例或避免安装类似的示例。

  • 通过删除不需要的应用程序,安全配置同台计算机上的其他网络服务,确保操作系统已安装最新的安全补丁来保证承载Web服务器的计算机的安全。如果还要继续“强化”操作系统的安全,则使用第21章和第22章中提供的相关方法。

  • 确保只给包含需要执行的脚本的单独的目录运行的权限。

  • 在Web服务器上的每个目录中都提供一个index.html文件,以避免需要目录浏览。

第三方安全产品。 商业和免费的产品也可以帮助抵御与Web服务器相关的不同漏洞。 主要有以下产品:
  • 软硬件防火墙

  • Web 应用防火墙(WAF)

  • 病毒防御软件

  • 基于ISAPI的安全产品

  • 安全日志

  • 反馈分析软件

  • 入侵检测系统和入侵防御系统

  • 漏洞扫描软件

  • 输入验证

4.2.3 DNS服务器 域名服务(DNS)是一个分层命名服务(即服务体系是树形结构的),默认使用的是TCP和UDP端口53,相关定义请参见RFC 1034和RFC 1035文档。相比TCP、UDP协议在域名解析中的应用更为广泛,但是在涉及区域传输和长邮件时,还是要用到TCP协议。若要解析一台服务器的IP地址,例如www.google com,一般向DNS服务器发出解析请求。DNS服务器会转发请求,直到找到所请求的域名,并返回对应的IP地址。下图详细描述了DNS服务器的工作模式。

2242da88620376011884dfbde5577b51.png

应该采取以下措施使DNS服务器更加安全:
  • 安装补丁修复内置软件的漏洞
  • 通过配置防止区域传输到未认证的IP
  • 防止缓存污染
关于更多DNS的攻击和防御,这里就不再深入。因为要了解这些,必须对DNS机制和协议足够的了解,后续有相关内容会对DNS安全进行介绍。 4.2.4 代理服务器 如今几乎每个人都使用互联网。人们在Web上冲浪或发送电子邮件时,只关心数据出现在他们的计算机上,并不关心数据是如何从A点传输到B点的。代理服务器作为服务器和它的客户端之间无形的缓冲区,使用代理连接来保护终端用户和服务器之间通信的安全。即使用户收到的数据是相同的,他们还是不知道自己连接到的是代理服务器而不是Web服务器。“代理服务器”一词涉及不同的技术,对应着不同类型的代理。让我们看看最常见的几种代理服务器。 1、HTTP 代理 HTTP代理用来把HTTP请求发到Web服务器并把HTTP答复返回给浏览器。客户端使用HTTP协议连接到HTTP代理并请求数据。对于终端用户来说,使用代理和直接请求Web服务器这两种方式是没什么区别的。在客户端通过代理请求数据之后,代理服务器将代表客户端发出请求。代理可以利用此功能来缓存结果并通过提供立即的响应来提高灵敏度,而不是等待从网络返回的结果。 2、FTP 代理 FTP代理类似HTTP代理,不同的就是FTP代理使用FTP协议。客户端连接到FTP代理,FTP代理则在FTP服务器和客户端之间进行协调。 3、直接映射 管理员可以将本地的IP 地址和端口“直接映射”到远程的P地址和端口。例如, 管理员可以将代理服务器的IP地址192 168.1.100和TCP端口25映射到SMTP服务器的IP地址10.1.250.50和TCP端口25。如果用户连接到代理服务器IP地址(如我们的示例中的192.168.1.100),则会通过隧道连接到远程服务器(如我们的示例中的10.1.250.50),所以他们看起来像是直接连接到远程服务器上。 4、POP3 代理 POP3可以像SMTP样设置隧道, 但是,如果拥有 不同的电子邮件账户,那就不得不允许连接到多个POP3服务器。

5、HTTP 连接

根据1.1版本的HTTP标准,一个客户端请求Web服务器时可以使用传输层安全协议(TLS)。为了做到这一点,客户端发出CONNECT命令,后面紧跟着发出请求的目的地地址和端口,如下所示:
CONNECT www. site .com:80 HTTP/1.1
这就告诉了Web服务器(或代理服务器)把连接转发到使用TCP端口80的www.site.com站点, 它会返回一一个标准的HTTP答复,如下所示 :
HTTP/1.1 200 OK
在成功响应之后,会话将表现得跟直接连接一模一样。 6、反向代理 可以这样配置代理服务器,使其接受来自互联网的连接并将其转发到你的服务器。这通常称为反向代理,因为它的连接来源于互联网,而不是本地网络。而从功能上来讲,反向代理跟常规代理没有什么区别。通过隧道连接服务,反向代理将互联网连接到特定服务器,例如Web服务器或者SMTP或POP3服务器。这样,如果攻击者认为它是真正的服务器而进行攻击的话,攻击对象是代理服务器,实际上是危害不到实际服务器的。下图显示了一个典型的反向代理的配置方式。

694c6296bffb89f47e36d46066143f7f.png

相关链接:

碎片化学习真能让你提升能力吗?

网络安全初学者如何用体系化方法进行高效学习:相关书籍和方法推荐

用体系化方法入门网络安全:《信息安全完全参考手册》-- 总览

用体系化方法入门网络安全:信息安全完全参考手册-第1部分--总览

用体系化方法入门网络安全:信息安全完全参考手册-第4部分-第1章

用体系化方法入门网络安全:信息安全完全参考手册-第4部分-第2章

用体系化方法入门网络安全:信息安全完全参考手册-第4部分-第3章

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐