差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:openvas [2024/07/19 19:43] – 加上[問題與解法] jonathan | tech:openvas [2025/04/10 15:20] (目前版本) – 4. 當 pg-gvm log 出現 LOG: checkpoints are occurring too frequently jonathan | ||
---|---|---|---|
行 7: | 行 7: | ||
===== 安裝程序 ===== | ===== 安裝程序 ===== | ||
* <cli> | * <cli> | ||
- | curl -f -L https://greenbone.github.io/docs/latest/_static/ | + | curl -f -O -L https://raw.githubusercontent.com/tryweb/docker-compose/refs/ |
+ | curl -f -O -L https:// | ||
</ | </ | ||
+ | * {{repo> | ||
* 修改符合需要設定 | * 修改符合需要設定 | ||
- | - gvmd 設定 SMTP 環境變數 | ||
- gsa 將 Listen IP Port 由 127.0.0.1: | - gsa 將 Listen IP Port 由 127.0.0.1: | ||
- openvasd 開啟 API 服務 Listen IP Port: 0.0.0.0: | - openvasd 開啟 API 服務 Listen IP Port: 0.0.0.0: | ||
- | * docker-compose.yml< | + | * {{repo>https://raw.githubusercontent.com/tryweb/docker-compose/refs/heads/main/ |
- | services: | + | |
- | vulnerability-tests: | + | |
- | image: greenbone/vulnerability-tests | + | |
- | environment: | + | |
- | STORAGE_PATH: | + | |
- | volumes: | + | |
- | - vt_data_vol:/ | + | |
- | + | ||
- | notus-data: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - notus_data_vol:/ | + | |
- | + | ||
- | scap-data: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - scap_data_vol:/ | + | |
- | + | ||
- | cert-bund-data: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - cert_data_vol:/ | + | |
- | + | ||
- | dfn-cert-data: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - cert_data_vol:/ | + | |
- | depends_on: | + | |
- | - cert-bund-data | + | |
- | + | ||
- | data-objects: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - data_objects_vol:/ | + | |
- | + | ||
- | report-formats: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - data_objects_vol:/ | + | |
- | depends_on: | + | |
- | - data-objects | + | |
- | + | ||
- | gpg-data: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - gpg_data_vol:/ | + | |
- | + | ||
- | redis-server: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | volumes: | + | |
- | - redis_socket_vol:/ | + | |
- | + | ||
- | pg-gvm: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | volumes: | + | |
- | - psql_data_vol:/ | + | |
- | - psql_socket_vol:/ | + | |
- | + | ||
- | gvmd: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | environment: | + | |
- | MTA_HOST: "smtp.gmail.com" | + | |
- | MTA_PORT: " | + | |
- | MTA_TLS: " | + | |
- | MTA_STARTTLS: | + | |
- | MTA_AUTH: " | + | |
- | MTA_USER: "< | + | |
- | MTA_FROM: " | + | |
- | MTA_PASSWORD: | + | |
- | volumes: | + | |
- | - gvmd_data_vol: | + | |
- | | + | |
- | - cert_data_vol:/ | + | |
- | - data_objects_vol:/ | + | |
- | - vt_data_vol:/ | + | |
- | - psql_data_vol:/ | + | |
- | - gvmd_socket_vol:/ | + | |
- | - ospd_openvas_socket_vol:/ | + | |
- | - psql_socket_vol:/ | + | |
- | 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 | + | |
- | + | ||
- | gsa: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | ports: | + | |
- | - 0.0.0.0: | + | |
- | volumes: | + | |
- | - gvmd_socket_vol:/ | + | |
- | depends_on: | + | |
- | - gvmd | + | |
- | # Sets log level of openvas to the set LOG_LEVEL within the env | + | |
- | # and changes log output to / | + | |
- | # to reduce likelyhood of unwanted log interferences | + | |
- | configure-openvas: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - openvas_data_vol:/ | + | |
- | - openvas_log_data_vol:/ | + | |
- | command: | + | |
- | - /bin/sh | + | |
- | - -c | + | |
- | - | | + | |
- | printf " | + | |
- | sed " | + | |
- | chmod 644 / | + | |
- | chmod 644 / | + | |
- | touch / | + | |
- | chmod 666 / | + | |
- | + | ||
- | | + | |
- | openvas: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | volumes: | + | |
- | - openvas_data_vol:/ | + | |
- | - openvas_log_data_vol:/ | + | |
- | command: | + | |
- | - /bin/sh | + | |
- | - -c | + | |
- | - | | + | |
- | cat / | + | |
- | tail -f / | + | |
- | depends_on: | + | |
- | configure-openvas: | + | |
- | condition: service_completed_successfully | + | |
- | + | ||
- | openvasd: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | environment: | + | |
- | # `service_notus` is set to disable everything but notus, | + | |
- | # if you want to utilize openvasd directly removed `OPENVASD_MODE` | + | |
- | OPENVASD_MODE: | + | |
- | GNUPGHOME: / | + | |
- | LISTENING: 0.0.0.0: | + | |
- | volumes: | + | |
- | - openvas_data_vol:/ | + | |
- | - openvas_log_data_vol:/ | + | |
- | - gpg_data_vol:/ | + | |
- | - notus_data_vol:/ | + | |
- | # enable port forwarding when you want to use the http api from your host machine | + | |
- | ports: | + | |
- | - 0.0.0.0: | + | |
- | depends_on: | + | |
- | vulnerability-tests: | + | |
- | condition: service_completed_successfully | + | |
- | configure-openvas: | + | |
- | condition: service_completed_successfully | + | |
- | gpg-data: | + | |
- | condition: service_completed_successfully | + | |
- | networks: | + | |
- | default: | + | |
- | aliases: | + | |
- | - openvasd | + | |
- | + | ||
- | ospd-openvas: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | hostname: ospd-openvas.local | + | |
- | cap_add: | + | |
- | - NET_ADMIN # for capturing packages in promiscuous mode | + | |
- | - NET_RAW # for raw sockets e.g. used for the boreas alive detection | + | |
- | security_opt: | + | |
- | - seccomp=unconfined | + | |
- | - apparmor=unconfined | + | |
- | command: | + | |
- | [ | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | "/ | + | |
- | " | + | |
- | "/ | + | |
- | " | + | |
- | " | + | |
- | ] | + | |
- | volumes: | + | |
- | - gpg_data_vol:/ | + | |
- | - vt_data_vol:/ | + | |
- | - notus_data_vol:/ | + | |
- | - ospd_openvas_socket_vol:/ | + | |
- | - redis_socket_vol:/ | + | |
- | - openvas_data_vol:/ | + | |
- | - openvas_log_data_vol:/ | + | |
- | depends_on: | + | |
- | redis-server: | + | |
- | condition: service_started | + | |
- | gpg-data: | + | |
- | condition: service_completed_successfully | + | |
- | vulnerability-tests: | + | |
- | condition: service_completed_successfully | + | |
- | configure-openvas: | + | |
- | condition: service_completed_successfully | + | |
- | + | ||
- | gvm-tools: | + | |
- | image: greenbone/ | + | |
- | volumes: | + | |
- | - gvmd_socket_vol:/ | + | |
- | - ospd_openvas_socket_vol:/ | + | |
- | depends_on: | + | |
- | - gvmd | + | |
- | - ospd-openvas | + | |
- | + | ||
- | volumes: | + | |
- | gpg_data_vol: | + | |
- | scap_data_vol: | + | |
- | cert_data_vol: | + | |
- | data_objects_vol: | + | |
- | gvmd_data_vol: | + | |
- | psql_data_vol: | + | |
- | vt_data_vol: | + | |
- | notus_data_vol: | + | |
- | psql_socket_vol: | + | |
- | gvmd_socket_vol: | + | |
- | ospd_openvas_socket_vol: | + | |
- | redis_socket_vol: | + | |
- | openvas_data_vol: | + | |
- | openvas_log_data_vol: | + | |
- | </ | + | |
* 啟動服務 <cli> | * 啟動服務 <cli> | ||
- | docker compose | + | docker compose up -d |
- | docker compose | + | docker compose logs -f |
</ | </ | ||
* 設定管理者帳號密碼 <cli> | * 設定管理者帳號密碼 <cli> | ||
- | docker compose | + | docker compose exec -u gvmd gvmd gvmd --user=admin --new-password='< |
</ | </ | ||
* 開啟網頁進入管理介面 - http:// | * 開啟網頁進入管理介面 - http:// | ||
* 確認弱點資料庫更新狀況 \\ {{: | * 確認弱點資料庫更新狀況 \\ {{: | ||
+ | * 設定更新 script < | ||
+ | * {{repo> | ||
+ | * 設定可執行權限< | ||
===== 問題與解法 ===== | ===== 問題與解法 ===== | ||
==== 1. 手動更新弱點資料庫 ==== | ==== 1. 手動更新弱點資料庫 ==== | ||
- | * 參考 | + | * 單純更新 notus-data vulnerability-tests scap-data dfn-cert-data cert-bund-data report-formats data-objects 似乎於更新後系統無法正常運作, |
* <cli> | * <cli> | ||
- | docker compose | + | docker compose |
- | docker compose | + | docker compose |
+ | docker compose up -d | ||
</ | </ | ||
* 可以透過 gvmd 查看狀況 <cli> | * 可以透過 gvmd 查看狀況 <cli> | ||
- | docker compose -p greenbone-community-edition logs -f gvmd | + | docker compose |
+ | </ | ||
+ | : | ||
+ | gvmd-1 | md manage: | ||
+ | gvmd-1 | md manage: | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
</ | </ | ||
行 272: | 行 58: | ||
* 參考 - https:// | * 參考 - https:// | ||
* 如果透過 Test Alert 發現異常, | * 如果透過 Test Alert 發現異常, | ||
- | docker exec -it greenbone-community-edition-gvmd-1 bash | + | docker exec -it root-gvmd-1 bash |
</ | </ | ||
- 確認環境變數是否正確 Exp.< | - 確認環境變數是否正確 Exp.< | ||
行 325: | 行 111: | ||
apt install ca-certificates -y | apt install ca-certificates -y | ||
</ | </ | ||
- | docker exec greenbone-community-edition-gvmd-1 apt update | + | docker exec root-gvmd-1 apt update |
- | docker exec greenbone-community-edition-gvmd-1 apt install ca-certificates -y | + | docker exec root-gvmd-1 apt install ca-certificates -y |
</ | </ | ||
+ | ==== 3. 檔案空間被 openvas.log 大量使用議題 ==== | ||
+ | * 主要會將 log 寫入 / | ||
+ | * 這紀錄檔案不特別處理, | ||
+ | * 解決方式: | ||
+ | - 配合定期更新週期一起刪除, | ||
+ | docker compose down | ||
+ | rm / | ||
+ | docker compose pull | ||
+ | docker compose up -d | ||
+ | </ | ||
+ | - 設定環境變數 LOG_LEVEL: 1 (只紀錄 ERROR 與 WARNING)< | ||
+ | vi docker-compose.yml</ | ||
+ | : | ||
+ | # Sets log level of openvas to the set LOG_LEVEL within the env | ||
+ | # and changes log output to / | ||
+ | # to reduce likelyhood of unwanted log interferences | ||
+ | configure-openvas: | ||
+ | image: greenbone/ | ||
+ | environment: | ||
+ | LOG_LEVEL: 1 | ||
+ | volumes: | ||
+ | - openvas_data_vol:/ | ||
+ | - openvas_log_data_vol:/ | ||
+ | command: | ||
+ | - /bin/sh | ||
+ | - -c | ||
+ | - | | ||
+ | : | ||
+ | </ | ||
+ | docker compose down | ||
+ | docker compose up -d | ||
+ | </ | ||
+ | |||
+ | ==== 4. 當 pg-gvm log 出現 LOG: checkpoints are occurring too frequently ==== | ||
+ | * 可能是執行環境的 DiskIO 比較慢出現的訊息, | ||
+ | * Exp. 設定加大為 2GB | ||
+ | - 建立 max_wal.conf< | ||
+ | max_wal_size = 2GB | ||
+ | </ | ||
+ | - 修改 docker-compose.yml < | ||
+ | : | ||
+ | pg-gvm: | ||
+ | image: registry.community.greenbone.net/ | ||
+ | restart: on-failure | ||
+ | volumes: | ||
+ | - psql_data_vol:/ | ||
+ | - psql_socket_vol:/ | ||
+ | - ./ | ||
+ | : | ||
+ | </ | ||
+ | - 重起 docker compose <cli> | ||
+ | docker compose down | ||
+ | docker compose up -d | ||
+ | </ | ||
+ | - 檢視設定是否成功 <cli> | ||
+ | $ docker compose exec pg-gvm psql -U gvmd -c "SHOW max_wal_size;" | ||
+ | | ||
+ | -------------- | ||
+ | 2GB | ||
+ | (1 row) | ||
+ | </ | ||
+ | - 檢視 pg-gvm log 是否不再出現 LOG: checkpoints are occurring too frequently <cli> | ||
+ | docker compose logs -f pg-gvm | ||
+ | </ | ||
===== 參考網址 ===== | ===== 參考網址 ===== | ||
* https:// | * https:// | ||
- | {{tag>draft openvas 主機弱掃}} | + | {{tag> |