Identificando vulnerabilidades com Greenbone OpenVas




O que é?

Greenbone OpenVas é o provedor de gerenciamento de vulnerabilidades de código aberto mais utilizado no mundo. Nossa missão é ajudá-lo a descobrir falhas e vulnerabilidades de segurança antes que possam ser exploradas – reduzindo o risco e o impacto de ataques cibernéticos.

Todo ataque precisa de uma vulnerabilidade adequada para ter sucesso. Nosso feed usado por nossas soluções inclui mais de 150.000 testes de vulnerabilidade. E o escopo está crescendo constantemente porque trabalhamos constantemente para adicionar mais testes que detectem vulnerabilidades recém-descobertas.

Vamos para a instalação e deixar seu ambiente com mais segurança?

Instalação:

Neste documento você vai instalar a versão community em container. Porém, é possivel instalar via repositório, basta clicar aqui!

Requisitos de hardware:


Mínimo:

CPU Cores: 2

Random-Access Memory: 4GB

Hard Disk: 20GB free


Recomendado:

CPU Cores: 4

Random-Access Memory: 8GB

Hard Disk: 60GB free


Primeiramente instale o docker:

curl -fsSL https://get.docker.com -o get-docker.sh

sudo sh ./get-docker.sh

sudo usermod -aG docker $USER && su $USER


Instale as dependencias abaixo:

sudo apt install ca-certificates curl gnupg


Criando o diretório e efetuando o download do compose do Greenbone:

mkdir -p /data/greenbone && cd /data/greenbone && curl -f -L https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -o docker-compose.yml


Caso queira copiar e colar o compose:

services:

  vulnerability-tests:

    image: greenbone/vulnerability-tests

    environment:

      STORAGE_PATH: /var/lib/openvas/22.04/vt-data/nasl

    volumes:

      - vt_data_vol:/mnt


  notus-data:

    image: greenbone/notus-data

    volumes:

      - notus_data_vol:/mnt


  scap-data:

    image: greenbone/scap-data

    volumes:

      - scap_data_vol:/mnt


  cert-bund-data:

    image: greenbone/cert-bund-data

    volumes:

      - cert_data_vol:/mnt


  dfn-cert-data:

    image: greenbone/dfn-cert-data

    volumes:

      - cert_data_vol:/mnt

    depends_on:

      - cert-bund-data


  data-objects:

    image: greenbone/data-objects

    volumes:

      - data_objects_vol:/mnt


  report-formats:

    image: greenbone/report-formats

    volumes:

      - data_objects_vol:/mnt

    depends_on:

      - data-objects


  gpg-data:

    image: greenbone/gpg-data

    volumes:

      - gpg_data_vol:/mnt


  redis-server:

    image: greenbone/redis-server

    restart: on-failure

    volumes:

      - redis_socket_vol:/run/redis/


  pg-gvm:

    image: greenbone/pg-gvm:stable

    restart: on-failure

    volumes:

      - psql_data_vol:/var/lib/postgresql

      - psql_socket_vol:/var/run/postgresql


  gvmd:

    image: greenbone/gvmd:stable

    restart: on-failure

    volumes:

      - gvmd_data_vol:/var/lib/gvm

      - scap_data_vol:/var/lib/gvm/scap-data/

      - cert_data_vol:/var/lib/gvm/cert-data

      - data_objects_vol:/var/lib/gvm/data-objects/gvmd

      - vt_data_vol:/var/lib/openvas/plugins

      - psql_data_vol:/var/lib/postgresql

      - gvmd_socket_vol:/run/gvmd

      - ospd_openvas_socket_vol:/run/ospd

      - psql_socket_vol:/var/run/postgresql

    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/gsa:stable

    restart: on-failure

    ports:

      - 127.0.0.1:9392:80

    volumes:

      - gvmd_socket_vol:/run/gvmd

    depends_on:

      - gvmd


  ospd-openvas:

    image: greenbone/ospd-openvas:stable

    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:

      [

        "ospd-openvas",

        "-f",

        "--config",

        "/etc/gvm/ospd-openvas.conf",

        "--mqtt-broker-address",

        "mqtt-broker",

        "--notus-feed-dir",

        "/var/lib/notus/advisories",

        "-m",

        "666"

      ]

    volumes:

      - gpg_data_vol:/etc/openvas/gnupg

      - vt_data_vol:/var/lib/openvas/plugins

      - notus_data_vol:/var/lib/notus

      - ospd_openvas_socket_vol:/run/ospd

      - redis_socket_vol:/run/redis/

    depends_on:

      redis-server:

        condition: service_started

      gpg-data:

        condition: service_completed_successfully

      vulnerability-tests:

        condition: service_completed_successfully


  mqtt-broker:

    restart: on-failure

    image: greenbone/mqtt-broker

    networks:

      default:

        aliases:

          - mqtt-broker

          - broker


  notus-scanner:

    restart: on-failure

    image: greenbone/notus-scanner:stable

    volumes:

      - notus_data_vol:/var/lib/notus

      - gpg_data_vol:/etc/openvas/gnupg

    environment:

      NOTUS_SCANNER_MQTT_BROKER_ADDRESS: mqtt-broker

      NOTUS_SCANNER_PRODUCTS_DIRECTORY: /var/lib/notus/products

    depends_on:

      - mqtt-broker

      - gpg-data

      - vulnerability-tests


  gvm-tools:

    image: greenbone/gvm-tools

    volumes:

      - gvmd_socket_vol:/run/gvmd

      - ospd_openvas_socket_vol:/run/ospd

    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:


Iniciando o container:

docker compose -f /data/greenbone/docker-compose.yml -p greenbone-community-edition up -d


Cadastrando o login com usuário administrador:

docker compose -f /data/greenbone/docker-compose.yml -p greenbone-community-edition \

    exec -u gvmd gvmd gvmd --user=admin --new-password='SUA-SENHA-AQUI'


Iniciando a interface gráfica:

xdg-open "http://127.0.0.1:9392" 2>/dev/null >/dev/null &

ou

http://127.0.0.1:9392/

Instalação rápida(caso não foi realizado os passos acima):

curl -f -O https://greenbone.github.io/docs/latest/_static/setup-and-start-greenbone-community-edition.sh && chmod u+x setup-and-start-greenbone-community-edition.sh

./setup-and-start-greenbone-community-edition.sh