Sitemap

OpenVAS 2024: How to deploy Greenbone Community Containers on server (no 9392 port)?

2 min readMar 21, 2024

--

Press enter or click to view image in full size
Photo by Fernando Maté on Unsplash

OpenVAS is a quite popular open source tool for Vulnerability Management like Qualys or Nessus. A lot of companies construct their architecture of vulnerability scanning based on this service.

So, how to deploy OpenVAS?

Greenbone Community provides two options of deployment:

  • Greenbone Community Containers;
  • Building from the source.

Here we will speak only about the first option — Greenbone Community Containers.

For example, you have the server with external IP address and you want to deploy OpenVAS on it.

How to deploy Greenbone Community Containers?

In this article we discuss a specific way of deployment, but you always can refer to official documentation.

If you have already installed Docker and all dependencies on server, you can now download the docker-compose file:

curl -f -L https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -o docker-compose.yml

If you already tried to deploy OpenVAS within Greenbone Community Containers on your local machine, you could notice that web service is accessible with following address http://127.0.0.1:9393, whereas you want to have it on server on this path http://<external ip>.

However, in that case when you try to deploy OpenVAS on server and reach the web service with external IP, you have to modify deployment configuration of web service part in docker-compose.yml .

Get janloo-security’s stories in your inbox

Join Medium for free to get updates from this writer.

Open docker-compose.yml and find gsa configuration. You have to modify gsa configuration as following:

  gsa:
image: greenbone/gsa:stable
restart: on-failure
ports:
- 80:80
volumes:
- gvmd_socket_vol:/run/gvmd
depends_on:
- gvmd

Then save docker-compose.yml file, download images:

docker compose -f docker-compose.yml -p greenbone-community-edition pull

And run the service:

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

Then go to http://<external ip> address and if everything works well, you will see this page:

Press enter or click to view image in full size

Default credentials: login = admin, password = admin.

Explanation:

When the service is deployed on machine on 127.0.0.1 address — it can’t be accessible through the external IP address, so you have to create forwarding rule with iptables or deploy web service on 0.0.0.0 address.

In our case we don’t specify IP address for deployment, so it’s automatically deployed on 0.0.0.0 .

When we specify ports 80:80 where we make web service listen to 80 port on localhost and publish it for external traffic on 80 port too.

Summary

The information, I’ve gathered in this article was really useful for me. I hope, it will be useful for someone else. If you have any recommendations, remarks or thoughts regarding the theme, do not hesitate to leave a comment.

--

--