Verdict-as-a-Service
On-Premises Configuration
Specific customization for hosting Verdict-as-a-Service, in your company.
Scale to your use-case.
More throughput
Every CPU core can scan on average 10 MB/s. This varies strongly with the type of files you scan (executables, archives or documents).
To add run on more nodes, add more replicas. Add this to your values.yaml:
gateway:
replicaCount: 4
gdscan:
replicaCount: 4
Bigger files
Verdict-as-a-Service can handle files of arbitrary size. In practice typical scan durations for large files are:
Latency:
File | Size inMB | Duration | MB/s |
---|---|---|---|
|
1943 |
6:25 |
5.05 |
|
2003 |
6:48 |
4.91 |
|
2032 |
6:37 |
5.12 |
|
881 |
2:00 |
7.34 |
|
970 |
1:57 |
8.29 |
|
1419 |
3:03 |
7.75 |
|
2007 |
3:12 |
10.45 |
|
2539 |
3:09 |
13.43 |
This varies with your setup.
Most likely you also have to configure your ingress to allow bigger files. Here is an example for nginx:
gateway:
ingress:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 4G
nginx.ingress.kubernetes.io/proxy-request-buffering: 'off'
Set the proxy-body-size to your maximum allowed file size. Request buffering (proxy-request-buffering) must be off.
Configure the volume size for the gdscan component
For small files we recommend the default settings which is set to non persistance storage meaning the files will be stored in memory while scanning.
For bigger files, configure a persistent volume like in this example:
gdscan:
persistence:
enabled: true
size: 5Gi
"Storage per node: (# of parallel requests) * (size of largest file to analyse)"
Adjust the maximum analysis duration
The default timeout for analysis is 30 seconds. If you have bigger files, you might want to increase this value. Add this to your values.yaml:
gateway:
terminationGracePeriodSeconds: 60
gdscan:
terminationGracePeriodSeconds: 60
Examples of the duration of the analysis can be found in the latency table.
Netzwerkzugang schützen
By default, Gateway has access to the Internet (http, https), which is needed for scanning URLs and requesting the cloud instance for the hashlookup.
If you want to prevent Verdict-as-a-Service from accessing the internet, we recommend to disable the default NetworkPolicy.
gateway:
networkPolicy:
enabled: false
These are the minimal policies required to run Verdict-as-a-Service:
policyTypes:
- Ingress
- Egress
ingress:
- from:
ports:
- port: 8080 # Http
- port: 9090 # Websocket
egress:
- to:
ports:
- port: 6379 # Redis
- port: 8080 # GdScan
- port: 9090 # Gateway