安全性使用Nikto测试您的Apache配置
介绍
到目前为止,您已经完成了新的Ubuntu 6.0.6(Dapper Drake)盒子的设置。 您甚至可以使用BASE和Snort教程进行优秀的入侵检测和预防 。 作为一个额外的预防措施,您安装了DenyHosts以防止通过ssh进行黑客尝试 。 但是现在你已经在互联网上有了新的LAMP服务器,你怎么能告诉你新的Web服务器是安全的? 你测试了,当然!
本教程的灵感来自于Tony Mobily(APress)的“加强Apache”章节之一,将向您展示如何设置免费的Web服务器安全扫描工具Nikto 。 此工具将探索您的Apache设置的漏洞,因此您可以了解配置中可能存在的漏洞。 本教程只会让您在安装该工具和运行第一次扫描之前。 谷歌搜索或上述书将为您提供实际保护您的Apache服务器的大量信息。
请记住,只扫描您拥有的扫描服务器或您有权扫描服务器,否则您很容易冒犯法律行为和监禁时间。
让我们开始吧。
1.1安装Net_SSLeay
Net_SSLeay是一个Perl模块,它增加了通过SSL连接进行连接的能力。 最新版本为1.30(在撰写本文时),可从CPAN存储库下载 。 如果您打算测试启用SSL的服务器,Nikto将需要这样做。
我通常创建一个/ src
目录下载我的所有源文件,并将首先做。
mkdir /src
cd /src
现在我们可以下载Net_SSLeay Perl Module源码:
wget http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Net_SSLeay.pm-1.30.tar.gz
完成下载后,让我们解压并进入unarchived文件夹:
tar -xzvf Net_SSLeay.pm-1.30.tar.gz
cd ./Net_SSLeay.pm-1.30
现在,让我们用一些简单的命令来安装这个模块:
perl Makefile.PL
make
make install
1.2安装Nikto
首先我们下载最新版本的Nikto。 这可以从在CIRT.net编写软件的安全专家的网站检索 。
返回到/ src
目录:
cd /src
而现在得到的Nikto软件(当前版本1.35,但下面的链接应该总是下载最新的稳定版本),取消存档:
wget http://www.cirt.net/nikto/nikto-current.tar.gz
tar -xzvf nikto-current.tar.gz
Nikto构建在rfp 的 LibWhisker之上 (对于所有的基础网络功能)。 它包含在Nikto中,但是让我们继续更新到最新版本(1.x分支)。
wget http://www.wiretrip.net/rfp/libwhisker/LW.pm
cp LW.pm ./nikto-1.35/LW.pm
由于Nikto只是一个perl脚本,它不需要安装,但我们应该继续移动到一个更永久的位置,如/ usr / local
mv nikto-1.35/ /usr/local/nikto
现在,我们改成这个目录,这样我们可以更新Nikto的数据库。
cd /usr/local/nikto
perl nikto.pl -update
1.3使用Nikto
现在我们都是最新的,我们来试试看吧。
标准测试(假设您已将Nikto直接安装在您的:
perl nikto.pl -h localhost
在基于完美设置方法的标准安装上运行此测试时,我发现5个错误。 没有什么太关键,3个过时的通知(Apache,PHP,OpenSSL)和2个Apache配置错误(手动和图标目录仍然可访问,让潜在的恶意黑客知道你没有做太多的重新配置Apache)。
如果你想给Snort一个运行的钱,你可以添加-evasion标志,并尝试回避你的IDS系统,像这样:
perl nikto.pl -h example.com -evasion 1
在上面的示例中使用您的Web服务器的URL或IP地址替换example.com。 -evasion旗帜有9种不同的选择。 1用于随机URI编码(非UTF8)。 这个扫描确实比较慢,所以你可能想去做一个三明治。 有关Nikto提供的可用选项的更多信息,请查阅README文件(位于... /nikto/docs/nikto_usage.html或在线 )。
结论
安全是一个存在的状态,而不是一个实现的状态。 通过测试您的配置,您可以找到可能错过的漏洞。 然而,没有工具是一个安全系统的路径,只是一个指南。 强烈建议您继续教育自己,并订阅受尊敬的权威机构的安全警报。 只有这样,您才能希望保持领先地位,并保持您和您的服务器的安全。
快乐扫描!