Server-side of the stratosphere
Besides the client-side plugin (#61 (closed)) we need a server-side counterpart.
There are two roles for it:
- Provide configuration to the client.
- Accept, decode and store the signatures from the client.
Clients that can be taken as an inspiration are probably flow or refused (refused being simpler as it doesn't provide the filters).
The subtasks would include:
- Writing the python plugin itself (a file in src/master).
- Add a table (probably Client, IP, Port, timestamp, signature string) to both the database and the inicialization database file, including relevant rights.
- Add cleaning the table into
src/master/dbscripts/purge
so it cleans up properly. - Add support to archivist (
src/master/archivist
) ‒ both its database and the perl script.
Note that this task list assumes we do this before we are done with rewriting the server-side into microservices. If we get to the microservices first, the tasks will likely be somewhat different (but it is not 100% clear how the framework will look like).