差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:openvas [2024/07/16 15:38] – [安裝程序] jonathan | tech:openvas [2025/04/10 15:20] (目前版本) – 4. 當 pg-gvm log 出現 LOG: checkpoints are occurring too frequently jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== 安裝 OpenVAS | + | ====== 安裝 OpenVAS |
* Alpine 3.19 + Docker Compose | * Alpine 3.19 + Docker Compose | ||
* vCPU : 4 | * vCPU : 4 | ||
行 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:// |
- | services: | + | </ |
- | | + | * {{repo> |
- | | + | |
- | | + | - gsa 將 Listen IP Port 由 127.0.0.1: |
- | | + | |
- | | + | * {{repo> |
- | - vt_data_vol:/mnt | + | * 修改 .env 內的 SMTP 設定 |
+ | * 啟動服務 < | ||
+ | docker compose up -d | ||
+ | docker compose logs -f | ||
+ | </cli> | ||
+ | * 設定管理者帳號密碼 < | ||
+ | docker compose exec -u gvmd gvmd gvmd --user=admin --new-password='< | ||
+ | </cli> | ||
+ | * 開啟網頁進入管理介面 - http:// | ||
+ | * 確認弱點資料庫更新狀況 \\ {{: | ||
+ | * 設定更新 script < | ||
+ | * {{repo> | ||
+ | * 設定可執行權限< | ||
- | | + | ===== 問題與解法 ===== |
- | image: greenbone/ | + | ==== 1. 手動更新弱點資料庫 ==== |
- | | + | * 單純更新 |
- | - notus_data_vol:/mnt | + | * < |
+ | docker compose stop | ||
+ | docker compose pull | ||
+ | docker compose up -d | ||
+ | </ | ||
+ | * 可以透過 gvmd 查看狀況 < | ||
+ | docker compose logs -f gvmd | ||
+ | </ | ||
+ | : | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | md manage: INFO: | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | gvmd-1 | ||
+ | </cli> | ||
- | scap-data: | + | ==== 2. 寄信 SMTP 設定與除錯 ==== |
- | image: greenbone/scap-data | + | * 參考 |
- | | + | * 如果透過 Test Alert 發現異常, |
- | - scap_data_vol:/mnt | + | docker exec -it root-gvmd-1 bash |
+ | </ | ||
+ | | ||
+ | root@1b2fce44fcf3:/# env | ||
+ | MTA_PORT=587 | ||
+ | HOSTNAME=1b2fce44fcf3 | ||
+ | MTA_STARTTLS=on | ||
+ | MTA_PASSWORD=xxxPasswordxxx | ||
+ | MTA_TLS=on | ||
+ | PWD=/ | ||
+ | MTA_USER=jonathan | ||
+ | HOME=/ | ||
+ | MTA_AUTH=on | ||
+ | MTA_HOST=smtp.gmail.com | ||
+ | TERM=xterm | ||
+ | [email protected] | ||
+ | SHLVL=1 | ||
+ | PATH=/ | ||
+ | _=/ | ||
+ | </ | ||
+ | | ||
+ | root@1b2fce44fcf3:/# msmtp -d -f [email protected] [email protected] | ||
+ | aaa | ||
+ | bbb | ||
+ | ccc | ||
+ | . | ||
- | cert-bund-data: | + | loaded system configuration file / |
- | image: greenbone/cert-bund-data | + | ignoring user configuration file / |
- | | + | falling back to default account |
- | - cert_data_vol: | + | : |
+ | : | ||
+ | aliases = (not set) | ||
+ | reading recipients from the command line | ||
+ | <-- 220 smtp.gmail.com ESMTP ready | ||
+ | --> EHLO localhost | ||
+ | <-- 250-smtp.gmail.com | ||
+ | <-- 250-PIPELINING | ||
+ | <-- 250-SIZE 50000000 | ||
+ | <-- 250-ETRN | ||
+ | <-- 250-ENHANCEDSTATUSCODES | ||
+ | <-- 250-8BITMIME | ||
+ | <-- 250-DSN | ||
+ | <-- 250 STARTTLS | ||
+ | --> STARTTLS | ||
+ | <-- 220 2.0.0 Start TLS | ||
+ | msmtp: TLS certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. | ||
+ | msmtp: could not send mail (account default from /etc/ | ||
+ | </ | ||
+ | | ||
+ | apt update | ||
+ | apt install ca-certificates | ||
+ | </ | ||
+ | docker exec root-gvmd-1 apt update | ||
+ | docker exec root-gvmd-1 apt install ca-certificates -y | ||
+ | </cli> | ||
- | dfn-cert-data: | + | ==== 3. 檔案空間被 openvas.log 大量使用議題 ==== |
- | | + | * 主要會將 log 寫入 |
- | volumes: | + | |
- | - cert_data_vol: | + | |
- | depends_on: | + | - 配合定期更新週期一起刪除, |
- | - cert-bund-data | + | docker compose down |
- | + | rm /var/lib/docker/volumes/root_openvas_log_data_vol/_data/openvas.log | |
- | data-objects: | + | docker compose pull |
- | image: greenbone/data-objects | + | docker compose up -d |
- | volumes: | + | </cli> |
- | - data_objects_vol: | + | - 設定環境變數 LOG_LEVEL: 1 (只紀錄 ERROR 與 WARNING)< |
- | + | vi docker-compose.yml</cli>< | |
- | report-formats: | + | : |
- | image: greenbone/ | + | |
- | | + | |
- | - data_objects_vol: | + | |
- | depends_on: | + | |
- | - data-objects | + | |
- | + | ||
- | gpg-data: | + | |
- | image: greenbone/gpg-data | + | |
- | volumes: | + | |
- | - gpg_data_vol: | + | |
- | + | ||
- | | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | volumes: | + | |
- | - redis_socket_vol:/ | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | - psql_data_vol: | + | |
- | - psql_socket_vol: | + | |
- | + | ||
- | gvmd: | + | |
- | image: greenbone/ | + | |
- | restart: on-failure | + | |
- | | + | |
- | - gvmd_data_vol: | + | |
- | - scap_data_vol:/ | + | |
- | - cert_data_vol:/ | + | |
- | - data_objects_vol:/ | + | |
- | - vt_data_vol:/ | + | |
- | - psql_data_vol:/ | + | |
- | - gvmd_socket_vol:/ | + | |
- | - ospd_openvas_socket_vol: | + | |
- | - psql_socket_vol:/ | + | |
- | | + | |
- | pg-gvm: | + | |
- | | + | |
- | 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: | + | |
- | | + | |
- | - gvmd | + | |
# Sets log level of openvas to the set LOG_LEVEL within the env | # Sets log level of openvas to the set LOG_LEVEL within the env | ||
# and changes log output to / | # and changes log output to / | ||
行 110: | 行 133: | ||
configure-openvas: | configure-openvas: | ||
image: greenbone/ | image: greenbone/ | ||
+ | environment: | ||
+ | LOG_LEVEL: 1 | ||
volumes: | volumes: | ||
- openvas_data_vol:/ | - openvas_data_vol:/ | ||
行 117: | 行 142: | ||
- -c | - -c | ||
- | | - | | ||
- | printf " | + | : |
- | sed "s/127/ | + | </file> |
- | chmod 644 / | + | docker compose down |
- | chmod 644 / | + | docker compose up -d |
- | | + | </cli> |
- | chmod 666 / | + | |
- | # shows logs of openvas | + | ==== 4. 當 pg-gvm log 出現 LOG: checkpoints are occurring too frequently ==== |
- | | + | |
- | image: greenbone/openvas-scanner:stable | + | * Exp. 設定加大為 2GB |
+ | - 建立 max_wal.conf< | ||
+ | max_wal_size = 2GB | ||
+ | </ | ||
+ | - 修改 docker-compose.yml < | ||
+ | : | ||
+ | pg-gvm: | ||
+ | image: | ||
restart: on-failure | restart: on-failure | ||
volumes: | volumes: | ||
- | - openvas_data_vol:/etc/openvas | + | - psql_data_vol:/var/lib/ |
- | - openvas_log_data_vol:/var/log/openvas | + | - psql_socket_vol:/var/run/postgresql |
- | command: | + | - ./max_wal.conf:/etc/postgresql/13/main/conf.d/max_wal.conf |
- | - /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: /etc/openvas/gnupg | + | |
- | 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/ospd-openvas: | + | |
- | 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: | + | |
- | | + | |
</ | </ | ||
- | * 啟動服務 | + | - 重起 docker compose |
- | docker compose | + | docker compose |
- | docker compose -p greenbone-community-edition logs -f | + | docker compose |
</ | </ | ||
- | * 設定管理者帳號密碼 | + | - 檢視設定是否成功 |
- | docker compose -p greenbone-community-edition exec -u gvmd gvmd gvmd --user=admin | + | $ docker compose |
+ | | ||
+ | -------------- | ||
+ | 2GB | ||
+ | (1 row) | ||
</ | </ | ||
- | * 開啟網頁進入管理介面 | + | |
- | * 確認弱點資料庫更新狀況 \\ {{: | + | docker compose logs -f pg-gvm |
+ | </ | ||
===== 參考網址 ===== | ===== 參考網址 ===== | ||
* https:// | * https:// | ||
- | {{tag>draft openvas 主機弱掃}} | + | {{tag> |