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
需要在此目录中创建相关文件。