OpenVAS 使用指南:解锁开源漏洞扫描的强大力量
因此,在生产环境中,建议优先选择相对温和的扫描策略,如 Full and fast ,并在扫描前进行充分的测试和评估,确保扫描过程不会对业务造成影响。在创建过程中,你可以从庞大的漏洞检测规则库(NVT)中选择与你关注的服务或应用相关的规则,排除不必要的检测项,从而创建出高度针对性的扫描策略。:点击进入后,可以定义扫描的IP地址范围或域名。此外,还可以设置一些高级选项,如添加登录凭证(SSH/Win
———————————————————-
点击上方可订阅关注我:蚂蚁质量!也可以加我微信(dfsyh1314)进微信交流群和获取资料。如果你觉得公众号对你有帮助,欢迎转发、推荐给他人。
————————————————————
在当今复杂多变的网络安全环境中,保障各类网络设备、服务器以及应用程序的安全稳定运行,是每一个企业和组织不容忽视的重要任务。OpenVAS,即Open Vulnerability Assessment System,作为一款备受赞誉的开源漏洞扫描工具,凭借其全面且强大的功能,成为了安全领域专业人士进行安全评估的得力助手。它不仅能够精准地检测出潜藏的漏洞,还能对风险进行科学评估,并生成详尽的报告,无论是企业日常的安全检查,还是渗透测试工作,OpenVAS都能发挥关键作用。但请务必牢记,其使用必须严格限定在合法授权的范围内,切不可逾越法律红线。
1. 安装与初始化
Debian/Kali/Ubuntu(推荐):对于基于Debian系的操作系统,如Debian、Kali和Ubuntu,使用系统自带的包管理器进行安装是最为便捷且稳定的方式。在终端中依次执行以下命令:
sudo apt update
这一步的作用是更新系统的软件包列表,确保获取到最新的软件源信息,以便后续安装的软件是最新版本且依赖关系正确。
sudo apt install gvm -y
OpenVAS目前已更名为GVM(Greenbone Vulnerability Manager),这条命令会自动下载并安装GVM及其相关依赖, -y 参数表示自动确认所有安装提示,无需手动干预,大大简化了安装流程。
sudo gvm-setup
执行此命令进行初始化配置,在配置过程中,系统会生成一个用于登录的admin密码,请务必妥善保存,这是后续登录Web界面的重要凭证。
sudo gvm-feed-update
为了确保能够检测到最新出现的漏洞,需要定期更新漏洞库(NVT,Network Vulnerability Tests)。这条命令会从官方源获取最新的漏洞检测规则,使OpenVAS始终保持强大的检测能力。
初始化配置
启动服务:在完成安装后,需要启动OpenVAS的所有组件,确保服务正常运行。在终端中执行:
sudo gvm-start
这条命令会启动GVM相关的一系列服务,包括扫描引擎、管理服务等。启动完成后,可以通过以下命令检查安装的完整性:
sudo gvm-check-setup
它会对OpenVAS的各个组件进行检查,如数据库连接是否正常、服务端口是否正确监听等,确保整个系统可以正常工作。
更新漏洞库:漏洞的出现是持续且动态的,为了让OpenVAS能够检测到最新的安全威胁,定期更新漏洞库至关重要。执行以下命令:
sudo gvm-feed-update
建议将此操作设置为定期任务,例如每周或每月执行一次,以获取最新的漏洞检测规则,始终保持OpenVAS的检测能力与时俱进。
登录Web界面:OpenVAS提供了一个直观易用的Web界面,方便用户进行各种操作。在浏览器中访问 https://服务器IP:9392 ,默认账号为 admin ,密码则是在执行 sudo gvm-setup 时生成的随机字符串。登录成功后,为了增强安全性,建议修改默认密码。在终端中执行:
sudo runuser -u _gvm -- gvmd --user=admin --new-password=新密码
这样就可以将admin账号的密码修改为自定义的新密码,有效提升系统的安全性。

2. Web 界面操作
界面概览

Scans:这一板块是管理扫描任务和报告的核心区域。在这里,你可以查看所有已执行的扫描任务记录,包括任务的执行状态、开始时间、结束时间等信息。对于生成的报告,也能进行查看、下载、分享等操作,方便对扫描结果进行分析和处理。
Configuration:用于配置扫描相关的各种参数,如扫描目标、扫描策略、登录凭证等。通过合理配置这些参数,可以根据不同的需求定制扫描任务,提高扫描的准确性和效率。
Administration:主要负责用户管理和系统设置。在用户管理方面,可以添加、删除用户,设置用户权限等;系统设置则涵盖了各种全局配置,如邮件通知设置、日志记录级别等,确保系统按照你的需求运行。
关键功能入口
Targets(目标):点击进入后,可以定义扫描的IP地址范围或域名。例如,输入 192.168.1.0/24 ,表示扫描整个C类IP地址段;也可以输入单个IP地址或多个以逗号分隔的IP地址。同时,还可以选择端口列表,默认的 All IANA assigned TCP 表示扫描所有已分配的TCP端口,当然也可以根据实际需求自定义端口范围。
Scan Configs(扫描策略):这里提供了多种预定义的扫描策略,如 Full and fast ,它在扫描速度和漏洞覆盖率之间取得了较好的平衡,适用于大多数常规扫描场景; Host Discovery 则专注于探测存活主机,不进行深入的漏洞检测,适合在大规模网络环境中快速定位活动主机;如果这些预定义策略无法满足需求,还可以通过 Scan Configs 创建自定义策略,根据具体的业务需求和安全重点,有针对性地选择漏洞检测规则。
Tasks(任务):是创建并启动扫描任务的地方。在这里,你需要关联之前定义的目标和选择的扫描策略,并为任务命名,方便识别和管理。此外,还可以设置一些高级选项,如添加登录凭证(SSH/Windows),当提供了有效的登录凭证后,OpenVAS可以执行更深度的扫描,检测出更多潜在的漏洞。
3. 创建扫描任务

步骤详解
1.新建目标:首先,进入 Configuration → Targets → New 。在弹出的界面中,输入目标IP地址范围,如 192.168.x.x/24 ,然后选择端口列表。默认的 All IANA assigned TCP 选项会扫描所有常见的TCP端口,这对于全面检测目标主机的安全性非常有帮助。但如果已知目标主机只运行特定的服务,也可以选择自定义端口列表,只扫描与这些服务相关的端口,这样可以缩短扫描时间,提高效率。
2.选择扫描策略:
推荐策略:
Full and fast:这是一个非常实用的默认策略,它在保证扫描速度的同时,尽可能全面地检测各种常见漏洞,适用于大多数日常安全检查场景,能够快速为你提供目标系统的安全状况概览。
Host Discovery:当你只需要了解网络中哪些主机处于活动状态时,这个策略就派上用场了。它不会对主机进行详细的漏洞检测,而是专注于通过各种探测手段(如ICMP ping、TCP SYN扫描等)来发现存活的主机,在大规模网络环境中进行初步的网络拓扑发现时非常有效。
自定义策略:如果预定义的策略无法满足你的特定需求,比如你只关心目标系统中的Web应用漏洞,或者特定服务(如MySQL、Apache等)的漏洞,可以通过 Scan Configs 创建自定义策略。在创建过程中,你可以从庞大的漏洞检测规则库(NVT)中选择与你关注的服务或应用相关的规则,排除不必要的检测项,从而创建出高度针对性的扫描策略。
3.创建任务:进入 Scans → Tasks → New Task ,在这个界面中,将之前创建的目标和选择的扫描策略进行关联,并为任务取一个有意义的名称,方便后续识别和管理。此外,还有一些高级选项可供设置,例如添加登录凭证(SSH/Windows)。当你提供了有效的登录凭证后,OpenVAS可以以更高的权限访问目标系统,执行更深入的检测,发现一些只有在系统内部才能检测到的漏洞,如系统配置错误、敏感文件泄露等。
4.启动扫描:一切设置完成后,点击任务右侧的播放按钮▶️,此时任务状态会变为 Requested ,表示任务已提交到扫描队列中等待执行。在扫描过程中,你可以在 Current Tasks 中实时查看扫描进度,了解已扫描的主机数量、检测到的漏洞数量等信息,方便及时掌握扫描情况。
4. 结果分析与报告导出

漏洞等级:OpenVAS按照漏洞的严重性将其分为High(高)、Medium(中)、Low(低)三个等级。High级别的漏洞通常意味着存在严重的安全风险,如远程代码执行、敏感信息泄露等,可能导致系统被完全控制或数据泄露,需要立即采取措施进行修复;Medium级别的漏洞虽然风险相对较低,但也不容忽视,可能会被攻击者利用来提升权限或进行其他恶意操作;Low级别的漏洞可能是一些不太关键的配置问题或潜在的安全隐患,虽然短期内可能不会对系统造成直接威胁,但长期积累也可能引发安全问题。
详细信息:每个漏洞报告都包含丰富的详细信息,其中CVE编号(Common Vulnerabilities and Exposures)是一个重要的标识,它是全球通用的漏洞标识符,通过CVE编号可以在互联网上查询到关于该漏洞的详细描述、影响范围、已有的攻击案例等信息。此外,报告中还会提供影响描述,详细说明该漏洞对目标系统可能造成的影响,以及修复建议,通常包括升级软件版本、修改配置文件、安装安全补丁等具体操作步骤,帮助用户快速采取有效的修复措施。
过滤与排序:为了更方便地分析大量的漏洞报告,OpenVAS提供了强大的过滤与排序功能。你可以根据CVSS评分(Common Vulnerability Scoring System,通用漏洞评分系统)进行筛选,CVSS评分是一个综合评估漏洞严重程度的量化指标,通过设置评分阈值,可以快速筛选出高风险的漏洞;也可以按照端口、服务类型等条件进行筛选,例如只查看与Web服务相关的漏洞,或者只关注特定端口上的漏洞,从而更有针对性地进行分析和处理。
导出报告:进入 Scans → Reports ,在这个界面中,你可以看到所有已完成的扫描任务报告。选择你需要导出的报告对应的任务。
点击下载图标,此时会弹出格式选择菜单:
PDF/HTML:这两种格式适合提供给管理层阅读。PDF格式具有良好的排版和打印效果,方便线下传阅和存档;HTML格式则可以在浏览器中直接打开,具有交互性,方便点击链接查看详细的漏洞信息和修复建议,能够直观地展示扫描结果的全貌,让非技术人员也能快速了解系统的安全状况。
CSV/XML:对于需要将扫描结果进一步导入其他工具(如SIEM,Security Information and Event Management,安全信息和事件管理系统)进行分析的用户来说,CSV和XML格式是更好的选择。CSV格式以逗号分隔数据,易于被各种数据分析工具读取和处理;XML格式则具有良好的结构化和扩展性,能够完整地保留扫描结果的详细信息,方便与其他系统进行数据交互和整合。
5. 高级功能
定时扫描:为了实现自动化的安全检测,OpenVAS提供了定时扫描功能。进入 Configuration → Schedules → New ,在这个界面中,你可以设置扫描任务的执行周期。例如,将扫描时间设置为每日凌晨2点,这样在每天业务量相对较低的时间段,扫描任务会自动启动并执行,不会对正常业务造成影响。在创建扫描任务时,将其与设置好的计划进行关联,以后该任务就会按照预定的时间自动执行,无需人工干预,大大提高了安全检测的效率和及时性。
自定义扫描策略:当预定义的扫描策略无法满足特定的安全需求时,你可以通过自定义扫描策略来实现更精准的漏洞检测。进入 Configuration → Scan Configs → New :
1.首先选择一个基础模板,如 Empty ,这个模板是一个空白的策略框架,你可以根据自己的需求完全自定义其中的内容。
2.然后,根据目标系统的特点和关注的重点,按需添加或删除NVT家族。例如,如果目标系统主要运行Apache服务器,就可以添加 Apache 相关的NVT家族,确保对Apache服务器的漏洞进行全面检测;如果不需要检测MySQL相关的漏洞,就可以将 MySQL 家族从策略中删除,减少不必要的扫描时间和资源消耗。
3.最后,设置规则自动更新模式。选择 Grow 模式,这样在更新漏洞库时,自定义策略会自动同步最新的漏洞检测规则,始终保持对最新漏洞的检测能力,确保扫描策略的时效性和有效性。
6. 注意事项
合法授权:使用OpenVAS进行漏洞扫描必须在获得合法授权的前提下进行。未经授权对第三方网络进行扫描是严重的违法行为,可能会导致法律诉讼和严重的经济损失。在进行任何扫描操作之前,务必与目标系统的所有者或管理员进行充分沟通,并获取明确的书面授权,确保扫描行为的合法性和合规性。
资源消耗:OpenVAS的全量扫描会对系统资源(如CPU、内存、网络带宽等)造成较大的占用。在扫描过程中,可能会导致目标系统性能下降,甚至影响正常业务的运行。因此,建议在业务低峰期执行全量扫描,或者根据实际情况合理调整扫描参数,如减少扫描的并发线程数、缩小扫描的IP范围等,以降低对系统资源的消耗。
误报处理:虽然OpenVAS是一款非常强大和准确的漏洞扫描工具,但在实际使用中,仍然可能会出现误报的情况。误报可能会导致对安全状况的误判,浪费时间和资源进行不必要的修复。为了有效处理误报,建议结合人工验证关键漏洞,特别是对于CVE评分≥7.0的高风险漏洞,要进行仔细的核实和确认。可以通过手动检查目标系统的实际情况、参考其他安全工具的检测结果等方式,来判断漏洞是否真实存在,避免盲目修复误报的漏洞。
定期更新:为了保持OpenVAS的检测能力与时俱进,定期更新漏洞库和软件版本是非常必要的。
生产环境谨慎操作:在生产环境中使用OpenVAS进行扫描时,要特别谨慎选择扫描策略。一些激进的扫描策略,如 Full and very deep ultimate ,虽然能够检测到非常深入的漏洞,但也可能会对生产系统造成较大的影响,甚至导致服务中断。因此,在生产环境中,建议优先选择相对温和的扫描策略,如 Full and fast ,并在扫描前进行充分的测试和评估,确保扫描过程不会对业务造成影响。

-END-
作者简介:风随水
一个从事十五年测试和质量管理者
曾经深圳乃至全国最大最活跃软件测试QQ群群主
致力于质量管理和体系规范
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)