阳子
阳子
发布于 2024-06-03 / 259 阅读
0
0

Nessus Docker 部署

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


评论