ITPub博客

首页 > IT基础架构 > 数据安全 > Linux常用的安全工具

Linux常用的安全工具

原创 数据安全 作者:yaxian68 时间:2020-09-24 10:00:58 0 删除 编辑

  “工欲善其事,必先利其器”。作为一个合格的系统管理员,要应对可能发生的安全事件,掌握Linux下各种必须的安全工具是首要大事。本文主要介绍Linux上常用的安全工具,例如,Nmap、Snort、Nesseu等安装、使用和维护知识。通过这些工具管理人员能够了解其系统目前存在的安全隐患、入侵者可能利用的漏洞,及时发现入侵,并构造一个坚固的防御体系将入侵拒之门外。

  安全信息收集软件

  对于系统管理员来说,了解和掌握系统当前的安全状态是做到“知己”的第一个步骤。安全信息收集软件就是用来收集目前系统安全状态的有力工具。端口扫描软件和漏洞扫描软件是常用的信息收集软件。入侵者通常通过端口扫描软件来掌握系统开放端口,运行服务器软件版本和操作系统版本等相关信息。而对于管理人员,通过这些软件可以让管理人员从入侵者的角度来审视系统,并且能够根据这些信息进行相应的配置和修改来迷惑入侵者。漏洞扫描软件能够获得具体的漏洞信息,利用这些漏洞信息,入侵者能够轻易地访问系统、获得非授权信息,甚至是获得整个系统的控制权限。而对于管理人员,通过漏洞扫描软件获得的信息能够帮助自己及时对系统进行加固和防御,让入侵者无机可乘。

  1、Nmap

  Nmap是一个网络探测和安全扫描程序,使用这个软件可以扫描大型的网络,以获取那台主机正在运行及提供什么服务等信息。Nmap支持很多扫描技术,例如UDP、TCPconnect()、TCPSYN(半开扫描)、FTP代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(XmasTree)、SYN扫描和null扫描。Nmap还提供了一些高级的特征,例如,通过TCP/IP协议栈特征探测操作系统类型、秘密扫描、动态延时、重传计算和并行扫描,通过并行ping扫描探测关闭的主机、诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射)、碎片扫描,以及灵活的目标和端口设定。

  (1)安装

  Nmap的安装很简单,Linux各发行版本上通常都已经安装了Namp。这里首先用“nmap-v”查看当前系统所安装的nmap版本号:

  #nmap-v

  StartingnmapV.4.00.(www.insecure.org/nmap/)

  ……

  由于目前系统所安装的Nmap为4.00,不是最新版本,因此要首先从http://www.insecure.org/nmap/下载最新版本的源代码。目前最新版本为Nmap-5.5.tar.bz2,该文件为源代码压缩包,需要用bzip2进行解压缩。我们将该文件下载并保存在/root/nmap下,以root用户进行安装。

  #bzip2–cdnmap-5.5.tar.bz2∣tarxvf-

  该命令将Nmap源代码解压缩至目录nmap-5.5。

  进入该目录进行配置:

  #./configure

  配置结束后用make命令进行编译:

  #make

  编译结束后用makeinstall进行安装:

  #makeinstall

  (2)使用

  各种扫描模式与参数

  首先需要输入要探测的主机IP地址作为参数。假设一个LAN中有两个节点:192.168.12.1和192.168.12.2

  #nmap192.168.12.1

  Startingnmap5.5(http://www.insecure.org/nmap/)at2010-01-2415:24CST

  Interestingportson192.168.12.1:(The1651portsscannedbutnotshownbelowareinstate:closed)

  PORTSTATESERVICE

  25/tcpopensmtp

  80/tcpopenhttp

  135/tcpopenmsrpc

  139/tcpopennetbios-ssn

  443/tcpopenhttps

  445/tcpopenMicrosoft-ds

  1025/tcpopenNFS-or-IIS

  1033/tcpopennetinfo

  1521/tcpopenoracle

  2030/tcpopendevice2

  3372/tcpopenmsdtc

  8080/tcpopenhttp-proxy

  MACAddress:00:E0:4C:12:FA:4B(RealtekSemiconductor)

  Nmapruncompleted–1IPaddress(1hostup)

  Scannedin22.882seconds

  上面是对目标主机进行全面TCP扫描的结果,显示了监听端口的服务情况,这一基本操作不需要任何参数。但是,由于在扫描过程中建立了完整的TCP连接,主机可以很容易地监测到这类扫描。该命令是参数开关-sT的缺省。

  -sS选项可以进行更加隐蔽地扫描,并防止被目标主机检测到,但此方式需要用户拥有root权限。-sF、-sX和-sN则可以进行一些超常的扫描。假如目标主机安装了过滤和日志软件来检测同步空闲字符SYN,那么-sS的隐蔽作用就失效了,此时可以采用-sF(隐蔽FIN)、-sX(XmasTree)及-sN(Null)方式扫描。

  这里需要注意的是,由于微软的实现方式不同,对于运行Win2003,Vista等NT的机器FIN、Xmas或Null的扫描结果都是将端口关闭,由此可作为推断目标主机运行Windows操作系统的一种方法。以上命令都需要有root权限。-sU选项是监听目标主机的UDP,而不是默认的TCP端口。尽管在Linux机器上有时慢一些,比如,输入上面的例子:

  #nmap-sU192.168.12.1

  Startingnmap5.5(http://www.insecure.org/nmap/)at2010-01-2415:28CST

  Interestingportson192.168.12.1:

  (The1472portsscannedbutnotshownbelowareinstate:closed)

  PORTSTATESERVICE

  135/udpopenmsrpc

  137/udpopen∣filterednetbios-ns

  138/udpopen∣filterednetbios-dgm

  445/udpopen∣filteredmicrosoft-ds

  500/udpopen∣filteredisakmp

  3456/udpopen∣filteredIISrpc-or-vat

  MACAddress:00:E0:4C:12:FA:44(RealtekSemiconductor)

  Nmapruncompleted–1IPaddress(1hostup)scannedin4.381seconds

  操作系统探测

  使用-O选项可推断目标主机的操作系统,既可与上述的命令参数联合使用,也可单独调用。Nmap利用TCP/IP“指纹”技术来推测目标主机的操作系统。还使用前面的例子:

  #nmap-O192.168.12.1

  Startingnmap5.5(http://www.insecure.org/nmap/)at2010-01-2416:03CST

  Interestingportson192.168.12.1:

  (The1651portsscannedbutnotshownbelowareinstate:closed)

  PORTSTATESERVICE

  25/tcpopensmtp

  80/tcpopenhttp

  135/tcpopenmsrpc

  139/tcpopennetbios-ssn

  443/tcpopenhttps

  445/tcpopenMicrosoft-ds

  1025/tcpopenNFS-or-IIS

  1033/tcpopennetinfo

  1521/tcpopenoracle

  2030/tcpopendevice2

  3372/tcpopenmsdtc

  8080/tcpopenhttp-proxy

  MACAddress:00:E0:4C:12:FA:44(RealtekSemiconductor)

  Devicetype:generalpurpose

  Running:MicrosoftWindows95/98/ME∣NT/2K/XP

  OSdetails:MicrosoftWindowsMillenniumEdition(Me),Windows2000ProorAdvancedServer,orWindowsXP

  Nmapruncompleted–1IPaddress(1hostup)scannedin3.398seconds

  Nmap提供了一个OS数据库,上例中检测到了该主机运行的操作系统为Windows系列操作系统,可能为Windows98、Windows2000Pro,或者为Windewsvista/Windows7等。

  更进一步的应用

  除了一次只扫描一个目标主机外,还可以同时扫描一个主机群,比如“nmap–sT–O203.187.1.1-50”就可以同时扫描并探测IP地址在203.187.1.1到203.187.1.50之间的每一台主机。当然这需要更多的时间,耗费更多的系统资源和网络带宽,输出结果也可能很长。所以,可以使用下面命令将结果重定向输送到一个文件中:

  #nmap-sT-O-oNtest.txt202.96.1.1-50

  另外的一些命令参数选项如下:

  -I进行TCP反向用户认证扫描,可以透露扫描用户信息;

  -iR进行随机主机扫描;

  -p扫描特定的端口范围;

  -v长数据显示,“-v-v”是最长数据显示;

  -h快捷帮助。

  下面给一个综合了上述参数的例子:

  #nmap-sS-p23,80-oNftphttpscan.txt203.187.53.50-100

  Nmap图形用户界面

  Nmap有一些图形用户前端,比如,NmapFE(GTK界面)网址为

  http://codebox.net/nmapfe.html;Kmap(Qt/KDE前端)网址为

  http://www.edotorg.org/kde/kmap/;KNmap(KDE前端)网址为

  http://pages.infinit.net/rewind/。

  2.Nessus

  Nessus是一个功能强大而又易于使用的远程安全扫描器,它有免费版本和收费版本,而且更新很快,几乎适应所有常见操作系统。安全扫描器的功能是对指定网络进行安全检査,找出该网络是否存在有导致对手攻击的安全漏洞。该系统被设计为Client/Sever模式,服务器端负责进行安全检查,客户端用来配置管理服务器端。在服务端还采用了plug-in的体系,允许用户加入执行特定功能的插件,该插件可以进行更快速和更复杂的安全检查。在Nessus中还采用了一个共享的信息接口,称之知识库,其中保存了前面进行检査的结果。检查的结果可以HTML、纯文本、LaTeX(一种文本文件格式)等几种格式保存。在未来的新版本中,Nessus将会支持速度更快的安全检查,而且这种检查将会占用更少的带宽,其中可能会用到集群的技术以提高系统的运行效率。

  Nessus的主要优点在于其采用了基于多种安全漏洞的扫描,避免了扫描不完整的情况;它是免费的,比起商业的安全扫描工具,如ISS具有价格优势;扩展性强、容易使用、功能强大,可以扫描出多种安全漏洞。

  Nessus的安全检查完全是由plug-ins的插件完成的。目前Nessus提供的安全检查插件已达18类多800d个,而且这个数量还会增加。比如,在uselessservices类中,Echoportopen和Chargen插件用来测试主机是否易受到已知的echo-chargen攻击;在backdoors类中,PcAnywhere插件用来检查主机是否运行了BO、PcAnywhere等后台程序。更可喜的是,其中包括了对最近肆虐一时的CodeRed及其变种的检测。

  在Nessus主页中不但详细介绍了各种插件的功能,还提供了解决问题的相关方案。有关plug-in的详细说明,请参看http://cgi.nessus.org/plugins/dump.php3?viewby=family。

  除了这些插件外,Nessus还为用户提供了描述攻击类型的脚本语言,进行附加的安全测试,这种语言称为Nessus攻击脚本语言(NSSL),用它来完成插件的编写。在客户端,用户可以指定运行Nessus服务的机器、使用的端口扫描器、测试的内容及测试的IP地址范围。Nessus本身是工作在多线程基础上的,所以用户还可以设置系统同时工作的线程数。这样用户在远端就可以设置Nessus的工作配置。安全检测完成后,服务端将检测结果返回到客户端,客户端生成直观的报告。在这个过程当中,由于服务器向客户端传送的内容是系统的安全弱点,为了防止通信内容受到监听,其传输过程还可以选择加密。

  (1)安装软件

  Nessus由客户端和服务器端两部分组成。首先看服务器端的安装。安装时注意由于屏蔽了我国IP,所以下载界面会跳到注册页面中,无法现在,大家要使用只要跳过这层就可以,你懂得。然后还需要激活码(激活码:6C1A-F33B-60A0-5000-4001)注册成功后方可使用。

  创建用户

  Nessus服务端有自己的用户资料库,其中对每个用户都做了约束。用户可以在整个网络范围内通过nessusd服务端进行安全扫描。用nessus-adduser命令创建用户,根据命令提示创建用户。

  Nessus-adduser是Nessusd的附带工具,安装完毕后,在安装目录下会产生这个程序。

  配置Nessus服务端程序Nessusd

  Nessusd的配置文件为nessusd.conf,位于/usr/local/etc/nessus/目录下,一般情况下不需要改动。这里还需要运行nessus-mkcert来生成服务器证书,可以按照默认设置。

  启动nessusd

  在上面的准备工作完成后,以root用户身份用下面的命令启动服务端:

  #netssusd–D

  Loadingtheplugins...3570(outof5830)

  载入完所有插件后将以系统服务进程的身份运行。

  (2)使用

  按照上面的方法启动Nessus的服务进程后,就可以执行客户端程序进行安全扫描了。

  首先提示登录到Nessus服务器,在NessusHost后面输入Nessus服务器所在的Linux机器IP地址,端口号及加密方式不需要做改动。输入用户名,单击“Login”登录。系统会询问是否接受服务器证书,选择第一项,然后单击“YES”接受证书。

  一旦登录成功,“Login”按钮会变为“Logout”,对话框的旁边还会有connected的提示。登录后就可以进行相应的漏洞扫描了。下面通过选择Plug-in插件来进行相应的安全扫描。下面是插件所能检査的攻击方法,单击每个攻击方法会弹出一个对话框介绍它的危害性及解决方法。然后选择扫描的目标主机,单击“targetselection”,在窗口中输入目标地址,如上面所输入的192.168.12.2。这里作者用的是一个内部地址,还可以用192.168.6.0/24的方式指定扫描192.168.6.1到192.168.6.255整个网段。

  设置完毕后,单击“startscan”开始进行扫描。根据选择的插件数量、扫描的范围扫描时间不等。扫描结束后会有扫描结果。

  在窗口的中列出了所有被扫描的网络、主机和主机相应的端口,Nessus给出了安全漏洞的严重等级、问题的产生原因及解决方法。最后,扫描结果还能够以XML、ASCⅡ、HTML、NSR等多种格式存盘,做为参考资料供以后使用。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69920900/viewspace-2723687/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 安全图书推荐
请登录后发表评论 登录
全部评论

注册时间:2020-03-08

  • 博文量
    12
  • 访问量
    4025