Docker 安装部署
加载在线镜像
版本:10.2.0 (#75) LINUX
https://hub.docker.com/r/kuron3k0/nessus-x86 #请自行解决镜像加速,如无法拉取请使用下方离线镜像
版本:10.9.3 (#23) LINUX
https://hub.docker.com/r/makeyang/nessus #请自行解决镜像加速,如无法拉取请使用下方离线镜像
注意:如遇授权无效,请多次运行 update.sh 程序
运行项目
docker run -itd --name=ramisec_nessus -p 8834:8834 kuron3k0/nessus-x86 docker run -itd --name=ramisec_nessus -p 8834:8834 makeyang/nessus 密码获取
在docker项目中执行命令
通过ps命令查看项目id号


docker exec -it [CONTAINER ID] bash
cd /opt/nessus/sbin/
/opt/nessus/sbin# ./nessuscli chpasswd
更新插件
首次使用请更新,在docker项目中执行命令
docker exec -it [CONTAINER ID] bash bash /nessus/update.sh
如果报错请为脚本提权
chmod 755 update.sh更新版本
访问官网获取Nessus 最新Ubuntu版curl下载命令
https://www.tenable.com/downloads/nessus?loginAttempted=true#tos

复制下载命令在容器中执行,等待下载完成

停止Nessus 服务:在终端中运行以下命令停止Nessus 服务:
systemctl stop nessusd安装新的Nessus 版本:使用
dpkg命令安装下载的.deb 文件:
dpkg -i Nessus-<版本号和操作系统>.deb启动Nessus 服务:安装完成后,启动Nessus 服务:
cd /nessus #在容器里
bash update.sh #重新更新激活升级错误修复
修复步骤及命令总结 (按执行顺序):
修复
/var/lib/dpkg/目录的缺失或权限问题:
mkdir -p /var/lib/dpkg/
chown root:root /var/lib/dpkg/
chmod 755 /var/lib/dpkg/目的: 确保
dpkg软件包管理器的根目录存在且权限正确。
创建并修复
/var/lib/dpkg/status文件,并尝试重建dpkg数据库: (由于没有找到dpkg.status备份文件)
touch /var/lib/dpkg/status
chown root:root /var/lib/dpkg/status
chmod 644 /var/lib/dpkg/status
apt update
apt --fix-broken install
apt-get autoremove
apt-get autoclean目的:
status文件是dpkg最核心的数据库文件,记录了所有已安装包的状态。我们创建空文件后,通过运行apt --fix-broken install尝试让apt重新填充和修复dpkg数据库。
创建并修复
/var/lib/dpkg/updates/目录:
mkdir -p /var/lib/dpkg/updates/
chown root:root /var/lib/dpkg/updates/
chmod 755 /var/lib/dpkg/updates/目的:
updates目录是dpkg用于存放临时更新文件的地方。
创建并修复
/var/lib/dpkg/info/目录:
mkdir -p /var/lib/dpkg/info/
chown root:root /var/lib/dpkg/info/
chmod 755 /var/lib/dpkg/info/目的:
info目录存储了已安装软件包的元数据(如文件列表、安装前后脚本等)。当安装新包时,dpkg需要在此目录中创建相关文件。