Giter Club home page Giter Club logo

openvas-docker's Introduction

OpenVAS image for Docker

Travis CI Docker Pulls Docker Stars Docker Build

A Docker container for OpenVAS on Debian.

Openvas Version Tag Web UI Port
9 latest 443

Usage

Simply run:

# latest
docker run -d -p 443:443 --name openvas ctdc/openvas

This will grab the container from the docker registry and start it up.
Openvas startup can take some time (4-5 minutes while NVT's are scanned and databases rebuilt), so be patient.
Once you see a It seems like your OpenVAS-9 installation is OK. process in the logs, the web ui is good to go. Goto https://<machinename>

Username: admin
Password: admin

To check the status of the process, run:

docker top openvas

In the output, look for the process scanning cert data. It contains a percentage.

To run bash inside the container run:

docker exec -it openvas bash

OpenVAS Manager

To use OpenVAS Manager, add port 9390 to you docker run command:

docker run -d -p 443:443 -p 9390:9390 --name openvas ctdc/openvas

Volume Support

We now support volumes. Simply mount your data directory to /var/lib/openvas/mgr/:

mkdir data
docker run -d -p 443:443 -v $(pwd)/data:/var/lib/openvas/mgr/ --name openvas ctdc/openvas

Note, your local directory must exist prior to running.

Set Admin Password

The admin password can be changed by specifying a password at runtime using the env variable OV_PASSWORD:

docker run -d -p 443:443 -e OV_PASSWORD=securepassword41 --name openvas ctdc/openvas

Update NVTs

Occasionally you'll need to update NVTs. We update the container about once a week but you can update your container by execing into the container and running a few commands:

## inside container
/usr/local/bin/greenbone-sync.sh

Docker compose (experimental)

For simplicity a docker-compose.yml file is provided, as well as configuration for Nginx as a reverse proxy, with the following features:

  • Nginx as a reverse proxy
  • Redirect from port 80 (http) to port 433 (https)
  • Automatic SSL certificates from Let's Encrypt
  • A cron that updates daily the NVTs

To run:

LDAP Support (experimental)

Openvas do not support full ldap integration but only per-user authentication. A workaround is in place here by syncing ldap admin user(defined by LDAP_ADMIN_FILTER ) with openvas admin users everytime the app start up. To use this, just need to specify the required ldap env variables:

docker run -d -p 80:80 -p 9390:9390 --name openvas -e LDAP_HOST=your.ldap.host -e LDAP_BIND_DN=uid=binduid,dc=company,dc=com -e LDAP_BASE_DN=cn=accounts,dc=company,dc=com -e LDAP_AUTH_DN=uid=%s,cn=users,cn=accounts,dc=company,dc=com -e LDAP_ADMIN_FILTER=memberOf=cn=admins,cn=groups,cn=accounts,dc=company,dc=com -e LDAP_PASSWORD=password -e OV_PASSWORD=admin ctdc/openvas 

Email Support

To configure the postfix server, provide the following env variables at runtime: OV_SMTP_HOSTNAME, OV_SMTP_PORT, OV_SMTP_USERNAME, OV_SMTP_KEY

docker run -d -p 80:80 -e OV_SMTP_HOSTNAME=smtp.example.com -e OV_SMTP_PORT=587 -e [email protected] -e OV_SMTP_KEY=g0bBl3de3Go0k --name openvas ctdc/openvas

Contributing

I'm always happy to accept pull requests or issues.

Thanks

Thanks to mikesplain from where we forked the openvas-docker : https://github.com/mikesplain/openvas-docker/ Thanks to Darshana for the great tutorial: https://www.fosslinux.com/7320/how-to-install-and-configure-openvas-9-on-ubuntu.htm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.