Webux Lab

Par Studio Webux

OpenVAS avec Docker

TG
Tommy Gingras Studio Webux S.E.N.C 2021-05-05

Installer OpenVAS avec docker

Introduction

Installer et configurer OpenVAS n’est pas toujours facile, maintenant nous avons la chance de pouvoir déployer le tout facilement en utilisant Docker !

Étapes

La configuration suivante n’utilise pas le SSH (nécessaire seulement pour le remote agent).

mkdir -p /srv/DOCKER/volumes/openvas/data/

docker run \
--detach \
  --publish 9392:9392 \
  --publish 5432:5432 \
  --env DB_PASSWORD="postgres DB password" \
  --env PASSWORD="webUI password" \
  --env TZ="America/Toronto" \
  --env SSH="false" \
  --env HTTPS="true" \
  --volume /srv/data/openvas/data:/data \
  --name gvm \
  securecompliance/gvm

firewall-cmd --permanent --add-port=9392/tcp
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --reload 

Ça prend beaucoup de temps voir 1-2 heures avant que le UI soit disponible. la raison est que toutes les définitions doivent être mise à jour.

Pour accéder au UI, https://<ip-de-la-machine>:9392

Script Ansible

- name: Deploy OpenVAS with Docker
  hosts: physical
  gather_facts: no

  vars_prompt:
    - name: "db_password"
      prompt: "Database password"
      private: yes
    - name: "webui_password"
      prompt: "WebUI password"
      private: yes

  tasks:
    - name: Install dependencies
      package:
        name:
          - python-pip
        state: present

    - name: Install Python Docker
      shell: "pip install docker"

    - name: Create `{{ srv_DOCKER }}/volumes/openvas/data` Directory
      file:
        path: "{{ srv_DOCKER }}/volumes/openvas/data"
        state: directory

    - name: Deploy OpenVAS with Docker
      docker_container:
        name: openvas
        image: securecompliance/gvm
        state: started
        recreate: true
        restart_policy: always
        volumes:
          - "{{ srv_DOCKER }}/volumes/openvas/data:/data"
        ports:
          - "5432:5432"
          - "9392:9392"
        env:
          DB_PASSWORD: "{{ db_password }}"
          PASSWORD: "{{ webui_password }}"
          TZ: "America/Toronto"
          SSH: "false"
          HTTPS: "true"

    - firewalld:
        zone: public
        port: 5432/tcp
        permanent: yes
        immediate: yes
        state: enabled

    - firewalld:
        zone: public
        port: 9392/tcp
        permanent: yes
        immediate: yes
        state: enabled

Source


Recherche