当前位置: 首页 > news >正文

Greenbone(绿骨)开源GVM容器docker部署和汉化介绍

文章目录

  • Greenbone(绿骨)开源GVM容器docker部署和汉化介绍
    • 前言
    • 用容器部署GVM
      • 第一步:安装依赖项
      • 第二步:安装 Docker
      • 第三步:使用 docker-compose编排文件,完成GVM服务部署
      • 第四步:启动Greenbone社区容器
    • 配置远程web访问服务
    • GVM的汉化
    • 附录:Kali GNU/Linux Rolling系统实操记录

Greenbone(绿骨)开源GVM容器docker部署和汉化介绍

前言

本文主要是介绍从容器运行 Greenbone Community Edition 也就是一般我们说的GVM(以前叫Openvas),使用和部署其开源社区版方式很多,可以从官方申请免费的虚拟机镜像,也可以参照Greenbone社区文档从源构建。
笔者每种方式都尝试过,期间遇到过很多问题(不同linux系统,问题不一样,解决起来很麻烦),最简单直接的方式还是用容器部署。
另外说明,写此文的目的只是为了方便懒得阅读英文,而又需要部署GVM漏洞扫描的同志。

用容器部署GVM

容器化的最大好处就是不调系统,不需要依赖,简单方便。
操作前请注意:
官方建议的系统基本配置:
最小配置:
CPU 内核:2
随机存取内存:4GB
硬盘:20GB 可用
推荐配置:
CPU 内核:4
随机存取存储器:8GB
硬盘:60GB 可用

特别需要强调的是:如果做了/var单独挂载的,/var存储空间一定要大于20G。在/var/docker目录里会存放容器和镜像的主要数据,少于20G会提示空间不足。

第一步:安装依赖项

推荐使用:Debian/Ubuntu 服务器系统
安装 ca-certificates、curl 和 gnupg Debian/Ubuntu 软件包

sudo apt install ca-certificates curl gnupg

第二步:安装 Docker

如果系统已经有docker可以略过此步骤,当然为了避免失败,也可以重新部署docker。
重新部署Docker:

#卸载冲突的 Debian 软件包
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remove $pkg; done#设置 Docker 存储库
# 1. 创建受信任的密钥存储目录(APT 密钥环专用目录)
sudo mkdir -p /etc/apt/keyrings && sudo chmod 0755 /etc/apt/keyrings
# 2. 下载 Docker 官方 GPG 密钥并转换格式
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 3. 设置密钥文件为全局可读,确保普通用户也能读取密钥(否则 apt 更新会报权限错误)
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 4. 生成 Docker 仓库配置文件
echo \"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null#安装 Docker Debian 软件包
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin#将当前用户添加到 docker 组,并为当前 shell 环境应用组更改。要允许当前用户运行 docker 并因此启动容器,必须将其添加到 docker 用户组。要使组更改生效,请注销并重新登录或使用 su。
sudo usermod -aG docker $USER && su $USER

关键说明
​1.curl 参数​
-f:静默失败(不输出错误页面)
-sS:静默模式但显示错误信息
-L:跟随重定向
​2.gpg 参数​
–dearmor:将 ASCII 格式的 PGP 密钥转换为二进制格式(.gpg)
​3.tee 参数​
> /dev/null:抑制终端输出(因已通过管道显示内容)

第三步:使用 docker-compose编排文件,完成GVM服务部署

#先创建一个新目录用来存放下载的 Greenbone Community Edition docker compose 文件,文件类型为.yml
#1.创建下载目录
export DOWNLOAD_DIR=$HOME/greenbone-community-container && mkdir -p $DOWNLOAD_DIR#2.下载Docker Compose 文件
curl -f -O -L https://greenbone.github.io/docs/latest/_static/docker-compose.yml --output-dir "$DOWNLOAD_DIR"

关键说明
1.export 临时指定DOWNLOAD_DIR变量路径为$HOME/greenbon-community-container
注意:重启系统后会失效
2.因为国内网络访问greenbone.github.io社区步稳定,如果下载不成功可以多试几次。又或者用wget命令替代。
3. docker compose 文件提供的容器及其服务请参考官方社区:https://greenbone.github.io/docs/latest/22.4/container/index.html

第四步:启动Greenbone社区容器

使用以下载的docker-compose.yml文件,可以下载( 拉取 )容器镜像,并且可以在后台启动容器。

#下载 Greenbone 社区容器
docker compose -f $DOWNLOAD_DIR/docker-compose.yml pull#启动 Greenbone 社区容器
docker compose -f $DOWNLOAD_DIR/docker-compose.yml up -d#显示正在运行的容器中所有服务的日志消息
docker compose -f $DOWNLOAD_DIR/docker-compose.yml logs -f
#Ctrl-C 停止日志流。

下载容器镜像比较废时间,具体耗时与实际网速相关。完成后最好还是用最后一条命令查看容器服务的日志,如果有错修正后再试。

#删除容器和卷(所有数据)
docker compose -f $DOWNLOAD_DIR/docker-compose.yml down -v

设置 Admin 用户密码,这是web访问时的用户名和密码。

docker compose -f $DOWNLOAD_DIR/docker-compose.yml \exec -u gvmd gvmd gvmd --user=admin --new-password='<password>'

配置远程web访问服务

默认下,Web 服务器配置为仅侦听主机的本地地址 (127.0.0.1)。要允许在主机的所有接口上进行远程访问,必须修改docker-compose.yml文件以将 Web 服务器 gsad 配置为侦听所有网络接口。

sudo nano $DOWNLOAD_DIR/docker-compose.yml

修改docker-compose.yml文件内容:

...gsa:image: greenbone/gsa:stablerestart: on-failureports:- 127.0.0.1:9392:80			#删除此行- 9392:80					#增加此行volumes:- gvmd_socket_vol:/run/gvmddepends_on:- gvmd
...

保存退出后,重启容器:

docker compose -f $DOWNLOAD_DIR/docker-compose.yml up -d

在客户端浏览器地址栏输入:http://<服务器ip>:9392,即可。
在这里插入图片描述
在前文中修改docker-compose.yml文件时,我们修改的内容时9392:80,这代表http协议的9392端口提供web服务,可以按自己的需求修改。
另外,当进行到这一步实际打开web服务后,你会发现所访问的页面是英文的,不像我图中显示的是中文。
如果需要汉化,请参看后文:

GVM的汉化

汉化的原理很简单,在浏览器中发访问gvm时,页面内点击鼠标右键打开"检查"右窗格,然后选择”network",再刷新页面,你就会发现:
在访问站点时加载了一个gsa-en.json的文件,如下图所示:
在这里插入图片描述
这个json文件其实就是GVM的语言包,默认加载后可以切换英语和德语。
所以,小伙伴们可能就想到了,我们可以修改其语言包的加载项来实现汉化显示中文,方法很多,我这里介绍最简单的一种:
首先,我们需要进入到gsa的容器中:

#使用docker ps命令查看在运行的容器,可以看到一个name为greenbone-community-edition-gsa-1的容器,这就是gmv网站发布的容器。
docker ps                                               
CONTAINER ID   IMAGE                                                               COMMAND                  CREATED          STATUS          PORTS                                     NAMES
2e4757c9851e   registry.community.greenbone.net/community/gsa:stable               "/usr/local/bin/entr…"   7 minutes ago    Up 4 minutes    0.0.0.0:9392->80/tcp, [::]:9392->80/tcp   greenbone-community-edition-gsa-1
78f2c2586e6d   registry.community.greenbone.net/community/gvmd:stable              "/usr/local/bin/entr…"   25 minutes ago   Up 24 minutes                                             greenbone-community-edition-gvmd-1
68c61c23d533   registry.community.greenbone.net/community/openvas-scanner:stable   "/bin/sh -c /usr/loc…"   25 minutes ago   Up 24 minutes                                             greenbone-community-edition-openvasd-1
58636a638997   registry.community.greenbone.net/community/ospd-openvas:stable      "/usr/bin/tini -- /u…"   28 minutes ago   Up 24 minutes                                             greenbone-community-edition-ospd-openvas-1
eb11337bcd72   registry.community.greenbone.net/community/openvas-scanner:stable   "/bin/sh -c 'cat /et…"   28 minutes ago   Up 24 minutes                                             greenbone-community-edition-openvas-1
3f1076d2df84   registry.community.greenbone.net/community/redis-server             "/bin/sh -c 'rm -f /…"   28 minutes ago   Up 25 minutes                                             greenbone-community-edition-redis-server-1
289ae734b67c   registry.community.greenbone.net/community/pg-gvm:stable            "/usr/local/bin/entr…"   28 minutes ago   Up 25 minutes                                             greenbone-community-edition-pg-gvm-1#怕眼花看错,也可以加个过滤,查看gsa的容器名称和IDdocker ps --filter "name=gsa"
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED          STATUS          PORTS                                     NAMES
2e4757c9851e   registry.community.greenbone.net/community/gsa:stable   "/usr/local/bin/entr…"   56 minutes ago   Up 52 minutes   0.0.0.0:9392->80/tcp, [::]:9392->80/tcp   greenbone-community-edition-gsa-1

然后,进入到greenbone-community-edition-gsa-1容器中:

#以交互的方式进入greenbone-community-edition_gsa_1
docker exec -it greenbone-community-edition_gsa_1 /bin/sh

进入web源代码目录,通过修改gsa-en.json文件完成汉化

# cd /usr/local/share/gvm/gsad/web/locales 
# ls -l
total 476
-rw-r--r-- 1 root root  11681 Apr  8 09:08 gsa-ar.json
-rw-r--r-- 1 root root 132074 Apr  8 09:08 gsa-de.json
-rw-r--r-- 1 root root 121801 Apr  8 09:08 gsa-en.json
-rw-r--r-- 1 root root      3 Apr  8 09:08 gsa-fr.json
-rw-r--r-- 1 root root  11919 Apr  8 09:08 gsa-pt_BR.json
-rw-r--r-- 1 root root      3 Apr  8 09:08 gsa-ru.json
-rw-r--r-- 1 root root      3 Apr  8 09:08 gsa-tr.json
-rw-r--r-- 1 root root 106850 Apr  8 09:08 gsa-zh_CN.json
-rw-r--r-- 1 root root  78000 Apr  8 09:08 gsa-zh_TW.json

可以看到/usr/local/share/gvm/gsad/web/locales目录中,除了gsa-en.json文件外还有其他的语言包文件,其中gsa-zh_CN.json既是简体中文语言包。
接下来就简单了:

备份原gsa-en.json
# cp gsa-en.json gsa-en.json.bak修改gsa-zh_CN.json文件名为gsa-en.json
# cp gsa-zh_CN.json gsa-en.json
# exit

刷新浏览器,看到的就是中文界面的gvm(加载的虽然任然时gsa-en.json,但这是我们替换后的了)
在这里插入图片描述
要注意的是:
这种方式修改,只是临时性修改,当你重启容器后就会失效,除非文件挂载到宿主机的卷中(容器内文件的挂载,需要修改.yml文件内容,并重启容器,这里略过不再多少)
其实GVM汉化作用不是很大,因为它只汉化了web界面,输出的报告等还是英文的,要搞这个对我来说太难太费事,还不如直接上翻译软件。

所以……仅供参考。

附录:Kali GNU/Linux Rolling系统实操记录

最后,附上我在kali系统中的操作记录


(root㉿kali)-[~]
└─# for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remove $pkg; done
Package 'docker.io' is not installed, so not removed
Summary:Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 82
Package 'docker-doc' is not installed, so not removed
Summary:Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 82
Package 'docker-compose' is not installed, so not removed
Summary:Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 82
Package 'podman-docker' is not installed, so not removed
Summary:Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 82
Package 'containerd' is not installed, so not removed
Summary:Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 82
Package 'runc' is not installed, so not removed
Summary:Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 82┌──(root㉿kali)-[~]
└─# sudo install -m 0755 -d /etc/apt/keyrings┌──(root㉿kali)-[~]
└─# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
usage: gpg [options] --dearmor [file]┌──(root㉿kali)-[~]
└─# echo \
>   "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
dquote>   "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
pipe>   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null┌──(root㉿kali)-[~]
└─# sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker-ce is already the newest version (5:28.1.1-1~debian.12~bookworm).
docker-ce-cli is already the newest version (5:28.1.1-1~debian.12~bookworm).
containerd.io is already the newest version (1.7.27-1).
docker-compose-plugin is already the newest version (2.35.1-1~debian.12~bookworm).
Summary:Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 82──(root㉿kali)-[~]
└─# exit                                                                             ┌──(root㉿kali)-[~]
└─# su blue                                  
┌──(blue㉿kali)-[/root]
└─$ cd ~┌──(blue㉿kali)-[~]
└─$ ls┌──(blue㉿kali)-[~]
└─$ export DOWNLOAD_DIR=$HOME/greenbone-community-container && mkdir -p $DOWNLOAD_DIR┌──(blue㉿kali)-[~]
└─$ export DOWNLOAD_DIR=$HOME/greenbone-community-container && mkdir -p $DOWNLOAD_DIR┌──(blue㉿kali)-[~]
└─$ ls                                                                               
greenbone-community-container┌──(blue㉿kali)-[~]
└─$ sudo usermod -aG docker $USER && su $USER
[sudo] password for blue: 
Password: 
┌──(blue㉿kali)-[~]
└─$ ls
greenbone-community-container┌──(blue㉿kali)-[~]
└─$ curl -f -O -L https://greenbone.github.io/docs/latest/_static/docker-compose.yml --output-dir "$DOWNLOAD_DIR"% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  6642  100  6642    0     0   3355      0  0:00:01  0:00:01 --:--:--  3354─(blue㉿kali)-[~]
└─$ docker compose -f $DOWNLOAD_DIR/docker-compose.yml pull
[+] Pulling 34/34✔ configure-openvas Skipped - Image is already being pulled by openvas                                                                                                      0.0s ✔ openvasd Skipped - Image is already being pulled by openvas                                                                                                               0.0s ✔ cert-bund-data Pulled                                                                                                                                                    38.7s ✔ ospd-openvas Pulled                                                                                                                                                       4.2s ✔ scap-data Pulled                                                                                                                                                       1631.1s ✔ dfn-cert-data Pulled                                                                                                                                                     20.0s ✔ gvmd Pulled                                                                                                                                                               4.9s ✔ vulnerability-tests Pulled                                                                                                                                              288.0s ✔ gvm-tools Pulled                                                                                                                                                          4.2s ✔ gpg-data Pulled                                                                                                                                                           4.6s ✔ report-formats Pulled                                                                                                                                                    25.4s ✔ data-objects Pulled                                                                                                                                                      13.8s ✔ openvas Pulled                                                                                                                                                            7.3s ✔ pg-gvm Pulled                                                                                                                                                             4.6s ✔ redis-server Pulled                                                                                                                                                       7.2s ✔ gsa Pulled                                                                                                                                                                4.3s ✔ notus-data Pulled                                                                                                                                                         4.4s ┌──(blue㉿kali)-[~]
└─$ docker compose -f $DOWNLOAD_DIR/docker-compose.yml up -d
[+] Running 25/29✔ Network greenbone-community-edition_default                   Created                                                                                                     0.1s ✔ Volume "greenbone-community-edition_gpg_data_vol"             Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_data_objects_vol"         Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_cert_data_vol"            Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_vt_data_vol"              Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_openvas_data_vol"         Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_redis_socket_vol"         Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_openvas_log_data_vol"     Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_scap_data_vol"            Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_ospd_openvas_socket_vol"  Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_gvmd_data_vol"            Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_notus_data_vol"           Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_psql_data_vol"            Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_gvmd_socket_vol"          Created                                                                                                     0.0s ✔ Volume "greenbone-community-edition_psql_socket_vol"          Created                                                                                                     0.0s ✔ Container greenbone-community-edition-redis-server-1          Created                                                                                                     2.5s ✔ Container greenbone-community-edition-cert-bund-data-1        Created                                                                                                     1.9s ✔ Container greenbone-community-edition-scap-data-1             Created                                                                                                     1.6s ✔ Container greenbone-community-edition-notus-data-1            Created                                                                                                     1.9s ✔ Container greenbone-community-edition-vulnerability-tests-1   Created                                                                                                     1.9s ✔ Container greenbone-community-edition-data-objects-1          Created                                                                                                     1.6s ⠦ Container greenbone-community-edition-pg-gvm-1                Creating                                                                                                    4.7s ✔ Container greenbone-community-edition-gpg-data-1              Created                                                                                                     1.9s ✔ Container greenbone-community-edition-configure-openvas-1     Created                                                                                                     2.4s ✔ Container greenbone-community-edition-report-formats-1        Created                                                                                                     2.0s ✔ Container greenbone-community-edition-dfn-cert-data-1         Created                                                                                                     2.2s ⠹ Container greenbone-community-edition-openvasd-1              Creating                                                                                                    2.2s ⠹ Container greenbone-community-edition-openvas-1               Creating                                                                                                    2.2s ⠹ Container greenbone-community-edition-ospd-openvas-1          Creating                                                                                                    2.2s 
Error response from daemon: failed to mkdir /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg: mkdir /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg: file exists
#这里有个报错创建卷的时候已经存在该目录了,这个可能是因为我之前第一次拉起镜像失败的原因就是/var目标不够,所以调整/var卷空间后的残留,删除后重新启动就正常了。┌──(blue㉿kali)-[~]
└─$ sudo ls -ld  /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg
[sudo] password for blue: 
drwx------ 2 root root 4096 Apr 22 21:37 /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg┌──(blue㉿kali)-[~]
└─$ sudo ls -ld /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg                                                                                
drwx------ 2 root root 4096 Apr 22 21:37 /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg┌──(blue㉿kali)-[~]
└─$ sudo rm -rf /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg┌──(blue㉿kali)-[~]
└─$ sudo ls -ld /var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg
ls: cannot access '/var/lib/docker/volumes/greenbone-community-edition_openvas_data_vol/_data/gnupg': No such file or directory┌──(blue㉿kali)-[~]
└─$ docker compose -f $DOWNLOAD_DIR/docker-compose.yml up -d                                    
[+] Running 17/17✔ Container greenbone-community-edition-gvmd-1                 Started                                                                                                     93.7s ✔ Container greenbone-community-edition-openvasd-1             Started                                                                                                     89.2s ✔ Container greenbone-community-edition-gvm-tools-1            Started                                                                                                     94.6s ✔ Container greenbone-community-edition-gsa-1                  Started                                                                                                     94.5s ✔ Container greenbone-community-edition-pg-gvm-1               Started                                                                                                      3.2s ✔ Container greenbone-community-edition-vulnerability-tests-1  Exited                                                                                                      86.2s ✔ Container greenbone-community-edition-gpg-data-1             Exited                                                                                                      39.2s ✔ Container greenbone-community-edition-redis-server-1         Started                                                                                                      2.8s ✔ Container greenbone-community-edition-notus-data-1           Started                                                                                                      3.2s ✔ Container greenbone-community-edition-cert-bund-data-1       Exited                                                                                                      84.9s ✔ Container greenbone-community-edition-scap-data-1            Exited                                                                                                      90.7s ✔ Container greenbone-community-edition-data-objects-1         Exited                                                                                                      85.2s ✔ Container greenbone-community-edition-configure-openvas-1    Exited                                                                                                      85.2s ✔ Container greenbone-community-edition-dfn-cert-data-1        Exited                                                                                                      82.0s ✔ Container greenbone-community-edition-report-formats-1       Exited                                                                                                      81.4s ✔ Container greenbone-community-edition-openvas-1              Started                                                                                                      1.7s ✔ Container greenbone-community-edition-ospd-openvas-1         Started                                          ┌──(blue㉿kali)-[~]
└─$ docker ps                                                                                                          
CONTAINER ID   IMAGE                                                               COMMAND                  CREATED          STATUS          PORTS                    NAMES
4a25339b6ba5   registry.community.greenbone.net/community/gsa:stable               "/usr/local/bin/entr…"   12 minutes ago   Up 11 minutes   127.0.0.1:9392->80/tcp   greenbone-community-edition-gsa-1
78f2c2586e6d   registry.community.greenbone.net/community/gvmd:stable              "/usr/local/bin/entr…"   12 minutes ago   Up 11 minutes                            greenbone-community-edition-gvmd-1
68c61c23d533   registry.community.greenbone.net/community/openvas-scanner:stable   "/bin/sh -c /usr/loc…"   12 minutes ago   Up 11 minutes                            greenbone-community-edition-openvasd-1
58636a638997   registry.community.greenbone.net/community/ospd-openvas:stable      "/usr/bin/tini -- /u…"   15 minutes ago   Up 11 minutes                            greenbone-community-edition-ospd-openvas-1
eb11337bcd72   registry.community.greenbone.net/community/openvas-scanner:stable   "/bin/sh -c 'cat /et…"   15 minutes ago   Up 11 minutes                            greenbone-community-edition-openvas-1
3f1076d2df84   registry.community.greenbone.net/community/redis-server             "/bin/sh -c 'rm -f /…"   15 minutes ago   Up 12 minutes                            greenbone-community-edition-redis-server-1
289ae734b67c   registry.community.greenbone.net/community/pg-gvm:stable            "/usr/local/bin/entr…"   15 minutes ago   Up 12 minutes                            greenbone-community-edition-pg-gvm-1┌──(blue㉿kali)-[~]
└─$ docker compose -f $DOWNLOAD_DIR/docker-compose.yml \
>     exec -u gvmd gvmd gvmd --user=admin --new-password='aslghr634@#7gfhj662'     
md   main:MESSAGE:2025-04-24 07h39.54 utc:52:    Greenbone Vulnerability Manager version 25.2.1 (DB revision 259)
md manage:   INFO:2025-04-24 07h39.54 utc:52:    Modifying user password.
md manage:MESSAGE:2025-04-24 07h39.55 utc:52: No SCAP database found┌──(blue㉿kali)-[~]
└─$ curl http://127.0.0.1:9392 
<!doctype html>
<html lang="en"><head><meta charset="UTF-8" /><link rel="icon" href="/img/favicon.png" type="image/png" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Greenbone Security Assistant</title><script type="text/javascript" src="/config.js"></script><script type="module" crossorigin src="/assets/index-CU-VHQ9A.js"></script><link rel="modulepreload" crossorigin href="/assets/opensight-ui-BibHGzjq.js"><link rel="stylesheet" crossorigin href="/assets/opensight-ui-DDxyL7fw.css"><script type="module">import.meta.url;import("_").catch(()=>1);(async function*(){})().next();if(location.protocol!="file:"){window.__vite_is_modern_browser=true}</script><script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script></head><body><div id="app"></div><div id="portals"></div><script>window.addEventListener('DOMContentLoaded', () => {try {const vendorLabel = config.vendorLabel;const match = vendorLabel.match(/gsm-(\w+)_label\.svg/);if (match) {let labelPart = match[1];if (isNaN(labelPart)) {labelPart = labelPart.toUpperCase();}const pageTitle = `Greenbone - ${labelPart}`;document.title = pageTitle;} else {document.title = 'Greenbone Security Assistant';}} catch (error) {}});</script><script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script nomodule crossorigin id="vite-legacy-polyfill" src="/assets/polyfills-legacy-CkbRX7EO.js"></script><script nomodule crossorigin id="vite-legacy-entry" data-src="/assets/index-legacy-B95omMZq.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script></body>
</html>

相关文章:

Greenbone(绿骨)开源GVM容器docker部署和汉化介绍

文章目录 Greenbone&#xff08;绿骨&#xff09;开源GVM容器docker部署和汉化介绍前言用容器部署GVM第一步&#xff1a;安装依赖项第二步&#xff1a;安装 Docker第三步&#xff1a;使用 docker-compose编排文件&#xff0c;完成GVM服务部署第四步&#xff1a;启动Greenbone社…...

PDF嵌入隐藏的文字

所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源码 /*** PDF工具*/ public class PdfUtils {/*** 在 PD…...

为什么从Word复制到PPT的格式总是乱掉?

从Word复制到PPT的格式总是乱掉&#xff0c;主要有以下原因&#xff1a; 格式兼容性问题 - 软件版本差异&#xff1a;不同版本的Office或WPS软件&#xff0c;对文档格式的支持和处理方式有所不同。如Office 2021中的新功能“动态网格对齐”&#xff0c;在粘贴到Office 2016的…...

五分钟讲清数据需求怎么梳理!

目录 一、为什么要进行数据需求梳理&#xff1f; 1.确保企业收集到真正有价值的数据 2.有助于提高数据分析的效率和质量 3.促进企业内部各部门之间的沟通与协作 二、数据需求怎么梳理&#xff1f; 1. 与业务部门深度沟通 2. 进行业务流程分析 3. 参考行业最佳实践 4. …...

03_多线程任务失败解决方案

文章目录 问题&#xff1a;多线程并发处理时,其中一个任务失败怎么办&#xff1f;1. 异常捕获2. 线程同步3. 资源清理4. 错误恢复5. 通知其他线程6. 使用并发框架 问题&#xff1a;多线程并发处理时,其中一个任务失败怎么办&#xff1f; 这是一个典型的并发编程问题&#xff0…...

MyBatis 类型处理器(TypeHandler)注册与映射机制:JsonListTypeHandler和JsonListTypeHandler注册时机

下面几种机制会让你的 List<String>/Map<String,?> 能正确读写成 JSON 数组&#xff0f;对象文本&#xff1a; MyBatis-Plus 自动注册 最新版本的 MyBatis-Plus starter 会把类路径下所有带 MappedTypes({List.class})、MappedJdbcTypes(JdbcType.VARCHAR) 这类注…...

Spark SQL开发实战:从IDEA环境搭建到UDF/UDAF自定义函数实现

利用IDEA开发Spark-SQL 1、创建子模块Spark-SQL&#xff0c;并添加依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.12</artifactId> <version>3.0.0</version> </dependency> 3…...

神经网络笔记 - 神经网络

一.神经网络基础知识 1.神经网络解决了什么问题 将人类眼中的数据&#xff08;如图像、文本&#xff09;转换成计算机能理解的特征矩阵。适用于分类、回归等多种任务&#xff0c;本质上是进行特征提取与决策映射。 2.神经网络基本结构 输入层&#xff08;Input Layer&#x…...

C20-breakcontinue

一 break break的作用:用于跳出当前的循环 #include <stdio.h> int main() {//变量初始化int TallPeopleNumber;int TallMoney0;int SingelMoney;//循环体for(TallPeopleNumber1;TallPeopleNumber<1000;TallPeopleNumber){printf("请输入单笔捐款金额:\n")…...

关于IDEA的循环依赖问题

bug描述&#xff1a;&#xff08;java: 模块循环不支持注解处理。请确保将循环 [...] 中的所有模块排除在注解处理之外&#xff09; 解决方法&#xff1a;...

uniapp跳转和获取参数方式

1.小程序跳转 1.1 原生组件跳转 <navigator url"/pages/about/about?id10">跳转</navigator> 1.2 方法接口跳转 uni.navigateTo({url:/pages/about/about?id2}) 2.获取参数值 页面获取id值 onLoad(e) {console.log(e.id);}...

BP 算法探秘 :神经网络的幕后引擎

大家好&#xff0c;我是沛哥儿&#xff0c;很高兴又和大家见面了。 在人工智能的世界里&#xff0c;神经网络如同大脑一般神秘又强大&#xff0c;而其中 **BP 算法&#xff08;Backpropagation Algorithm&#xff09;**就是驱动这个 “大脑” 不断学习进化的幕后引擎。 文章目录…...

物联网相关

文章目录 1 MQTT2 MQTT FX3 EMQ X 1 MQTT MQTT是一种基于发布/订阅模式的轻量级物联网消息协议&#xff0c;全称为Message Queuing Telemetry Transport&#xff08;消息队列遥测传输&#xff09;。它具有低功耗、低带宽占用、可靠性高等特点&#xff0c;广泛应用于物联网设备…...

【Axure高保真原型】3级多选下拉列表

今天和大家分享3级多选下拉列表原型模板&#xff0c;这个模版是用中继器制作的&#xff0c;所以使用也很方便&#xff0c;选项的数据在中继器表格里维护即可自动生成交互效果&#xff0c;具体效果可以打开下方原型地址体验或者点击下方视频观看 【原型效果含使用说明】 【Axur…...

光敏材料与智能传感技术的能源系统创新研究

一、光敏储能体系的作用机理与技术创新 1.1 分子光能转换机制 基于分子构型变化的能量存储技术展现出独特优势&#xff0c;其核心机理涉及光敏材料在光照下的可逆分子构型变化。以偶氮苯体系为例&#xff0c;在365nm紫外光激发下&#xff0c;分子发生反式到顺式的异构转变&…...

Docker 安装 kafka (bitnami/kafka:4.0)

1、拉取镜像 docker pull bitnami/kafka:4.02、创建挂载目录 mkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/datamkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/logs3、给挂载目录授权 chmod 777 /user/lzl/tool/docker/ka…...

NameSilo转入转出域名

一、总起 域名转入转出主要沟通方式就是靠注册邮箱收取转移授权码。 因为namesilo的界面一直在慢慢改动&#xff08;很慢很慢&#xff09;&#xff0c;所以本文和网上教程里的截图有所不同&#xff0c;以后本文可能也会与实际界面有所不同。 二、转入域名 1. 在其它域名服务商…...

Python----深度学习(基于DNN的吃鸡预测)

一、目标 如何使用 PyTorch 实现一个简单的深度神经网络&#xff08;DNN&#xff09;模型&#xff0c;并用于回归任务。该模型通过训练数据集来预测玩家在游戏中的最终排名百分比。代码通过读取数据集、数据处理、模型训练和模型评估等步骤。 二、数据集介绍 和平精英&#xf…...

DeepSeek系列(10):与其他AI工具协同

DeepSeek与绘图AI配合使用 在当今多元化的AI生态中,将不同专长的AI工具协同使用,能够实现远超单一工具的综合效果。DeepSeek作为强大的语言模型,与专业绘图AI的配合尤为默契,可以在创意构思与视觉呈现之间建立无缝桥梁。 创意-视觉协作流程 从文本到图像的完整路径 创意…...

Spark-Streaming核心编程:有状态转化操作与DStream输出

在Spark-Streaming的学习旅程中&#xff0c;有状态转化操作和DStream输出是两个关键知识点&#xff0c;今天就来深入聊聊它们。 先说说有状态转化操作&#xff0c;这里面 UpdateStateByKey 和 WindowOperations 很重要。 UpdateStateByKey 主要用于跨批次维护状态&#xff0c;就…...

Ldap高效数据同步- MirrorMode双主复制模式配置详解(上)

#作者&#xff1a;朱雷 文章目录 一、Syncrepl 复制和MirrorMode复制1.1. 什么是复制模式1.2. 什么是 syncrepl同步复制1.3. 什么是 MirrorMode 复制&#xff08;双主模式&#xff09;1.4. 双数据中心配置镜像模式架构 二、Ldap环境部署三、配置Mirror复制类型3.1. 配置节点1配…...

【刷题Day28】Python/JAVA - 02(浅)

Python 什么是 Python 的闭包&#xff1f; 闭包&#xff08;Closure&#xff09;是Python中的一种独特的函数机制。简而言之&#xff0c;闭包是指在一个内部函数中&#xff0c;引用了外部函数的变量&#xff0c;而这个外部函数已经执行完毕并返回了内部函数&#xff0c;然而内…...

纯净IP的优势:稳定性与安全性的结合

在跨境电商、数据采集、社交运营等对网络质量要求高的场景中&#xff0c;选择一个可靠的IP资源&#xff0c;是保护账号安全、提升业务效率的关键。纯净IP凭借其独特的稳定性与安全性&#xff0c;成为越来越多用户的选择。本文将带你深入了解纯净IP的价值&#xff0c;以及如何应…...

探索DeepWiki:GitHub源码阅读的变革性工具

DeepWiki 是什么 DeepWiki 是由 Cognition Labs 精心打造的一款创新工具&#xff0c;堪称 GitHub Repo 源代码的 “智慧解读器”&#xff0c;能将其转化为可对话式文档 &#xff0c;为开发者提供实时交流、即时更新文档的功能。它基于 Devin 技术&#xff0c;为每一个 GitHub …...

基于WebRTC技术,EasyRTC音视频实时通话助力全网会议的智能化转型

一、方案背景 随着数字化转型&#xff0c;企业、教育、政府等对全网会议需求激增。传统视频会议部署复杂、成本高、兼容性差&#xff0c;无法满足远程协作的多样化需求。EasyRTC实时通信功能强大&#xff0c;能为全网会议提供高效、稳定、易用的解决方案&#xff0c;支持多终端…...

设计模式全解析:23种经典设计模式及其应用

创建型模式 1. 单例模式&#xff08;Singleton Pattern&#xff09; 核心思想&#xff1a;确保一个类只有一个实例&#xff0c;并提供一个全局访问点。适用场景&#xff1a;需要共享资源的场景&#xff0c;如配置管理、日志记录等。 public class Singleton {// 静态变量保存…...

Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式

知识点&#xff1a; 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、演示案例-WEB开发-JavaEE-第三方依赖&FastJson&XStream FastJson 一个阿里巴巴开发的J…...

小集合 VS 大集合:MySQL 去重计数性能优化

小集合 VS 大集合&#xff1a;MySQL 去重计数性能优化 前言一、场景与问题 &#x1f50e;二、通俗执行流程对比三、MySQL 执行计划解析 &#x1f4ca;四、性能瓶颈深度剖析 &#x1f50d;五、终极优化方案 &#x1f3c6;六、总结 前言 &#x1f4c8; 测试结果&#xff1a; 在…...

什么是模块化区块链?Polkadot 架构解析

原文&#xff1a;https://polkadot.com/blog/understanding-modular-blockchains/ 作者&#xff1a;Joey Prebys 编译&#xff1a;OneBlock 区块链的构建方式有很多种&#xff0c;而不同的架构选择会直接影响性能、可扩展性和开发者体验。随着行业的发展&#xff0c;单体区块…...

C++翻转数相乘 2024年信息素养大赛复赛 C++小学/初中组 算法创意实践挑战赛 真题详细解析

目录 C++翻转数相乘 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、运行结果 五、考点分析 六、 推荐资料 1、C++资料 2、Scratch资料 3、Python资料 C++翻转数相乘 2024年信息素养大赛 C++复赛真题 一、题目要求 1、编程实现 假设一个…...

Go 语言中的 `select` 语句详解

select 是 Go 语言中处理通道(Channel)操作的一个强大控制结构&#xff0c;它允许 goroutine 同时等待多个通道操作。下面我将全面详细地解释 select 语句的各个方面。 基本语法 select 语句的基本语法如下&#xff1a; select { case <-ch1:// 如果从 ch1 成功接收数据&…...

Nacos简介—4.Nacos架构和原理二

大纲 1.Nacos的定位和优势 2.Nacos的整体架构 3.Nacos的配置模型 4.Nacos内核设计之一致性协议 5.Nacos内核设计之自研Distro协议 6.Nacos内核设计之通信通道 7.Nacos内核设计之寻址机制 8.服务注册发现模块的注册中心的设计原理 9.服务注册发现模块的注册中心的服务数…...

Web服务器技术选型指南:主流方案、核心对比与策略选择

Web服务器技术选型指南&#xff1a;主流方案、核心对比与策略选择 一、主流Web服务器概览 在当今互联网架构中&#xff0c;Web服务器承担着处理HTTP请求、管理资源分配和保障服务稳定性的核心职责。根据应用场景和技术特性的不同&#xff0c;主流的Web服务器可分为以下五类&a…...

Git和Gitlab的部署和操作

一。GIT的基本操作 1.GIT的操作和查看内容 [rootmaster ~]# yum install git -y [rootmaster ~]# git config --list&#xff1a;查看所有配置 2.GIT仓库初始化 [rootmaster ~]# mkdir /gittest&#xff1a;创建目录 [rootmaster ~]# cd /gittest/&#xff1a;进入目录 [rootm…...

【Git】初始Git及入门命令行

目录 为什么学习 Git 这么重要&#xff1f; 1. 安装 Git 2. 配置 Git 3. 创建本地 Git 仓库 1. git初始化远程仓库&#xff1a; git init 2. 就是要新增两个必须要配置的选项&#xff1a; name 和 email 3. 查看当前本地仓库的配置情况&#xff1a; git config -l 4. 删…...

自然语言to SQL的评估

一、怎么进行一个自然语言to SQL评估&#xff1f; 1.DB——准备可用的数据表 2.准备问题集&#xff0c;自然语言|正确的预期SQL 3.大模型执行完成的SQL 4.Table.json——一个存储表格数据或者数据库表结构信息的 JSON 文件。当前是存储的表结构信息的&#xff0c;存储数据库…...

详解React Fiber架构中,reconcile阶段的具体工作流程

在 React Fiber 架构里&#xff0c;协调&#xff08;Reconcile&#xff09;阶段处于虚拟 DOM&#xff08;VDOM&#xff09;与实际 DOM 渲染之间&#xff0c;主要承担着把 VDOM 转化为 Fiber 节点树、开展 Diff 比较并标记节点变化的任务。下面详细阐述协调阶段的具体工作流程&a…...

迅雷精简绿色融合版【高速下载版】12.1.9.2870【11.2.2.1716】【20250426】

迅雷Thunder 11官方版会提示敏感需升级不能使用&#xff0c;本人制作的迅雷 12.1.9.2870【11.2.2.1716】精简绿色融合版是在11.2.2.1716版本的基础上制作的&#xff0c;实际版本号显示为12.1.9.2870&#xff0c;不是真正意义的迅雷12.1.9.2870精简绿色版&#xff0c;本实质上还…...

决策树相关案例

全流程 以下是一个更复杂、全流程的决策树和随机森林示例&#xff0c;不仅包括模型训练和预测&#xff0c;还涵盖了数据预处理、超参数调优以及模型评估的可视化。我们依旧使用鸢尾花数据集&#xff0c;并额外引入 GridSearchCV 进行超参数调优&#xff0c;使用 matplotlib 进…...

AI音频核爆!Kimi开源“六边形战士”Kimi-Audio,ChatGPT语音版?

音频处理领域的天花板被撕开了。 刚刚&#xff0c;kimi 发布全新通用音频基础模型 Kimi-Audio&#xff0c;这款由月之暗面&#xff08;Moonshot AI&#xff09;推出的开源模型&#xff0c;在 24 小时内收获 3.2 万星标&#xff0c;不仅以 1.28% 词错率刷新语音识别纪录&#xf…...

vscode vue 的插件点击组件不能跳转到文件问题解决

ctrl shift p 打开命令行&#xff0c;搜索 更改语言模式 选择第二项 选择 vue 现在可以了...

二叉树的前序、中序和后序遍历:详解与实现

1. 前序遍历&#xff08;Pre-order Traversal&#xff09; 1.1 定义 前序遍历的顺序是&#xff1a;先访问根节点&#xff0c;然后递归地遍历左子树&#xff0c;最后递归地遍历右子树。 1.2 访问顺序 对于任意节点&#xff1a; 访问根节点。 递归遍历左子树。 递归遍历右子…...

5、Rag基础:RAG 专题

RAG 简介 什么是检索增强生成? 检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强…...

FISCO BCOS 智能合约开发详解

一、FISCO BCOS 智能合约开发概览 FISCO BCOS 是一个国产开源联盟链平台&#xff0c;支持两种类型的智能合约&#xff1a;​FISCO BCOS Documentation Solidity 合约&#xff1a;​与以太坊兼容&#xff0c;使用 Solidity 语言编写&#xff0c;适用于灵活的业务逻辑开发。 预…...

Linux操作系统从入门到实战(四)Linux基础指令(下)

Linux操作系统从入门到实战&#xff08;四&#xff09;Linux基础指令&#xff08;下&#xff09; 前言一、date 指令二、cal 指令三、find 指令四、which 指令五、whereis 指令六、alias 指令七、grep 指令八、zip/unzip 指令九、tar 指令&#xff08;重要&#xff09;十、bc 指…...

使用 LLM助手进行 Python 数据可视化

在数据科学中&#xff0c;数据可视化是一项至关重要的任务&#xff0c;旨在揭示数据背后的模式和洞察&#xff0c;并向观众传达这些信息。然而&#xff0c;在编程语言&#xff08;如 Python&#xff09;中创建有洞察力的图表有时可能会耗时且复杂。本文介绍了一种借助 AI 助手&…...

docker安装jenkins自动化测试

#搭建gitlab docker pull gitlab/gitlab-ce docker run -d\--hostname localhost \-p 443:443 -p 80:80 -p 2222:22 \--name gitlab \-v /myproject/gitlab/config:/etc/gitlab \-v /myproject/gitlab/logs:/var/log/gitlab \-v /myproject/gitlab/data:/var/opt/gitlab \gitla…...

Python3:面向对象编程

这里写目录标题 &#x1f9e9; 面向对象编程&#xff1a;让代码化身为积木世界一、核心概念&#xff1a;类与对象二、四大基石&#xff1a;面向对象的核心特性1️⃣ 封装(Encapsulation)&#xff1a;包装复杂性&#xff0c;提供简单接口2️⃣ 继承(Inheritance)&#xff1a;站在…...

数据可视化 —— 饼图

一、饼图的所有常用使用场景 饼图是一种直观展示数据占比关系的图表&#xff0c;适用于以下常见场景&#xff1a; 1. 市场与商业分析 市场份额&#xff1a;展示不同品牌/产品在市场中的占有率。 收入构成&#xff1a;分析公司各业务线或产品的收入占比。 客户分布&#xff1…...

OpenLayers WebGL与3D渲染 (进阶一)

1. WebGL概述 WebGL是一种JavaScript API&#xff0c;它基于OpenGL ES 2.0/3.0标准&#xff0c;允许在不使用插件的情况下在兼容的Web浏览器中呈现高性能的交互式3D和2D图形。在地理信息系统(GIS)领域&#xff0c;WebGL为地图渲染和空间数据可视化提供了强大的性能支持。 1.1…...