首页天道酬勤linux查看端口状态(linux软件漏洞怎么处理)

linux查看端口状态(linux软件漏洞怎么处理)

admin 11-30 05:09 285次浏览

端口和漏洞的发现和扫描也是企业进行风险评估和管理的必要手段。俗话说:“千里之堤,毁于蚁穴。”一旦攻击者发现一个小漏洞,最终的结果可能是整个网络瘫痪。以及如何发现企业网络中的安全漏洞?需要掌握和采用哪些关键技术?有哪些流行且高效的工具可以用来帮助系统管理员扫描和发现漏洞?本文将介绍企业端口和漏洞发现技术及其在Linux环境下的应用。

企业端口扫描策略端口扫描的目的

对于位于网络中的计算机系统,端口是潜在的通信通道,即入侵通道。通过扫描目标计算机的端口,可以获取大量有用的信息,找出系统的安全漏洞。它可以让系统用户了解系统目前对外提供哪些服务,从而为系统用户管理网络提供参考手段。

从技术上讲,端口扫描将探测包发送到目标主机的TCP/UDP服务端口,并记录目标主机的响应。通过分析响应来确定服务端口是打开还是关闭,我们可以知道端口提供的服务或信息。端口扫描还可以通过捕获本地主机或服务器的入站和出站IP数据包来监控本地主机的操作。它不仅可以分析接收到的数据,还可以帮助用户发现目标主机的一些固有弱点,而无需提供进入系统的详细步骤。一般来说,端口扫描的目的通常是以下一项或多项:

发现开放端口:发现目标系统上开放的TCP或UDP端口;了解主机操作系统信息:端口扫描可以通过操作系统的“指纹”猜测被扫描的操作系统或应用程序的版本;了解软件或服务版本:软件或服务版本可以通过“标志获取”或应用指纹来识别和获取;脆弱软件版本的发现:识别软件和服务的缺陷,从而帮助发起针对漏洞的攻击。

端口扫描主要包括经典扫描仪(全连接)和所谓的SYN扫描仪。此外,还有间接扫描和秘密扫描。TCP扫描方法是与被扫描的主机建立标准的TCP连接,因此这种方法最准确,几乎没有遗漏和误报,但很容易被目标主机检测到并记录下来。SYN模式是与目标主机建立半开放连接,这样不容易被目标主机记录,但扫描结果会被遗漏,在网络条件不好的情况下,这种情况比较严重。

快速安装nmap进行企业端口扫描

Nmap是一个网络检测和安全扫描程序。系统管理员和个人可以使用该软件扫描大规模网络,并获得关于哪个主机正在运行以及它提供什么服务的信息。Nmap支持多种扫描技术,如UDP、TCP connect、TCP SYN(半开扫描)、ftp代理(反弹攻击)、反签、ICMP、FIN、ack扫描、圣诞树(Xmas Tree)、SYN扫描、空扫描等。详情可从扫描类型部分获得。Nmap还提供了一些高级功能,例如:通过TCP/IP协议栈特性检测操作系统类型、秘密扫描、动态延迟和重传计算、并行扫描、通过并行ping扫描检测封闭主机、诱饵扫描、避免端口过滤检测、直接RPC扫描(无端口映射)、分片扫描、灵活的目标和端口设置。

为了提高nmap在非根状态下的性能,软件设计人员付出了巨大的努力。不幸的是,一些内核接口(如原始套接字)需要在根状态下使用。因此,nmap应该尽可能在根目录下使用。

Nmap通常会获得扫描的主机端口列表。Nmap总是给出诸如服务名称(如果可能)、端口号、状态和已知端口的协议等信息。每个端口的状态为打开、过滤和未过滤。

Open表示目标主机可以通过使用accept系统调用在此端口接受连接;过滤状态表示防火墙、包过滤等网络安全软件屏蔽了该端口,禁止nmap检测其是否开放。未过滤意味着此端口已关闭,并且没有防火墙/包过滤软件来隔离nmap探测尝试。通常,端口的状态基本上是未过滤的。只有当大多数扫描端口处于过滤状态时,才会显示处于未过滤状态的端口。

根据使用的功能选项,nmap还可以报告远程主机的以下特征:使用的操作系统、TCP序列、绑定到每个端口的应用程序的用户名、DNS名称、主机地址是否是欺骗地址等。

在使用之前,我们需要下载软件的源码包进行安装。目前笔者下载的最新版本是nmap-5.00.tgz下载后,用户可以执行以下安装命令:

1)解压缩软件包

# tarxzvf nmap-5.00 . tgz

2)切换到安装目录

#cd nmap-5.00

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

#./configure

4)编译源代码

#制作

5)安装相关模块。

#进行安装

第四步:使用nmap确定企业网络的开放端口。

扫描实现的第一步:发现活动主机。

使用nmap扫描整个网络寻找目标,已经确定目标机器是否连接。使用“-sP”命令ping扫描。默认情况下,nmap会向每个扫描的主机发送一个ICMP回应和一个TCP确认,主机对其中任何一个的响应都是

会被 nmap 得到,扫描速度非常快,在很短的时间内可以扫描一个很大的网络。该命令使用如下所示:

# nmap -sP 10.1.4.0/24 Nmap finished: 256 IP addresses (125 hosts up) scanned in 7.852 seconds

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

扫描实施第二步:扫描端口扫描

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

# 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 http 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),我们于是就锁定了这台主机进行后续的扫描。

扫描实施第三步:主机操作系统识别

通常一个入侵者可能对某个操作系统的漏洞很熟悉,能很轻易地进入此操作系统的机器。一个常见的选项是 TCP/IP 上的指纹,带有"-O"选项决定远程操作系统的类型。这可以和一个端口扫描结合使用,但不能和 ping 扫描结合使用。nmap 通过向主机发送不同类型的探测信号,缩小查找的操作系统的范围。如下面的扫描结果所示:

# nmap -O 10.1.4.1 Interesting ports on 10.1.4.1: 。。。 MAC Address: 00:0B:CD:B9:EE:A8 (Compaq (HP)) Device type: general purpose Running: MicrosoftWindows 95/98/ME|NT/2K/XP OSdetails: Microsoft Windows Millennium Edition (Me), Windows 2000 Professional or Advanced Server, or Windows XP Nmap finished: 1 IP address (1 host up) scanned in 68.749 seconds

通过上述扫描结果可以看到,10.1.4.1 这台机器运行的是 Windows 系列的操作系统,并且提供了一些比较常用的网络服务。

扫描实施第四步:扫描总结归纳

通过上述 3 步的扫描实施,可以逐步总结得出了如下几点结论和经验:端口扫描的步骤是先发现活动主机,然后发现活动主机的活动端口,从而确定需要重点关注或者需要供给的主机,一般这些主机是服务端口开得多的主机;再然后对重点关注的主机实行操作系统扫描,从而确定操作系统类型,以便从操作系统层面来寻找突破口;一般情况下,如果是 Windows 操作系统的话,那么就有比较大的攻击或者是安全维护的空间。

除了上述几个常用的扫描选项外,在扫描过程中还需要综合采用其他 -T 之类的选项,以保证扫描不被对方发现,否则对于具有丰富管理经验的管理员来说,很容易发现这种扫描行为,引起反追踪甚至是报复性的攻击等。当然,对于内网的网管性的维护工作来说,就没有这个风险。

另外,通常 nmap 在运行时,能够很好地根据网络特点进行调整。扫描时,nmap 会尽量减少被目标检测到的机会,同时尽可能加快扫描速度。然而,nmap 默认的适时策略有时候不太适合用户的目标。使用下面这些选项,可以有效地控制 nmap 的扫描时间。

1)-T

设置 nmap 的扫描策略,主要有如下几种:

Paranoid:为了避开 IDS的检测使扫描速度极慢,nmap 串行所有的扫描,每隔至少 5 分钟发送一个包; Sneaky:和 Paranoid 差不多,只是数据包的发送间隔是 15 秒; Polite:不增加太大的网络负载,避免宕掉目标主机,串行每个探测,并且使每个探测有 0.4 秒种的间隔; Normal:nmap 默认的选项,在不是网络过载或者主机 / 端口丢失的情况下尽可能快速地扫描; Aggressive:设置 5 分钟的超时限制,使对每台主机的扫描时间不超过 5 分钟,并且使对每次探测回应的等待时间不超过 1.5 秒钟; Insane:只适合快速的网络或者用户不在意丢失某些信息,每台主机的超时限制是 75 秒,对每次探测只等待 0.3 秒钟。

用户也可以使用数字来代替上述这些模式,例如:-T 0 等于 -T Paranoid,-T 5 等于 -T Insane。并且,上述这些模式不能和下面的选项组合使用。

2)--host_timeout

设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。

3)--max_rtt_timeout

设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约 9000 毫秒。

4)--min_rtt_timeout

当目标主机的响应很快时,nmap 就缩短每次探测的超时时间。这样会提高扫描的速度,但是可能丢失某些响应时间比较长的包。使用这个选项,可以让 nmap 对每次探测至少等待用户指定的时间,以毫秒为单位。

5)--initial_rtt_timeout

设置初始探测的超时值。一般这个选项只在使用 P0 选项扫描有防火墙保护的主机才有用。默认值是 6000 毫秒。

6)--max_parallelism

设置最大的并行扫描数量。--max_parallelism 1 表示同时只扫描一个端口。这个选项对其它的并行扫描也有效,例如 ping sweep, RPC scan。

7)--scan_delay

设置在两次探测之间,nmap 必须等待的时间。这个选项主要用于降低网络的负载。

企业漏洞扫描策略漏洞扫描的目的

漏洞扫描就是对计算机系统或者其它网络设备进行安全相关的检测,以找出安全隐患和可被黑客利用的漏洞。显然,漏洞扫描软件是把双刃剑,黑客利用它入侵系统,而系统管理员掌握它以后又可以有效的防范黑客入侵。因此,漏洞扫描是保证系统和网络安全必不可少的手段,必须仔细研究利用。

漏洞扫描通常采用两种策略,第一种是被动式策略,第二种是主动式策略。所谓被动式策略就是基于主机之上,对系统中不合适的设置,脆弱的口令以及其他同安全规则抵触的对象进行检查;而主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。利用被动式策略扫描称为系统安全扫描,利用主动式策略扫描称为网络安全扫描。

快速安装 Nessus

Nessus 是一个功能强大而又易于使用的远程安全扫描器,它不仅免费而且更新极快。安全扫描器的功能是对指定网络进行安全检查,找出该网络是否存在有导致对手攻击的安全漏洞。该系统被设计为 client/sever 模式,服务器端负责进行安全检查,客户端用来配置管理服务器端。在服务端还采用了 plugin 的体系,允许用户加入执行特定功能的插件,这插件可以进行更快速和更复杂的安全检查。在 Nessus 中还采用了一个共享的信息接口,称之知识库,其中保存了前面进行检查的结果。检查的结果可以 HTML、纯文本、LaTeX(一种文本文件格式)等几种格式保存。

Nessus 的优点在于:

其采用了基于多种安全漏洞的扫描,避免了扫描不完整的情况。 它是免费的,比起商业的安全扫描工具如 ISS 具有价格优势。

安装和启动 Nessus 服务器端

用户可以下载 nessus 服务器的最新版本。目前其最新版本为:Nessus-4.2.0-es5.i386.rpmNessus,使用如下的命令对其进行安装即可:

# rpm -ivh Nessus-4.2.0-es5.i386.rpm

安装成功后,还需要添加用户来对其进行操作,步骤如下所示:

# /opt/nessus//sbin/nessus-adduser

// 添加用户

Login : root

// 设置密码

Login password : Login password (again) :

启动 nessus 非常简单,使用如下命令即可:

#/sbin/service nessusd start

安装 Nessus 客户端

nessus 的客户端有两个版本,JAVA 版本及 C 版本,JAVA 版本的可以在多个平台中运行,C 版本的支持 Windows,有了这两个客户端的版本就可以在局域网的任何的一台机器上进行安全检查了。为了使用的简单起见,我们选择了一款 Windows 系统下的 Nessus 4 客户端版本进行安装和使用,也就是使用 Windows 客户端来控制运行于 Linux 下的 Nessus 服务器端来对局域网里面的机器进行漏洞扫描,这也是目前 Nessus 使用的非常流行的一种方式。具体的安装如同 Windows 下任何一款应用软件的安装方式相同,非常简单,这里不再赘述。

五步完成 Nessus 扫描

下面来看看使用 nessus 进行扫描的步骤以及效果,一般来说,使用 Nessus 进行扫描需要有如下 5 个步骤:

1)设置服务器连接:如图 1 所示,首先需要设置 Nessus 客户端来连接 Nessus 服务器,在图 1 中,配置好相应的主机名和端口,以及登陆所需要使用的用户名和密码。

图 1. 设置服务器连接

2)设置 IP 范围:如图 2 所示,设置为 IP Range。当然,这里还有其他的选项可提供选择,包括图中所示的 Single Host、Subnet 等,可以根据实际情况来选择。

图 2. 设置扫描的 IP 范围

3)点击 scan now,开始对设定范围进行扫描:如图 5 所示。

图 3. 开始扫描

查看大图。

4)扫描的整体效果:如图 4 所示,扫描给出了对 172.31.12.188 这台主机(Linux 操作系统,RHEL 5.0 版本)的扫描结果,可以很清晰看出操作系统的版本以及开放的端口,同时,也能够将开放的端口详细信息列出来。

图 4. 扫描的整体结果

查看大图。

5)查看具体的漏洞信息:如图 5 所示,如果想查看具体的漏洞信息报告以及漏洞等级等详细信息时,可以点开图中所示的对应开放端口信息,并针对具体信息采取相应的措施来对该漏洞进行修补等操作。

图 5. 具体的漏洞信息

【云解析 UDNS】操作指南:添加域名【云解析 UDNS】购买指南:产品定价/记录类型说明Android开发中Widget的生命周期实例分析服务器托管有什么用?RocketMQ 消息失败重试 解析——图解混合云-租用机房汇总不同聚合级别的数据-R和tidyversesystemd-linux运维MYSQL的架构设计是什么怎么用前端开发工具nvim来代替VSCode安装配置Go语言数据结构之希尔排序怎么实现
rust 国内(rust 中文社区) linux基础命令(激荡十年)
相关内容