diff --git a/.env.example b/.env.example index 5777066..70ea924 100644 --- a/.env.example +++ b/.env.example @@ -29,3 +29,9 @@ EMBEDDING_BASE_URL= EMBEDDING_API_KEY= SEARXNG_URL=http://oasm-searxng:8080 SEARXNG_SECRET=change_me + +#NESSUS CONFIGURATION +NESSUS_USERNAME=change_me +NESSUS_PASSWORD=change_me +NESSUS_ACTIVATION_CODE=change_me + diff --git a/Makefile b/Makefile index ba9df21..aa79e5b 100644 --- a/Makefile +++ b/Makefile @@ -36,4 +36,24 @@ down: # Clean up everything (stop services and remove volumes) clean: down docker compose down -v --remove-orphans - docker compose -f docker-compose-assistant.yml down -v --remove-orphans \ No newline at end of file + docker compose -f docker-compose-assistant.yml down -v --remove-orphans + +# Nessus tool targets +NESSUS_COMPOSE := docker compose -f tools/nessus/compose.yml + +nessus-pull: + $(NESSUS_COMPOSE) pull + +nessus-run: + $(NESSUS_COMPOSE) up -d --force-recreate --remove-orphans + +nessus-update: + $(NESSUS_COMPOSE) pull + $(NESSUS_COMPOSE) down --remove-orphans + $(NESSUS_COMPOSE) up -d --force-recreate --remove-orphans + +nessus-down: + $(NESSUS_COMPOSE) down --remove-orphans + +nessus-clean: + $(NESSUS_COMPOSE) down -v --remove-orphans diff --git a/tools/nessus/compose.yml b/tools/nessus/compose.yml new file mode 100644 index 0000000..1efeedc --- /dev/null +++ b/tools/nessus/compose.yml @@ -0,0 +1,34 @@ +services: + oasm-nessus: + container_name: oasm-worker-nessus + image: oasm/oasm-nessus:latest + platform: linux/amd64 + networks: + - oasm + restart: no + volumes: + - ./config.yml:/root/configs/config.yml + + docker-nessus: + container_name: docker-nessus + image: tenable/nessus:latest-ubuntu + restart: no + env_file: ../../.env + ports: + - "8834:8834" + environment: + - USERNAME=${NESSUS_USERNAME:-admin} + - PASSWORD=${NESSUS_PASSWORD:-admin} + - ACTIVATION_CODE=${NESSUS_ACTIVATION_CODE} + networks: + - oasm + volumes: + - nessus-data:/opt/nessus/var/nessus + +volumes: + nessus-data: + +networks: + oasm: + external: true + name: oasm_net diff --git a/tools/nessus/config.yml b/tools/nessus/config.yml new file mode 100644 index 0000000..8eb32b6 --- /dev/null +++ b/tools/nessus/config.yml @@ -0,0 +1,29 @@ +log: + format: text + level: info + +server: + pprof: + enable: true + port: 6060 + +schedule: + clean_session_scan: "*/15 * * * *" # every 15 minutes + create_session_scan: "*/5 * * * *" # every 5 minutes + store_session_scan: "*/5 * * * *" # every 5 minutes + keep_worker_alive: "*/30 * * * * *" # every 30 seconds + +nessus: + - url: https://docker-nessus:8834 + username: admin + password: admin + access_key: 91ba4cf0a754e3a31e212304a6c375ff2371a8b353a4b64cb71d66e4e38d16e4 + secret_key: 398a4eb759264eda4f3950958249c58a603cbb010880dd2e2ff0d77a288a964d + create_session: true + store_session: true + clean_session: true + max_scan: 5 + +oasm: + url: http://console:6276 + api_key: x8DHGDVKXRnXF3WrN5Ae6OWqpSQdMf8C1hPD