五个顶级Linux安全工具大放送

首先,没有哪个程序能做到让你的网络或服务器永久地安全,安全是一个不断改进、评估、再改进的持续过程,幸运的是,在linux下有许多好的工具在这个过程中能帮助你,在这篇文章中,我将向你推荐5款我最喜爱的安全工具,它们能帮助你预防,检查,响应入侵行为 。尽管它更容易预防随时可能发生的问题,但某些时候你遇到问题时,你还是需要检查和响应的,这就意味着在形式危及你需要它们之前,你得先熟悉它们的用法 。

1、Nmap

为了评估一个机器的是否容易遵守攻击,你需要知道有多少服务是暴露给攻击者的 。有一个优秀的工具就是Fyodor的网络映射器Nmap,Debian用户可以通过apt-get;install;nmap来获取它,务必要运行它检查服务器上究竟运行了些什么服务―即使你认为你已经知道了也要运行,很明显,如果ssh端口已经关闭,那么通过ssh密码猜测就对你没什么影响 。

Nmap最简单的用法就是在你本地的网络上探测主机,在这个实例中,我们要求nmap发送ICMP;echo请求包(ping)到某段ip地址范围内的所有主机:

$Content$nbsp;nmap;-sP;10.0.0.1-254
Starting;nmap;3.81;(;http://www.insecure.org/nmap/;)
at;2006-11-01;14:46
NZDT
Host;10.0.0.25;appears;to;be;up.
MAC;Address:;00:0C:F1:AE:E6:08;(Intel)
Host;10.0.0.51;appears;to;be;up.
MAC;Address:;08:00:09:9A:1A:AA;(Hewlett;Packard)
Host;10.0.0.70;appears;to;be;up.
MAC;Address:;00:0F:EA:64:4E:1E;(Giga-Byte;Tech;Co.)
...


不过nmap最常用的是用来探测哪个服务正在运行 。因为TCP建立一个连接使用了3次握手,我们能检查到无真实连接到它们但又被打开的端口,这就是著名的SYN或半打开扫描,当用root登陆执行时这是默认的模式,如果作为一个正常用户执行,nmap尝试全连接来测试是否每个端口是否是打开的 。(题外话:在半打开模式下,我们发送初始化SYN数据包并监听响应,RST表明端口是关闭的,SYN ACK表示端口是打开的,如果没有收到响应,nmap标记这个端口是被过滤了,某些防火墙会丢掉不该有的数据包,产生一个过滤状态标记,其他的将发送RST使得端口看起来是关闭的)典型地,如果一个服务器正在监听你不希望监听的端口,你应该仔细检查一下:

#nmap;-sS;10.0.0.89
Starting;nmap;3.81;(;http://www.insecure.org/nmap/;)
at;2006-11-01;14:52
NZDT
Interesting;ports;on;10.0.0.89:
(The;1637;ports;scanned;but;not;shown
below;are;in;state:;closed)
PORT;;;;;;STATE;SERVICE
21/tcp;;;;open;;ftp
22/tcp;;;;open;;ssh
42/tcp;;;;open;;nameserver
80/tcp;;;;open;;http
110/tcp;;;open;;pop3
...




Fyodor也添加了许多服务的指纹,你可以要求nmap标识出特定的服务,在命令后加上-sV选项即可:

#;nmap;-sV;10.0.0.89
Starting;nmap;3.81;(;http://www.insecure.org/nmap/;)
at;2006-11-01;14:47
NZDT
Interesting;ports;on;10.0.0.89:
(The;1637;ports;scanned;but;not;shown
below;are;in;state:;closed)
PORT;;;;;;STATE;SERVICE;;;VERSION
21/tcp;;;;open;;ftp?
22/tcp;;;;open;;ssh;;;;;;;OpenSSH;3.8.1p1
Debian-8.sarge.4;(protocol;2.0)
42/tcp;;;;open;;nameserver?
80/tcp;;;;open;;http;;;;;;Apache;httpd;1.3.33
((Debian;GNU/Linux);mod_gzip/1.3.26.1a;PHP/4.3.10-16)
110/tcp;;;open;;pop3?
...



其他难以置信的用法是操作系统的探测,在命令后加上-O参数即可,如果这个机器有至少一个端口打开和至少一个端口关闭的话,你就能准确地获取操作系统的信息:

#;nmap;-O;-sS;10.0.0.89
Starting;nmap;3.81;(;http://www.insecure.org/nmap/;)
at;2006-11-02;09:02
NZDT
Interesting;ports;on;10.0.0.89:
(The;1637;ports;scanned;but;not;shown
below;are;in;state:;closed)
PORT;;;;;;STATE;SERVICE
21/tcp;;;;open;;ftp

推荐阅读