Skip to content
This repository has been archived by the owner on Aug 15, 2022. It is now read-only.

Latest commit

 

History

History
77 lines (57 loc) · 2.83 KB

roles-and-relationship.md

File metadata and controls

77 lines (57 loc) · 2.83 KB

Roles and Relationship

Within eulabeia we have four different roles.

Although one system can have multiple roles (e.g. a sensor can be a scanner) we differentiate based on:

Client

There can be multiple clients, sensor and scanner within the eulabeia concept but just one director.

The client should just communicate with the director, the director communicates with sensor, sensor with scanner and scanner with director or sensor depending on the implementation and context.

This means that the communication between an external client and director is strict while the internal communication is less so.

This allows us to make internal changes (behind director) without having to change the logic a client communicates with eulabeia, too. Another reason is that this also allows us to introduce supportive scanners without the client knowing about these and thus allows extending results in a transparent fashion.

To make the communication more transparent for audits or other special cases (like an indirect scanner) each message is send via a broker based on MQTTv5.

In theory a client can directly send cmds to a specific sensor, but it is not supported or recommended and on its own risk.

relationship

Director

The main responsibility of a director is to delegate requests from a client to a corresponding sensor or serve data when available.

A director is subscribed to the following topics:

  • scanner/cmd/scan/director, see scan
  • scanner/cmd/target/director, see target
  • scanner/cmd/sensor/director, see sensor
  • scanner/cmd/vt/director, see vt

Sensor

The main responsibility of a sensor is to to handle start events and control that the actual scan is executed.

Scanner

A scanner is either also a sensor or is controlled by a dedicated sensor.

  • OpenVAS is an active scanner and handled via the sensor within this repository.
  • Notus is a supportive scanner and triggered transparently in the background.