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