Kali如何自动重启OpenVAS?
TOPIC SOURCE
OPENVAS的安装与使用
每次重启kali系统都要手动启动OpenVAS服务,这种重复操作对安全测试人员来说确实是个负担。想象一下,凌晨三点紧急进行渗透测试时,还要先花时间启动漏洞扫描服务,这种体验实在不够优雅。
系统服务的本质
OpenVAS在kali中默认不会随系统自启动,这与其服务架构密切相关。OpenVAS由多个组件构成:openvassd(扫描引擎)、gsad(Web接口)和openvasmd(管理后台),这些组件需要按照特定顺序启动。手动执行openvas-start命令实际上是在协调这些服务的启动顺序。
systemd服务配置方案
最可靠的方案是利用systemd创建自定义服务。首先需要创建一个服务文件:
sudo nano /etc/systemd/system/openvas.service
文件内容应该包含完整的服务定义:
[Unit]
Description=OpenVAS Vulnerability Scanner
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/openvas-start
ExecStop=/usr/bin/openvas-stop
TimeoutSec=300
[Install]
WantedBy=multi-user.target
保存后执行sudo systemctl enable openvas.service启用服务,下次系统启动时OpenVAS就会自动运行。
crontab的巧妙运用
如果不想修改系统服务,crontab提供了另一种选择。在终端输入crontab -e,添加这行配置:
@reboot sleep 60 && /usr/bin/openvas-start
这里的60秒延迟确保网络服务完全就绪后再启动OpenVAS,避免因依赖问题导致启动失败。
监控与故障排查
自动化启动后,监控变得尤为重要。可以创建一个简单的健康检查脚本:
#!/bin/bash
if ! pgrep -x "gsad" > /dev/null; then
/usr/bin/openvas-start
fi
将这个脚本加入crontab,每分钟检查一次服务状态,确保OpenVAS持续可用。
性能考量
自动启动虽然方便,但需要考虑资源消耗。OpenVAS在空闲时占用约2GB内存,如果系统资源紧张,可以通过修改服务文件添加启动参数来限制资源使用。
选择哪种方案取决于具体需求。系统服务方案更适合专用测试环境,而crontab方案在个人设备上更灵活。无论哪种方式,自动化后的OpenVAS都能在渗透测试中提供更流畅的体验。

参与讨论
crontab里加sleep 60挺机智的
有人试过那个健康检查脚本吗?
资源占用2G有点大啊
凌晨三点还要手动启动也太真实了😂
看不懂,太技术了
直接用systemctl enable就行?
要是服务启动失败咋排查?
终于不用每次敲命令了
这个systemd方法靠谱,之前搞过类似的
有没有更省内存的方案?
半夜测试还得手动启动,太折腾了
@ 洋葱圈魔法师 同感,半夜起来搞这个太折磨了
crontab那个延迟60秒很关键
资源消耗那部分挺有用的