Linux管理员:企业端口扫描策略

01-08

企业端口扫描策略

1、端口扫描的目的对于位于网络中的计算机系统来说,一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息从而发现系统的安全漏洞。通过其可以使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种参考的手段。

从技术原理上来说,端口扫描向目标主机的TCP/UDP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。

端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,不仅能对接收到的数据进行分析,而且能够帮助用户发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤。一般说来,端口扫描的目的通常是如下的一项或者多项:

(1)发现开放端口:发现目标系统上开放的TCP或UDP端口;

(2)了解主机操作系统信息:端口扫描可以通过操作系统的“指纹”来推测被扫描操作系统或者应用程序的版本等信息;

(3)了解软件或者服务版本:软件或服务版本可以通过“标志获取”或者应用程序的指纹来识别获得;

(4)发现脆弱的软件版本:识别软件和服务的缺陷,从而有助于发起针对漏洞的攻击。

端口扫描主要有经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。此外还有间接扫描和秘密扫描等。TCP扫描方式是通过与被扫描主机建立标准的TCP连接,因此这种方式最准确,很少漏报、误报,但是容易被目标主机察觉、记录。SYN方式是通过与目标主机建立半打开连接,这样就不容易被目标主机记录,但是扫描结果会出现漏报,在网络状况不好的情况下这种漏报是严重的。

2、快速安装nmap进行企业端口扫描nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。

nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片扫描,以及灵活的目标和端口设定。

为了提高nmap在non-root状态下的性能,软件的设计者付出了很大的努力。很不幸,一些内核界面(例如raw socket)需要在root状态下使用。所以应该尽可能在root使用nmap。

nmap运行通常会得到被扫描主机端口的列表。nmap总会给出well known端口的服务名(如果可能)、端口号、状态和协议等信息。每个端口的状态有:open、filtered、unfiltered。

open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接;

filtered状态表示防火墙、包过滤和其它的网络安全软件掩盖了这个端口,禁止 nmap探测其是否打开。

unfiltered表示这个端口关闭,并且没有防火墙/包过滤软件来隔离nmap的探测企图。通常情况下,端口的状态基本都是unfiltered状态,只有在大多数被扫描的端口处于filtered状态下,才会显示处于unfiltered状态的端口。

根据使用的功能选项,nmap也可以报告远程主机的下列特征:使用的操作系统、TCP序列、运行绑定到每个端口上的应用程序的用户名、DNS名、主机地址是否是欺骗地址、以及其它一些东西。

在使用之前,我们需要下载该软件的源码包进行安装。下载完成后,以作者下载到的版本为例:nmap-5.00.tgz,用户执行如下安装命令即可:

●(1)解压缩软件包

#tar –xzvf nmap-5.00.tgz

●(2)切换到安装目录

#cd nmap-5.00

●(3)使用configure命令生成make文件

#./configure

●(4)编译源代码

#make

●(5)安装相关模块

#make install

3、四步骤使用nmap确定企业网络开放端口(1)扫描实施第一步:发现活动主机

使用nmap扫描整个网络寻找目标,已确定目标机是否处于连通状态。通过使用“-sP”命令,进行ping扫描。缺省情况下,nmap给每个扫描到的主机发送一个ICMP echo和一个TCP ACK,主机对任何一种的响应都会被nmap得到,扫描速度非常快,在很短的时间内可以扫描一个很大的网络。该命令使用如下所示:

[root@localhost ~]# nmap -sP 10.1.4.0/24

Nmap finished: 256 IP addresses (125 hosts up) scanned in 7.852 seconds

通过该扫描,可以发现该公司网络中有125台主机是活跃的,也就是说有机可趁,下一步就是要进行更详细的扫描,来扫描这些主机到底有些什么活动端口。

(2)扫描实施第二步:扫描端口扫描

通常情况下,当nmap的使用者确定了网络上运行的主机处于连通状态,下一步的工作就是进行端口扫描,端口扫描使用-sT参数。如下面结果如示:

[root@localhost ~]# nmap -v -sT 10.1.4.0/24

Host 10.1.4.11 appears to be up ... good.

Interesting ports on 10.1.4.11:

Not shown: 1673 closed ports

PORT STATE SERVICE

80/tcp open htt

MAC Address: 00:1E:65:F0:78:CA (Unknown)

可以清楚地看到,端口扫描采用多种方式对网络中主机的TCP活动端口进行了全面的扫描,由于扫描的主机数太多(125台),上面仅仅给出了2台主机的TCP端口情况,也就是主机10.1.4.1和10.1.4.11,并且,主机10.1.4.1打开的端口非常多,网络服务也相对比较丰富,并且从IP地址的构成来看,该主机极有可能是网关(一般网关的IP地址设定为X.X.X.1),我们于是就锁定了这台主机进行后续的扫描。