首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>网络安全>文章内容
用自由软件构建中小企业弱点评估系统
来源:www.vfocus.net 作者:wlj 发布时间:2004-04-20  

网络安全焦点::用自由软件构建中小企业弱点评估系统

用自由软件构建中小企业弱点评估系统

吴鲁加 04/18/2004

1. 准备工作

1.1 了解你需要什么

在确定要投入精力来配置系统之前,你或许希望了解它能为你带来什么。这么说吧,如果你现在:

  • 负责企业内部的企业安全,希望有一套比较适合企业应用的漏洞扫描系统;
  • 自己的网络和系统管理水平较好,不需要太多的所谓专家顾问支持;
  • 公司在这方面的预算相当有限,你的钱必须花在上级已经定好的几个项目和产品上了。

这里所说的比较适合企业应用,简单说来,我想至少包括下面几点:

  • 漏报、误报率较低,或者至少自己能够对报警的真实性进行调整后再统计;
  • 对漏洞升级的快速反应,重大事件三天内应该有相应扫描模块升级;
  • 能够出具比较美观的报表,对企业内部安全状况进行分析;
  • 尽量简单易用,或者配置后就能自动运转,减少系统管理员的维护工作量。

那么,恭喜你,Inprotect具备了上述的所有功能,如果你有一定的编程能力,那么你还可以对它进行定制,使之更适合你的特定网络环境需求。

1.2 环境准备

安装配置支持php、mysql和gd的apache服务器,并且顺手将nmap、nessus和nikto这些扫描工具全装齐。

apt-get install apache php4 php4-gd2 php4-mysql mysql-server mysql-client nmap nessus nessusd nikto

配置apache,直接编辑/etc/apache/httpd.conf,将:

DirectoryIndex index.html index.htm index.shtml index.cgi#AddType application/x-httpd-php .php#AddType application/x-httpd-php-source .phpsAddDefaultCharset on

改成:

DirectoryIndex index.php index.php3 index.html index.htm index.shtml index.cgiAddType application/x-httpd-php .php .php3AddType application/x-httpd-php-source .phpsAddDefaultCharset gb2312

运行下面的命令给mysql加上密码:

mysqladmin password xxxxxx

如果希望mysql启动时带上更好的中文支持,则可以编辑/etc/init.d/mysql文件,把/usr/bin/mysqld_safe > /dev/null 2>&1 &改成:

/usr/bin/mysqld_safe --default-character-set=gb2312 /dev/null 2>&1 &

编辑/etc/php4/apache/php.ini文件,找到“;default_charset = "iso-8859-1"”,替换成:

default_charset = "gb2312"

2. 安装配置

2.1 Inprotect的安装

2.1.1 安装perl模块

至少需要以下模块才能够使crontab里面的perl脚本正常运行,可以到CPAN找来安装。

MIME::LiteParallel::ForkManagerDate::Calc

2.1.2 下载Inspect并导入数据库

直接到http://www.inprotect.com/下载Inspect的最新版本。解包后可以仔细阅读INSTALL、console/html/readme.txt这两份文件,里面有较为详细的安装说明。

进入console/sql目录,运行:

mysql -h localhost --user=root < sql/inprotect.sql

如果你下载的是018版本,可能会有错误提示,数据库不会完全导入,原因是inprotect_settings重复,将第二个inprotect_settings的内容注释掉即可。

由于我对MySQL不太熟练,更喜欢通过phpmyadmin进行web管理,这样也方便后期更好地对弱点数据库进行整理。因此,就apt-get install phpmyadmin安装。phpmyadmin的界面如下:

2.1.3 安装并修改配置文件

运行install.sh,可以安装Inprotect程序,但该脚本只是为RedHat准备的,有些地方需要修改。脚本分成安装web文件、安装数据库和安装扫描器三个部份,除了安装文件外,也写入crontab定时运行任务。所有这些内容都可以自行根据脚本内容进行灵活调整。

分别编辑在html目录下的config.php和/usr/local/etc/inprotect.cfg,主要修改数据库相关参数如主机、用户名、口令等。然后创建数据目录/usr/data/nessus和/usr/data/nmap。

2.1.4 updateplugins.pl

这样Inprotect就可以运行了,但由于nessus的插件还没有入库,因此暂时只是nmap扫描可用,试图运行nessus扫描时,会提示先运行nessus-plugins-update脚本,这个脚本中我们需要注意几个地方:

  • nessus-update-plugins命令
    #execute nessus-update-plugins#system ("nessus-update-plugins") == 0 or die "No new plugins installed";#If used patch for nessus-update-plugins, we may pass parameter on the command line.system ("nessus-update-plugins -u $inprotect_url/html/nessus") == 0 or die "No new plugins installed";

    这里的nessus-update-plugins带了-u参数,是Inprotect的作者修改过的,可以指定url,这里指定了本地url以提高速度。这个脚本在Inprotect软件包console/patch目录下。由于速度对我影响不大,因此我将这行注释了,直接采用不带-u参数的。

  • nessus命令参数
    #system("/usr/bin/nessus -qxpS $nessussvr $nessusport $nessususer $nessuspassw > $tempfile");system("/usr/bin/nessus -qxpS localhost 1241 aa my_password_here > $tempfile");

    系统中原来是第一行,但变量没有赋值(017之前的版本是在inprotect.cfg文件中赋值的),懒得改了,直接把自己的nessus用户信息写进程序。

2.1.5 登陆使用

直接连接到web服务器http://localhost/html/login.php,以用户名Admin,密码password直接登陆,可以看到如下界面:

是否还算精美?;)

2.2 配置使用

建议的使用流程如下:

  • 建立个人的profile

    选择"Settings" -> "Nessus Scan Profiles" -> "Create New Profile" -> 填写信息 -> 点击"Save"

  • 选择nessusd服务器

    选择"Settings" -> "Nessus Servers" -> "Add new Nessus server" -> 填写信息 -> 点击"Save"

  • 建立nessus管理区域

    选择"Settings" -> "Network Zones" -> "Add New Network Zone" -> 填写信息 -> 点击"Add zone" -> 返回 -> Edit Zone -> Zone Details -> Edit Zone Users

    提示:这里填写的zone的IP范围要覆盖你希望扫描的网络。如果这里的信息填写有误,则添加扫描任务的时候会无法加入IP地址。

  • 建立nessus用户

    选择"Settings" -> "Manage Users" -> 增加或者修改用户信息

  • 开始扫描

    这时候可以到Security Scan里尝试一下,如果配置得当,nessus的扫描与nmap的扫描都可以正常使用了。

2.3 报告

这里的报告实际上是将Nessus、nmap和nikto的结果综合输出了,报告还是相当精美的,并且能够直接生成pdf。

3. 企业应用

3.1 Inprotect对企业应用的支持

3.1.1 周期扫描

我们可以先看看下面这幅截屏:

套用一款商用扫描器的广告词:可以在指定时间自动完成定时扫描任务或周期扫描任务,同时可以在无人值守的情况下自动获取升级信息。

3.1.2 误报分析

在2.3节的报告部份,我们可以看到图片中每一漏洞后都有红色的小勾,如果我们点击该小勾,则将该漏洞表示为“误报”,这对数据入库后的月、季和年度分析的准确性很有帮助。

3.1.3 趋势分析

在报告部份,有漏洞趋势分析、按日期或扫描排序的趋势等,能够对安全问题的趋势、分布进行统筹分析,便于制定安全决策和长远的安全规划。

3.2 怎样用好弱点评估系统

其实漏洞扫描是一种“未雨绸缪”式的安全工作,如果工作到位,能使入侵者的攻击难度极大增加,下面是我工作中的一些小经验,希望有用:

  • 将内部网络划分成不同的区域,每个区域有不同安全级别,定义的扫描频度和强度也有所不同。但一定要涵盖全网,不能有遗漏!
  • 让机器代替人去做定期重复性的扫描,管理员把精力放在分析扫描报告上。最初几次扫描能够初步了解内部网络信息,后期分析则注重看“区别”。
  • 注重问题的解决而非漏洞扫描本身。每次扫描的结果与上次比较,如果漏洞已经通知IT但却长期不补,至少责任能够厘清。

如果你的报告一定需要以中文形式提交,那么安全焦点扫描器插件翻译项目里找到部份nessus插件的中文翻译,如果你感兴趣,也可以加入到项目中。


Power by Debian, Created with Vim




 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·一句话木马
·samcrypt.lib简介
·教你轻松查看QQ空间加密后的好友
·web sniffer 在线嗅探/online ht
·SPIKE与Peach Fuzzer相关知识
·asp,php,aspx一句话集合
·Cisco PIX525 配置备忘
·用Iptables+Fedora做ADSL 路由器
·检查 Web 应用安全的几款开源免
·Md5(base64)加密与解密实战
·NT下动态切换进程分析笔记
·风险评估中的渗透测试
  相关文章
·国内网络安全风险评估市场与技术
·SSL是如何工作的
·用访问控制列表实现网络单向访问
·FTP协议的分析和扩展
·DLL后门清除完全篇
·用Iptables+Fedora做ADSL 路由器
·《再谈进程与端口的映射》之狗尾
·JSP安全编程实例浅析
·分布式拒绝服务攻击(tfn2k)攻击
·居安思危--论补丁管理之理论
·Linux内核漏洞浅析
·ASP注入漏洞全接触
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved