如題 目前
電腦中安裝了虛擬機 虛擬機的Openvas是使用官網提供的docker compose,
官網網址
這部分也能順利進入web介面,也可以正常掃描。
那目前主要需求是可以使用python串接 也找到有python-gvm這一個套件,後續才知道API是在9390port,那目前直接使用瀏覽器連入9390沒有任何訊息,python套件也連不上
我也調整docker-compose.yml當中的gvmd的內容但還是無法。
gvmd:
image: registry.community.greenbone.net/community/gvmd:stable
restart: on-failure
ports:
- 0.0.0.0:9390:9390
volumes:
- gvmd_data_vol:/var/lib/gvm
- scap_data_vol:/var/lib/gvm/scap-data/
- cert_data_vol:/var/lib/gvm/cert-data
- data_objects_vol:/var/lib/gvm/data-objects/gvmd
- vt_data_vol:/var/lib/openvas/plugins
- psql_data_vol:/var/lib/postgresql
- gvmd_socket_vol:/run/gvmd
- ospd_openvas_socket_vol:/run/ospd
- psql_socket_vol:/var/run/postgresql
- $HOME/.ssl/serverkey.pem:/var/lib/gvm/private/CA/serverkey.pem
- $HOME/.ssl/servercert.pem:/var/lib/gvm/CA/servercert.pem
depends_on:
pg-gvm:
condition: service_started
scap-data:
condition: service_completed_successfully
cert-bund-data:
condition: service_completed_successfully
dfn-cert-data:
condition: service_completed_successfully
data-objects:
condition: service_completed_successfully
report-formats:
condition: service_completed_successfully
試著用ChatGPT來協助回答,如果使用的是官網提供的指令來啟動 Greenbone,並且使用了 Docker Compose,回答仍然可以串接 API,只是可能會有一些額外的配置步驟來確保 API 可以正確啟用和運作。
docker-compose
啟動 Greenbone首先,使用以下命令啟動 Greenbone 容器:
docker compose -f $DOWNLOAD_DIR/docker-compose.yml up -d
這個指令會根據 $DOWNLOAD_DIR
中的 docker-compose.yml
配置檔來啟動 GVM 的服務。此配置檔通常會啟動必要的容器(如 gvmd
、openvas
、gsad
等),並配置相關的環境變數。
一旦啟動,您可以使用以下命令來檢查容器的狀態:
docker compose ps
此命令會列出所有正在運行的容器,您應該能看到名為 gvm
或類似名稱的容器在運行。
在 Docker Compose 配置中,Greenbone 的 API 應該已經包含在內,尤其是 gsad
(Greenbone Security Assistant Daemon)和 gvmd
(Greenbone Vulnerability Manager Daemon)應該會提供 API 訪問。
gsad
通常會提供 Web 介面(通常是 9392 端口)和 API 訪問(通常是 9390 端口)。gvmd
提供漏洞管理功能,並且會與 gsad
和 openvas
互動來執行漏洞掃描。您可以進一步檢查 Docker Compose 配置檔,確認 API 訪問是否已經啟用。配置檔中應該有一些環境變數或配置參數,您可以檢查是否設置了 API 相關的設定,像是:
通常,您應該能在配置檔中看到一些與 gvmd
和 gsad
相關的環境變數設置,例如:
services:
gvm:
image: greenbone/gvm
ports:
- "9390:9390" # API 端口
- "9392:9392" # Web 端口
environment:
- GVM_PASSWORD=yourpassword # 設置密碼
當 GVM 容器啟動並確保 API 正常運行後,您就可以開始透過 API 進行交互。確保您知道 API 端口(默認為 9390
),並且擁有正確的認證(帳號/密碼或 API token)。
例如,使用 curl
或其他 HTTP 客戶端來進行 API 請求:
curl -X GET -H "Authorization: Bearer YOUR_API_TOKEN" http://localhost:9390/greenbone/vulnerabilities
API 密碼或認證:如果您沒有在 Docker Compose 配置中指定 API 密碼或認證,您可能需要先設定一個帳號和密碼來授權 API 訪問。
您可以進入容器來創建帳號,並配置 API 密碼:
docker exec -it gvm-container-name bash
gvmd --create-user=admin --password=adminpassword
確認容器端口映射:請確保 docker-compose.yml
中的端口映射是正確的,API 端口(9390)需要映射到主機的端口。
Docker Compose 配置文件:某些配置可能會因不同版本的 Greenbone 映像或 Docker Compose 配置而有所不同,您可以根據需要進行調整。
總結來說,使用 Docker Compose 啟動 Greenbone 後,您依然可以串接其 API,只要確保配置正確並且 API 服務正常啟動即可。如果配置正確,您可以透過相應的 API 請求來進行漏洞掃描或其他操作。
另外附上,瑪斯克號稱地表最強AI的回答
https://grok.com/share/bGVnYWN5_577b7898-8404-405d-bddb-910e812ce7ec
這兩個基本上都是差不多的方式,您可以試試看