File: README.md

package info (click to toggle)
openvas-scanner 23.40.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 22,692 kB
  • sloc: ansic: 41,669; xml: 6,251; pascal: 3,723; yacc: 1,287; sh: 1,101; makefile: 333; sql: 282; javascript: 12
file content (115 lines) | stat: -rw-r--r-- 3,758 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# OpenVASD compose definition

This dir contains the compose definition for:
- docker-compose
- podman-compose

Requirements:
- either podman-compose or docker-compose
- Optional (for tests): openssl, make, curl, jq

It is divided into three definitions:
1. base.yaml - contains the actual definition of the services starts OpenVASD in http mode
2. tls.yaml - overrides the settings within base.yaml to start OpenVASD in TLS mode
3. mtls.yaml - overrides the settings within base.yaml to start OpenVASD in mTLS mode (preferred)

## How to start

### HTTP

To start the scanner compose with http you can use the base.yaml:

```
podman-compose -f base.yaml up
```

### HTTPS

By default the compose definitions (tls.yaml as well as mtls.yaml) use the certificates:
- ./openvasd-server.key
- ./openvasd-server.pem
the directory
- ./client-certs
for the client certificates.

You can either copy your certificates into that location or set the environment variables:
- OPENVASD_SERVER_KEY - the key file of your certificate
- OPENVASD_SERVER_PEM - the pem file of your certificate
- OPENVASD_CLIENT_CERTS - the directory containing public certificates of clients that are allowed to use OpenVASD 

NOTE: if the files specified by OPENVASD_SERVER_KEY, OPENVASD_SERVER_PEM or the
directory OPENVASD_CLIENT_CERTS are not available directories with that path
may be created.

If you don't have certificates you can use the Makefile to create some:

```
make
```

To start scanner compose with TLS but without client-certificates:

```
podman-compose -f base.yaml -f tls.yaml up
```

To start scanner compose with mTLS:

```
podman-compose -f base.yaml -f mtls.yaml up
```

when in mTLS mode you have to provide the client-certificate and the corresponding key when connecting to OpenVASD:

```
curl -vk \
    --key client-keys/client1.key \
    --cert client-certs/client1.pem \
    https://localhost:3000/scans
```

## How to test


Additionally to the OpenVASD compose definition we also provide a possibility to verify the setup.

This is done by adding `tests/victim.yaml` to the compose chain like

```
podman-compose -f base.yaml -f mtls.yaml -f tests/victim.yaml up
```

and then use `make` within the `tests` directory to create and start predefined scans:

```bash
make create-victim-simple-auth-ssh
make start-victim-simple-auth-ssh
make results-victim-simple-auth-ssh
make status-victim-simple-auth-ssh
```

The naming scheme of that Makefile is `command-` and the name of the json
within `tests/scans` without the json suffix.

Depending on your auto-completion behaviour the `create-` should be able to
expand immediately while 
- `start-`, 
- `results-`, 
- `status-`, 
- `stop-` 
- `rm-` 
are only available for scans that have already been created.

## Environment variables

| Variable | Default | Description |
| --- | --- | --- |
| OPENVASD_EXTERNAL_BIND_ADDRESS |127.0.0.1:3000 |The bind address on the host. |
| OPENVAS_LOG_LEVEL | 64 | The numeric log level definition used for openvas. See base.yaml comment on `configure-openvas-log` for more details|
| OPENVAS_REDIS_MEMORY_LIMIT | 0 | Prevents the host to allocate more memory for redis. |
| OPENVAS_REDIS_MEMORY_RESERVATION | 0 | Host hint to have at least that amount of memory available for redis. |
| OPENVAS_REDIS_RESTART_CONDITION | on-failure | Dictates when the container manager should restart the container when it is not running anymore|
| OPENVASD_MEMORY_LIMIT | 0 | Prevents the host to allocate more memory for OpenVASD. |
| OPENVASD_MEMORY_RESERVATION | 0 | Host hint to have at least that amount of memory available for OpenVASD. |
| OPENVASD_RESTART_CONDITION | on-failure | Dictates when the container manager should restart the container when it is not running anymore|