网络安全设计、配置与管理大全
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第4章 Windows端口安全

端口也称“网络接口”,是服务器对外提供网络服务的主要通道,不同的网络服务使用不同的端口。一台服务器可以同时绑定多个IP地址,每个IP地址又可以通过开辟不同的端口来提供不同的网络服务。通过这个形象的比喻不难看出:开放端口越多,服务器的安全性就越差;因此,如何保证Windows端口安全是网络安全中的一个重要问题。

4.1 端口概述

正因为有了端口的概念,才使得一台服务器可同时提供多种网络服务。每一种网络服务和网络应用程序使用的端口都是不相同的,例如WWW服务使用80端口,FTP服务使用21端口,局域网通信使用445端口等。每个IP地址可提供65536个端口,有些端口是默认开放的,有些则是关闭的;而开放的端口随时都有可能成为非法入侵者的跳板,故必须充分了解计算机的端口开放情况。

4.1.1 端口分类

通常情况下,IP地址的端口都是以端口号来标记的,端口号是从0~65535之间的一个任意整数。从逻辑意义上说,端口分类有多种分类标准,其中较为常用的两种分类方法是按端口号分布划分和按协议类型划分。

1.按端口号划分

按照端口号划分,可以将端口分为三大类,即公认端口、注册端口、动态或私有端口。

(1)公认端口

公认端口(Well Known Ports)范围为0~1023。这些端口号一般被系统固定地分配给一些服务。例如21端口被分配给FTP服务,25端口被分配给SMTP(简单邮件传输协议)服务,110端口被分配给POP3服务,80端口被分配给WWW服务,135端口被分配给RPC(远程过程调用)服务等。

(2)注册端口

注册端口(Registered Ports)范围为1024~49151。注册端口松散绑定于一些服务,即端口号一般都不会固定地分配给某个服务,许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中自动分配一个端口给程序使用。比如,1024端口就是分配给第一个向系统发出申请的程序,而在该程序进程关闭后,就会释放其所占用的1024端口。因此,注册端口在一定程度上降低了系统的安全性。

(3)动态或私有端口

动态或私有端口(Dynamic and/or Private Ports)范围为49512~65535。通常情况下,不建议为服务分配这些端口。动态端口和注册端口并无太大区别,因此可以直接将端口按照端口号划分为公认端口(0~1023)和私有端口(1024~65535)。

2.协议类型划分

端口按协议类型划分,可以分为TCP、UDP等端口。

(1)TCP端口

TCP端口是由TCP协议而来的,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。

常用的TCP端口有如下几种。

HTTP:超文本传送协议使用80端口,用于实现Web服务和网页浏览;

FTP:文件传输协议使用21端口,用于实现文件的上传和下载;

SMTP:简单邮件传送协议使用25端口,用于发送电子邮件;

POP3:邮局协议使用110端口,用于接收电子邮件。

(2)UDP端口

UDP端口,即用户数据包协议端口,无须在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等。

常用的UDP端口有如下几种。

DNS:域名解析服务使用53端口。用于实现将域名解析为IP地址;

提示

DNS服务还同时使用TCP 53端口。

SNMP:简单网络管理协议使用161 端口,用于实现对网络设备的远程管理和监视。由于网络设备很多,无连接的服务就体现出其优势;

QQ:QQ服务使用8000端口,侦听是否有信息发送过来,客户端使用的是4000端口,并通过该端口向外发送信息。但如果上述端口正在使用(例如,同时与几个好友聊天),则端口号顺序自动递增4001、4002……。

4.1.2 应用程序和服务端口

IP地址和端口之间是一对多的关系,因此服务器只需设置一个IP地址,即可同时提供各种服务,并且可以通过其他应用程序访问网络。其实,任何网络服务的提供都是基于“IP地址+端口号”形式实现的,只不过许多常用网络服务都使用公认端口,所以客户端通常可以省略;但是如果服务器端提供服务的端口发生变化,客户端也必须随之调整才能继续访问。因此,了解常见应用程序和服务端口对系统安全有着重要意义。Windows服务器和常见应用程序所使用的端口号及端口类型如表4-1所示。

表4-1 常见应用程序和服务端口

4.1.3 端口攻击

看似神秘的网络攻击其实很多都是通过端口实现的,默认情况下,系统为了提供各种网络服务和网络访问功能,已经开放了许多端口,并处于“待命”状态。入侵者通常都是借助各种扫描工具探测某用户计算机的端口开放情况,最终实施系统攻击的。植入木马是比较常用的端口攻击方式之一。简单地讲,木马就是未经用户许可,而在计算机中安装的非法外联软件。木马主要有两种方式。

开放服务端口的木马。这类木马都需要在计算机使用者的计算机上开启某个服务端口作为“后门(BackDoor)”。成功后,该后门处于LISTENING状态,其端口号可能固定一个数,也可能变化,还有的木马可以与正常的端口合用。例如开着正常的80 端口(WWW服务),木马也用80端口。这种木马最大的特点就是有端口处于LISTENING状态,需要远程计算机连接。对一般用户来说,这种木马容易防范,将防火墙设为拒绝从外到内的连接即可。

反弹型木马。反弹型木马是从内向外的连接,可以有效地穿透防火墙,即使使用的是内网IP地址,一样也能访问计算机使用者的计算机。这种木马的原理是服务端主动连接客户端(黑客)地址。木马的服务端软件就像Internet Explorer一样,使用动态分配端口去连接客户端的某一端口,通常是常用端口(例如端口80),而且会使用隐蔽性较强的文件名,例如iexpiore.exe、explorer(IE的程序是IEXPLORE.EXE)。

计算机病毒和木马通过端口和其他的计算机进行链接,在网络环境中,可以使用防火墙或者本地安全策略的方式关闭某些端口。表4-2所示是常见病毒和木马的端口使用情况。

表4-2 常见病毒和木马使用端口

续表

续表

续表

续表

续表

续表

续表

注意:

方向栏中i代表入站,o代表出站。

4.1.4 查看使用端口

所有网络攻击,都必须借助相应TCP/UDP端口才能实现。因此,及时了解和控制系统端口的开放情况才是应对各种网络攻击的有效措施。但是系统端口共有65536个,要想了解当前端口的开放情况和工作状态并非易事。这里,介绍几种常用的端口查看工具,可以适用于各种系统环境。

1.Windows系统内置端口查看工具——Netstat

Netstat是内置于Windows系统的一款功能强大的命令行工具,可以查看本地TCP、ICMP、UDP、IP协议的使用,查看各个端口的开放情况,显示活动的TCP连接、计算机侦听的端口、以太网统计信息、IP路由表、IPv4统计信息(对于IP、ICMP、TCP和UDP协议)以及IPv6统计信息(对于IPv6、ICMPv6、通过IPv6的TCP以及通过IPv6的UDP协议)。

(1)Netstat命令的基本语法

Netstat命令的语法格式及参数使用情况如下:

Netstat [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

-a:显示所有连接和监听端口。

-b:显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下显示包含于创建连接或监听端口的组件序列。这种情况下,可执行组件名在底部的[ ]中,顶部是其调用的组件。注意此选项可能需要很长时间,如果没有足够权限可能失败。

-e:显示以太网统计信息。此选项可以与“-s”选项组合使用。

-n:以数字形式显示地址和端口号。

-o:显示与每个连接相关的所属进程ID。

-p proto:显示proto指定的协议的连接;proto可以使用的协议包括:TCP、UDP、TCPv6或UDPv6。如果与-s选项一起使用则显示按协议统计信息,proto可以使用的协议包括:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或UDPv6。

-r:显示路由表。

-s:显示按协议统计信息。默认显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的统计信息。

-p:选项用于指定默认情况的子集。

-v:与-b选项一起使用时,将显示包含于为所有可执行组件创建连接或监听端口的组件。

Interval:重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按下Ctrl+C快捷键停止重新显示统计信息。如果省略,netstat显示当前配置信息(只显示一次)。

(2)查看当前连接使用的端口

查看当前有哪些计算机正在与本机连接,以及所使用的IP地址以及端口等信息,根据这些信息即可判断一个连接的安全性。在Windows Server 2008系统中,依次选择“开始”→“所有程序”→“附件”→“命令提示符”选项,打开“命令提示符”窗口。输入如下命令:

Netstat -na

回车确认,命令成功执行,如图4-1所示。

图4-1 查看本地计算机目前连接的端口

命令执行结果显示当前计算机连接情况及打开的端口。其中,“Local Address”表示本机IP地址和所打开的端口号,“Foreign Address”表示远程计算机的IP地址和端口号,“State”表示当前TCP的连接状态,“LISTENING”是监听状态,表示本机正在打开135 端口监听,正在等待远程计算机的连接。

(3)查看链接端口的宿主

在某些情况下,不但要确认哪些端口是打开的,还要确认使用这些已经打开的端口的应用程序,这种做法通常用来确认一些木马所使用的程序,以及其所使用的端口。在“命令提示符”窗口中输入如下命令:

Netstat -nab

回车确认,命令成功执行,如图4-2所示。

图4-2 显示应用程序打开的端口

从图4-2中可以看出,在命令执行结果中,显示了每个连接都是由哪些程序创建的。例如本机在49203和49208端口,都是由系统内置的应用程序“iexplore.exe”创建的。如果发现有可疑程序正在打开某些端口,则根据端口和木马、病毒的对应情况,即可发现是否是网络攻击。

2.端口查询工具——PortQry

Portqry.exe是Windows Support Tools中的一个实用命令行工具,其英文全称为PortQry Command Line Port Scanner。PortQry可以报告本地计算机或远程计算机上,目标TCP端口和用户数据报协议(UDP)端口的状态。Windows 2000/XP/2003用户,可以从系统安装光盘中的支持工具包中获得,路径为:X:\SUPPORT\TOOLS\SUPPORT.CAB。Windows Vita/2008用户则可以登录微软网站下载该工具,网址为:

http://download.microsoft.com/download/0/d/9/0d9d81cf-4ef2-4aa5-8cea-95a935ee09c9/PortQryV2.exe。

(1)PortQry概述

PortQry的安装非常简单,下载或提取之后直接运行即可。安装完成后,打开命令提示符窗口,并转至PortQry的安装目录,即可执行各种查询命令。PortQry命令的语法格式及参数用法说明如下:

portqry /n ServerName [/-p Protocol][/e port||/r start port:end port ||/o port,port,
port...][/l filename][/s][/i][/q]

/n ServerName:指定目标计算机,可以是主机名或IP地址。但是,主机名称或IP地址中不能包括空格。PortQry将主机名称解析为IP地址。如果PortQry无法将主机名称解析为IP地址,此工具会报告错误,并自动退出。如果输入IP地址,则PortQry会将其解析为主机名称。如果解析不成功,PortQry会报告错误,但仍继续处理命令。

/p Protocol:指定用于连接目标计算机上目标端口的端口或协议的类型。如果不指定协议,PortQry使用TCP作为协议。Protocol的有效参数为TCP、UDP或BOTH(即同时包含TCP和UDP)。

/e port:指定端口取值范围为1~65535。该参数不能与参数/r或/o同时使用。

/r start port:end port:指定一个连续的端口范围,start port为起始端口值,end port为终止端口值,取值范围为1~65535。该参数不能与参数/e或/o同时使用。

/o port,port,port...:指定若干不相连的端口,取值范围为1~65535。

/l filename:将PortQry输出到文本文件filename,该文件位于运行PortQry的文件夹。如果同名的日志文件已经存在,PortQry将提示重命名还是直接覆盖。

/s:PortQryto等待更长的UDP查询响应时间。由于UDP是无连接协议,所以PortQry无法确定端口是响应缓慢还是端口被筛选。在PortQry确定端口是未侦听还是筛选之前,此选项使PortQry等待UDP端口响应的时间加倍。在速度较慢或不稳定的网络链接中查询UDP端口时,使用此选项。

/q:使PortQry取消错误信息之外的所有屏幕输出。在配置PortQry、以便在批处理文件中使用时,此参数尤其有用。根据端口的状态,此参数可能返回如下结果:

如果目标端口是侦听,则返回0(零);

如果目标端口是未侦听,则返回1;

如果目标端口为侦听或筛选,则返回2。

只能将此参数与-e参数一起使用,不能将此参数与-o参数或-r参数一起使用。此外,将-p参数的值设置为Both时,也不能将此参数与-p参数一起使用。

/i:忽略默认的IP地址-主机名查找。

注意:

具备管理员组权限的用户才可以使用此命令。当-q参数与-l参数配合使用时,PortQry将覆盖具有相同名称的现有日志文件,而不是提示以得到许可。

Portqry.exe通过以下三种不同方式报告系统端口的状态:

侦听。某些进程正在侦听所选计算机系统的端口,Portqry.exe收到该端口的响应;

未侦听。没有进程侦听目标系统上的目标端口。Portqry.exe收到目标UDP端口发回的“Destination Unreachable-Port Unreachable”(无法达到目标-无法达到端口)消息,或者如果目标端口是TCP端口,Portqry则收到已设置重置标志的TCP确认数据包;

筛选。目标计算机系统的端口正在被筛选。Portqry.exe没有收到该端口的响应。进程可能在侦听端口,也可能不在侦听端口。默认情况下,在报告目标端口被筛选之前,将对TCP端口查询三次,对UDP端口查询一次。Portqry.exe可查询单个端口、端口的顺序列表或多个连续的端口。

(2)查看本地主机端口开放情况

打开命令提示符窗口,并转至Portqry所在目录下,输入如下命令:

portqry -local

回车确认,运行后显示如图4-3所示的结果。

图4-3 本地计算机端口开放情况

查看本地计算机端口状态及开放情况,应使用“portqry”命令的local工作模式,运行结果中显示,当前有一台IP地址为192.168.1.21的计算机正在打开本地计算机系统的445端口。如果想要侦听本地计算机的某个端口工作状态,可以在命令提示符窗口中,输入如下命令:

portqry -local -wport 445

回车确认,显示如图4-4所示结果。

图4-4 侦听本地计算机的445端口

默认情况下,执行上述命令后,portqry将持续侦听445端口的工作情况,并且每60秒钟刷新一次结果,直至用户按下“ESC”按键结束侦听为止。在此过程中,侦听结果将随着端口状态的变化而自动记录。

注意:

侦听本地系统端口状态操作,在Windows Vista和Windows Server 2008系统中是无法实现的,该命令只能应用Windows 2000/XP/2003系统。

(3)查看远程主机系统端口

借助Portqry命令还可以查看远程主机的某个端口工作状态,此时需要使用“Portqry -n”模式。例如,在命令提示符窗口中,转至Portqry所在目录下,输入如下命令:

Portqry -n tjl.coolpen.net -e 445

回车确认,显示如图4-5所示运行结果。

图4-5 查看远程主机端口状态

运行结果显示目标计算机系统的445端口,目前正处于FILTERED(过滤)状态,即当前端口正在被防火墙或其他程序保护。

3.端口分析大师

对于经验丰富的用户而言,以上介绍的两款端口查看命令行工具显然简便易用,可以用来查看和管理本地或远程主机的端口开放情况。但是,对于初级用户而言,可能难以驾驭命令行工具,只能实现简单的本地查看。目前,用于系统端口查看和分析的图形工具非常多,“全能助手Windows端口诊断专家”就是其中非常不错的一个,下载网址为:http://www.onlinedown.net/soft/39429.htm。其主要应用如下:

“全能助手Windows端口诊断专家”的应用非常简单。安装完成后,依次选择“开始”→“所有程序”→“全能助手”→“Windows端口诊断专家”选项,其窗口显示如图4-6所示。默认情况下,将显示本地计算机的所有活动连接使用端口情况。

图4-6 “全能助手Windows端口诊断专家”窗口

相对于命令提示符窗口中的英文信息而言,中文界面更适合初级用户使用,简洁直观,包括活动连接使用的端口号、类型、状态,以及远程主机的IP地址和端口等信息。在该窗口中,单击“防火墙”按钮,可快速启动Windows防火墙,随时修改配置信息。

4.2 配置端口

通过端口查看工具的应用不难发现,默认情况下的Windows系统会开放很多端口。只要计算机连接网络,黑客就可以通过这些打开的端口入侵计算机系统。因此,对于一些非必要的端口应该将其关闭掉。其中一些常用端口包括:Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135、139、445、593、1025端口和UDP123、137、138、445、1900端口、一些流行病毒的后门端口,以及远程服务访问端口3389。

4.2.1 启动/关闭服务法

关闭服务可以关闭相应的端口。这里以关闭Windows Server 2008系统的FTP服务为例,介绍如何通过这种方法配置Windows端口。

第1步,依次选择“开始”→“管理工具”→“服务”,显示如图4-7所示的“服务”控制台窗口。

图4-7 “服务”控制台窗口

第2步,在右侧窗口中,双击“FTP Publishing Service”服务,显示如图4-8所示的“FTP Publishing Service的属性”对话框。如果安装了FTP服务,则此服务将随系统启动而自动运行。

图4-8 “FTP Publishing Service的属性”对话框

第3步,单击“停止”按钮,停止该服务,然后在“启动类型”下拉列表中选择“已禁用”,如图4-9所示。

图4-9 关闭服务

第4步,单击“确定”按钮,即可关闭FTP服务对应的端口。

如果要开启该端口,只需先在“启动类型”选择“自动”选项,单击“应用”按钮,然后单击“启动”按钮即可。

提示

Windows Server 2008与Windows Server 2003系统服务种类略有不同,但通过开启/关闭服务配置端口的操作方法完全相同。

4.2.2 IP安全策略法

IP安全策略也可以用来配置Windows端口的开放状态。在Windows域环境中,还可以将该策略应用到域内的其他客户机上,从而实现更大范围的端口安全。下面,以关闭139端口为例,详细描述在组策略编辑器中创建IP安全策略的步骤,分为以下几部分:

创建IP筛选器;

创建IP筛选器操作;

创建IP安全规则;

创建IP安全策略;

指派IP安全策略。

注意:

在Windows域环境下创建IPSec策略时,必须使用具有“组策略”管理权限的用户才可以完成。想要管理计算机本地或远程IPSec策略,必须是本地或远程计算机“Administrators”组的成员。

1.创建新的组织单位、策略

IP安全策略控制法主要是针对客户端系统而言的,因此在实施之前必须确保客户计算机已经加入域中,为了便于管理,建议将欲配置的客户统一添加到新建OU中。Window Server 2008中创建基于OU或域的组策略,与Windows Server 2003略有不同,所有的组策略配置都是在“组策略管理”控制台中完成的,主要操作步骤如下。

第1步,打开“Active Directory用户和计算机”窗口,新建OU并将欲配置的客户计算机加入到该OU,如图4-10所示。

图4-10 创建OU

第2步,依次选择“开始”→“管理工具”→“组策略管理”选项,打开如图4-11所示“组策略管理”控制台窗口。

图4-11 “组策略管理”窗口

第3步,右击需要创建组策略的组织单位,选择快捷菜单中的“在这个域中创建GPO并在此处链接”选项,打开如图4-12所示的“新建GPO”对话框,在“名称”文本框中输入新建GPO的名称。

图4-12 “新建GPO”对话框

第4步,单击“确定”按钮,即可完成组策略的创建,如图4-13所示。

图4-13 新创建的组策略

2.定义IP筛选器

可以在创建策略时或者在创建策略之前定义筛选器列表,已经创建的筛选器列表可用于任何策略。每个筛选器定义入站或出站网络通信的子集,即筛选器操作通过保护通信(使用身份验证、数据完整性或数据加密)、以完全阻止或允许(不使用身份验证、数据完整性或数据加密)的方式进行操作。创建IP筛选器的主要操作步骤如下。

第1步,右击新创建的组策略“IP安全策略-控制端口”,选择“编辑”,打开“组策略管理编辑器”窗口。依次展开“计算机配置”→“Windows设置”→“安全设置”→“IP安全策略,在Active Directory(coolpen.net)”,如图4-14所示。

图4-14 “组策略管理编辑器”窗口

第2步,右击“IP安全策略,在Active Directory(coolpen.net)”,选择快捷菜单中的“管理IP筛选器表和筛选器操作”,显示如图4-15所示的“管理IP筛选器表和筛选器操作”对话框。

图4-15 “管理IP筛选器表和筛选器操作”对话框

第3步,在默认显示的“管理IP筛选器列表”选项卡中,单击“添加”按钮,显示如图4-16所示的“IP筛选器列表”对话框。在“名称”文本框中,输入容易记忆的筛选器名称,便于与其他IP筛选器区别,如“TCP 139”。在“描述”文本框中,输入相关描述信息,可以方便日后应用和管理。

图4-16 “IP筛选器列表”对话框

第4步,单击“添加”按钮,打开“IP筛选器向导”,显示如图4-17所示的“欢迎使用IP筛选器向导”对话框。

图4-17 “欢迎使用IP筛选器向导”对话框

第5步,单击“下一步”按钮,显示如图4-18所示的“IP筛选器描述和镜像属性”对话框。默认情况下,已经选中“镜像”复选框,此时将根据筛选器设置自动创建两个筛选器,一个用于到目标的通信,一个用于来自目标的通信。如果取消“镜像”复选框,则将只创建基于筛选器设置的单一筛选器。

图4-18 “IP筛选器描述和镜像属性”对话框

提示

在取消“镜像”复选框的情况下,进行隧道操作时,必须手动创建下面两个筛选器列表。其中,一个列表描述通过隧道发出的通信(出站通信),另一个列表描述通过隧道接收的通信(入站通信)。然后,创建两个规则,这些规则使用策略中的入站与出站筛选器列表。

第6步,单击“下一步”按钮,显示如图4-19所示的“IP流量源”对话框。在“源地址”下拉列表框中选择“任何IP地址”选项。“源地址”下拉列表中共包括我的IP地址、任何IP地址、一个特定的IP地址或子网、DNS服务器(动态)、WINS服务器(动态)、DHCP服务器(动态)和默认网关(动态)等选项。

图4-19 “IP流量源”对话框

第7步,单击“下一步”按钮,显示如图4-20所示的“IP流量目标”对话框,在“目标地址”下拉列表中,选择“我的IP地址”选项。

图4-20 “IP通信目标”对话框

第8步,单击“下一步”按钮,显示如图4-21所示的“IP协议类型”对话框,在“选择协议类型”下拉列表中,选择“TCP”选项。

图4-21 “IP协议类型”对话框

“选择协议类型”下拉列表的选择策略如下:

如果选择TCP或UDP,则还可以通过目标端口筛选数据包;

如果要筛选从选定协议类型所用的任意端口上发送的数据包,可选择“从任意端口”选项;

如果要筛选从选定协议类型所用的特定端口上发送的数据包,可选择“从此端口”选项,然后输入端口号;

如果要筛选从选定协议类型所用的任意端口上接收的数据包,可选择“到任意端口”选项;

如果只筛选在指定的端口号上接收的数据包,可选择“到此端口”项。

注意:

对于IPSec隧道,只支持基于地址的筛选器,而不支持特定协议和特定端口的筛选器。

第9步,单击“下一步”按钮,显示如图4-22所示的“IP协议端口”对话框,分别选择“从任意端口”和“到此端口”单选按钮,并在“到此端口”文本框中输入端口号“139”。

图4-22 “IP协议端口”对话框

第10步,单击“下一步”按钮,显示如图4-23所示的“正在完成IP筛选器向导”对话框,如果同时选择“编辑属性”复选框,则单击“完成”按钮后即可立即编辑该IP筛选器。

图4-23 “正在完成IP筛选器向导”对话框

第11步,单击“完成”按钮,显示如图4-24所示的“IP筛选器列表”对话框,新创建的筛选器已经显示在列表中。

图4-24 成功创建的IP筛选器

注意:

对于受IPSec策略保护的计算机而言,筛选器是IP安全策略的重要组成部分。如果不在客户机或服务器策略中指定适当的筛选器,或者如果在更新该策略的筛选器之前IP地址已经更改,则可能无法提供安全保护。另外,建议不要在IPSec筛选器中使用DHCP分配的IP地址。对于有使用DHCP地址的计算机所使用的策略,应使用“我的IP地址”作为源地址或目标地址。这样,即使计算机IP地址更改,系统也会自动更新“我的IP地址”筛选器。最后,在IPSec保护通信的计算机策略中,确保目标计算机的筛选器目标地址是静态IP地址,所有目标IP地址都必须包含在筛选器列表中。

将新的静态IP地址添加到受安全策略保护的计算机中时:

应修改对受保护的计算机进行安全保护的所有客户机和服务器上的IPSec策略筛选器,在添加新地址之前,应确保这些客户机已经更新其策略;

检查将在受保护的计算机上使用的策略。如果筛选器为本地连接指定静态IP地址,则在向其接口添加新的IP地址后,应编辑并保存新的筛选器列表,并保证在其中包含新的静态IP地址。需要注意的是,在添加新的静态IP地址时,“我的IP地址”筛选器将自动更新,而不用用户再进行手动更新。

如果受保护的计算机是WWW服务器,并且客户机使用的是代理服务器,则应确保网络上所有的通信都受IPSec保护:

WWW服务器和所有直接连接的客户端之间的通信;

WWW服务器和代理服务器之间的通信;

代理服务器及其所有客户机之间的通信。

下列的筛选器,被默认设置为允许(不保护)通信:

Internet密钥交换(IKE)。源地址=任意,目标地址=任意,协议=UDP,源端口=500,目标端口=500;

IP多播通信;

IP广播通信;

KerberosV5。源地址=任意,目标地址=任意,协议=UDP或TCP,源端口=88,目标端口=88;

资源保留协议(RSVP)源地址=任意,目标地址=任意,协议=46。

注意:

如果出站数据包与任何的筛选器都不匹配,则系统会在没有保护的状态下发送数据包。如果入站数据包与任何的筛选器都不匹配,则所有数据包都将无法进入。另外,在创建筛选器时,使用“一个特定的DNS名称”选项,并通过将DNS名称解析成IP地址,便可创建基于IP地址的筛选器。在创建筛选器时,如果使用计算机名会将多个DNS名称一次解析为多个IP地址,则在创建筛选器之后便不再使用该计算机名。

3.定义IP筛选器操作

筛选器操作主要用于定义数据传输的安全需求,即对于符合筛选器条件的传输进行哪些处理,放行、阻止还是协商安全等。定义IP筛选器操作的主要步骤如下。

第1步,在“管理IP筛选器表和筛选器操作”对话框中,切换至如图4-25所示的“管理筛选器操作”选项卡。

图4-25 “管理筛选器操作”选项卡

第2步,单击“添加”按钮,启动“筛选器操作向导”,显示如图4-26所示的“欢迎使用IP安全筛选器操作向导”对话框。

图4-26 “欢迎使用IP安全筛选器操作向导”对话框

第3步,单击“下一步”按钮,显示如图4-27所示的“筛选器操作名称”对话框。在“名称”文本框中输入“拒绝访问139端口”。在“描述”文本框中,输入该筛选器的描述出处,例如这里输入“拒绝访问139端口”。

图4-27 “筛选器操作名称”对话框

第4步,单击“下一步”按钮,显示如图4-28所示的“筛选器操作常规选项”对话框,本文定义IPSec策略的目的是关闭139端口,即拒绝其他主机对本地系统139端口的访问,所以应选择“阻止”单选按钮。

图4-28 “筛选器操作常规选项”对话框

筛选器操作类型具体内容如下:

许可:允许以纯文本方式接收或发送数据包,不要求对这些数据包提供安全保护措施;

阻止:丢弃数据包。不要求对这些数据包提供安全措施;

协商安全:可使用“安全措施首选顺序”中的安全措施列表为数据包提供安全性,这些数据包的安全请求将被接受。

第5步,单击“下一步”按钮,显示如图4-29所示的“正在完成IP安全筛选器操作向导”对话框。选中“编辑属性”复选框并单击“完成”按钮,则可以立即编辑该筛选器操作。

图4-29 “正在完成IP安全筛选器操作向导”对话框

第6步,单击“完成”按钮,即可完成筛选器操作的创建。另外,如果不希望完全阻止来自其他主机的139端口访问,即希望允许与其他不支持IPSec的计算机通信,则可以在“管理IP筛选器表和筛选器操作”对话框的“管理筛选器操作”选项卡中,选择刚刚创建的“拒绝访问139端口”筛选器操作,并单击“编辑”按钮,打开如图4-30所示的“拒绝访问139端口属性”对话框。选择“协商安全”单选按钮,并根据下列需要选择合适的协商条件即可。

图4-30 “拒绝访问139端口 属性”对话框

接受不安全的通信,但始终用IPSec响应。IPSec允许与不安全(未受IPSec保护)配置的筛选器列表相匹配的传入数据包。但是,必须对传入数据包的传出响应提供保护。将默认响应规则用于客户端时,该设置十分有用。将一组服务器用以下规则进行配置:该规则能够保护与任何IP地址的通信并能接受不安全通信,同时只用安全通信进行响应,并在客户端计算机上启用默认响应规则以确保客户端能够响应服务器的协商安全请求。若要阻止拒绝服务攻击,应当对连接到Internet的安全计算机禁用此选项。

如果无法建立安全连接,则允许回退到不安全的通信。如有必要,IPSec将回退到不安全的通信。应当再次将IP筛选器列表限制在更小范围内。否则,当协商失败时,运用该筛选器的规则将会使不安全连接发送数据。如果环境对通信安全要求不高,则可以考虑禁用该设置。然而,这样可能会阻止与无法启动IPSec保护计算机的通信。若要阻止拒绝服务攻击,应当对连接到Internet的安全计算机禁用此选项。

使用会话密钥完全向前保密(PFS)。启用会话密钥PFS可以确保无法使用主密钥密钥资料以派生多个会话密钥。启用会话密钥PFS时,会执行新的Diffie-Hellman(一种公开密钥交换算法)密钥交换,以便在创建新的会话密钥前生成新的主密钥密钥资料。会话密钥PFS不需要重新进行主模式身份验证,并且使用的资源比主密钥PFS更少。

第7步,在“安全方法首选顺序”列表中,可以设置筛选操作使用方法的先后顺序,默认是空白的。通常情况下,应当按照从最高安全性到最低安全性的顺序排列列表中的方法,这样可使用最安全的方法。单击“添加”按钮,打开如图4-31所示的“新增安全方法”对话框。

图4-31 “新增安全方法”对话框

可供用户选择安全方法包括如下三项内容:

完整性和加密。使用ESP协议可提供具有“三重数据加密标准(3DES)”算法的数据加密、具有“安全散列算法1(SHA1)”完整性算法的数据完整性和身份验证,以及默认密钥寿命(100 MB,1 h);

仅保持完整性。使用ESP协议可以提供数据完整性和身份验证(具有SHA1完整性算法)与默认密钥寿命(100 MB,1 h)。配置ESP不提供数据加密;

自定义。单击“设置”可配置自定义安全措施或密钥寿命。

第8步,选择“自定义”单选按钮并单击“设置”按钮,显示如图4-32所示的“自定义安全方法设置”对话框。

图4-32 “自定义安全方法设置”对话框

若想要保障数据包寻址信息(IP报头)和数据的完整性,可选中“数据和地址不加密的完整性(AH)”复选框。然后,在“完整性算法”下拉列表中,选择要用于数据完整性的算法。其中,各种加密算法的具体含义如下:

MD5:使用“消息摘要5(MD5)”完整性算法,该算法使用的是128位的密钥;

SHA1:使用“安全散列算法1”完整性算法,该算法使用的是160位的密钥。

要为数据提供完整性和加密(保密性),选择“数据完整性和加密(ESP)”复选框,此时还应在“完整性算法”下拉列表中,选择数据完整性算法和加密算法。其中,各种完整性验证算法的具体含义如下:

<无>:不使用数据完整性。如果已启用了“AH”,则可选择ESP完整性算法的“无”,以提高计算机的各项性能;

MD5:使用MD5完整性算法,该算法使用128位的密钥;

SHA1:使用SHA1完整性算法,该算法使用160位的密钥。

配合使用的各种加密算法的具体含义如下:

<无>:不使用加密;

DES:使用56位密钥的“数据加密标准(DES)”;

3DES:使用3个56位密钥的三重“数据加密标准”。

第9步,连续单击“确定”按钮,保存设置即可。其实,第6步之后的操作都是为实现与未受安全策略保护计算机的通信而设置的,管理员可以根据实际需要选择设置。

4.创建IP安全策略

做好上述准备工作之后,即可开始创建IP安全策略,主要操作步骤如下。

第1步,在“组策略管理编辑器”窗口中,右击“IP安全策略,在Active Directory(coolpen.net)”选项,选择快捷菜单中的“创建IP安全策略”选项启动“IP安全策略向导”,显示如图4-33所示的“欢迎使用IP安全策略向导”对话框。

图4-33 “欢迎使用IP安全策略向导”对话框

第2步,单击“下一步”按钮,显示如图4-34所示的“IP安全策略名称”对话框,在“名称”和“描述”文本框中,分别输入便于区分的策略名称,如“拒绝访问139端口”等。

图4-34 “IP安全策略名称”对话框

第3步,单击“下一步”按钮,显示如图4-35所示的“安全通信请求”对话框,保持系统默认设置即可。“激活默认响应规则(仅限于Windows的早期版本)(R)”复选框仅对较早版本Windows系统有效,对于Windows Vista/2008系统无效。

图4-35 “安全通信求”对话框

第4步,单击“下一步”按钮,显示如图4-36所示的“正在完成IP安全策略向导”对话框,取消“编辑属性”复选框,具体的策略属性将在“设置IP安全规则”中完成。

图4-36 “正在完成IP安全策略向导”对话框

第5步,单击“完成”按钮,关闭“IP安全策略向导”,创建完成的“IP安全策略”显示在“组策略管理编辑器”窗口中。

5.设置IP安全规则

管理员在设置IP安全规则时,应当注意以下几个方面:

要定义基于Active Directory的IPSec策略,必须具有“组策略”管理权限。要管理计算机的本地或远程IPSec策略,必须是本地或远程计算机Administrators组的成员;

成功添加的新规则将自动应用于正在创建或编辑的策略。在“IP安全策略”中,策略规则基于为每一规则选择的筛选器列表的名称以相反的字母顺序显示。需要注意的是,目前还没有方法能够指定应用于策略中规则的顺序。IPSec会根据从最具体的筛选器列表到最不具体的筛选器列表进行自动排序;

自动在每个新的IPSec策略中,添加(并在选择后激活)默认响应规则。如果不希望此规则成为策略的一部分,可通过取消“动态”复选框停用该规则,默认响应规则不能删除。

设置IP安全规则的步骤如下。

第1步,在“组策略管理编辑器”窗口中,双击需要设置安全规则的IP安全策略,显示如图4-37所示的“拒绝访问139端口 属性”对话框。

图4-37 “拒绝访问139端口 属性”对话框

第2步,单击“添加”按钮,打开“安全规则向导”,显示如图4-38所示的“欢迎使用创建IP安全规则向导”对话框。将要设置的安全操作包括:IP隧道操作属性、身份验证方法和筛选器操作。

图4-38 “欢迎使用创建IP安全规则向导”对话框

第3步,单击“下一步”按钮,显示如图4-39所示的“隧道终结点”对话框,选择“此规则不指定隧道”单选按钮,即可禁用该规则的隧道。如果想对特定隧道终结点使用隧道通信,则选择“隧道终点由下列IP地址指定”单选按钮,并输入隧道终点的IP地址。

图4-39 “隧道终结点”对话框

注意:

因为无法为隧道通信设置筛选器,所以必须配置两个规则,一个规则用于出站通信,另一个规则用于进站通信。对于出站通信规则,隧道终点是在隧道另一端的计算机的IP地址。对于进站通信规则,隧道终点是本地计算机上所配置的IP地址。

第4步,单击“下一步”按钮,显示如图4-40所示的“网络类型”对话框,选择“所有网络连接”单选按钮。

图4-40 “网络类型”对话框

可供选择的“网络类型”如下。

所有网络连接:可以将此规则应用到在该计算机中创建的所有网络连接;

局域网(LAN):单选按钮,可以将此规则应用到在该计算机中创建的所有LAN连接;

远程访问:可以将此规则应用到在该计算机中创建的所有远程或拨号连接。

第5步,单击“下一步”按钮,显示如图4-41所示的“IP筛选器列表”对话框,选择新创建的“TCP139”筛选器。

图4-41 “IP筛选器列表”对话框

第6步,单击“下一步”按钮,显示如图4-42所示的“筛选器操作”对话框,选择已经创建好的“拒绝访问139端口”筛选器即可。如果在此之前没有创建IP筛选器,也可以单击“添加”按钮立刻添加。

图4-42 “筛选器操作”对话框

第7步,单击“下一步”按钮,显示如图4-43所示的“正在完成安全规则向导”对话框,取消“编辑属性”复选框。

图4-43 “正在完成安全规则向导”对话框

第8步,单击“完成”按钮,关闭“安全规则向导”,返回“拒绝访问139端口属性”对话框,如图4-44所示,新创建的安全规则已被添加到“IP安全规则”列表中。

图4-44 成功创建的IP安全规则

6.分配IP安全策略

默认情况下,所有的IP安全策略都是未分配的,即不对任何网络访问进行保护和过滤。在“组策略管理编辑器”窗口的“IP安全策略,在Active Directory(coolpen.net)”中,右击想要分配的IP安全策略,并选择快捷菜单中的“分配”选项,如图4-45所示。稍等,该策略的“策略已指派”栏即可变为“是”状态,分配成功。

图4-45 分配IP安全策略

注意:

当分配新的安全策略时,原有已分配策略将自动取消,变为“未分配”状态。

4.2.3 禁用NetBIOS端口

NetBIOS协议主要用于Windows 98/2000等早期操作系统实现局域网通信,对于服务器而言,如果网络中没有此类客户端,则完全可以禁用NetBIOS协议,以确保服务器的安全。NetBIOS协议使用139端口,所以禁用协议的同时也就是关闭139端口。主要操作步骤如下。

第1步,打开“网络和共享中心”窗口,在网络连接列表中,单击想要设置的本地连接对应的“查看状态”连接,打开“本地连接 状态”对话框,如图4-46所示。

图4-46 “本地连接 状态”对话框

第2步,单击“属性”按钮,打开“本地连接 属性”对话框,选择“此连接使用下列项目”列表中的“Internet协议版本4(TCP/IPv4)”,单击“属性”按钮,显示如图4-47所示“Internet协议版本4(TCP/IPv4)属性”对话框。

图4-47 “Internet协议版本 4(TCP/IPv4)属性”对话框

第3步,单击“高级”按钮,打开“高级TCP/IP设置”对话框,切换到“WINS”选项卡,在“NetBIOS设置”选项区域中,选择“禁用TCP/IP上的NetBIOS”单选按钮,如图4-48所示。

图4-48 “WINS”选项卡

第4步,单击“确定”按钮,即可完成“禁用NetBIOS”设置。