mirror of https://github.com/D4-project/d4-core
124 lines
3.6 KiB
Markdown
124 lines
3.6 KiB
Markdown
# D4 core
|
|
|
|
![](https://www.d4-project.org/assets/images/logo.png)
|
|
|
|
## D4 core server
|
|
|
|
D4 core server is a complete server to handle clients (sensors) including the decapsulation of the [D4 protocol](https://github.com/D4-project/architecture/tree/master/format), control of
|
|
sensor registrations, management of decoding protocols and dispatching to adequate decoders/analysers.
|
|
|
|
## Database map - Metadata
|
|
|
|
```
|
|
DB 0 - Stats + sensor configs
|
|
DB 1 - Users
|
|
DB 2 - Analyzer queue
|
|
DB 3 - Flask Cache
|
|
```
|
|
|
|
### DB 1
|
|
|
|
##### User Management:
|
|
| Hset Key | Field | Value |
|
|
| ------ | ------ | ------ |
|
|
| user:all | **user id** | **password hash** |
|
|
| | | |
|
|
| user:tokens | **token** | **user id** |
|
|
| | | |
|
|
| user_metadata:**user id** | token | **token** |
|
|
| | change_passwd | **boolean** |
|
|
| | role | **role** |
|
|
|
|
| Set Key | Value |
|
|
| ------ | ------ |
|
|
| user_role:**role** | **user id** |
|
|
|
|
|
|
| Zrank Key | Field | Value |
|
|
| ------ | ------ | ------ |
|
|
| ail:all_role | **role** | **int, role priority (1=admin)** |
|
|
|
|
### Server
|
|
| Key | Value |
|
|
| --- | --- |
|
|
| server:hmac_default_key | **hmac_default_key** |
|
|
|
|
| Set Key | Value |
|
|
| --- | --- |
|
|
| server:accepted_type | **accepted type** |
|
|
| server:accepted_extended_type | **accepted extended type** |
|
|
|
|
###### Connection Manager
|
|
| Set Key | Value |
|
|
| --- | --- |
|
|
| active_connection | **uuid** |
|
|
| | |
|
|
| active_connection:**type** | **uuid** |
|
|
| active_connection_extended_type:**uuid** | **extended type** |
|
|
| | |
|
|
| active_uuid_type2:**uuid** | **session uuid** |
|
|
| | |
|
|
| map:active_connection-uuid-session_uuid:**uuid** | **session uuid** |
|
|
|
|
| Set Key | Field | Value |
|
|
| --- | --- | --- |
|
|
| map:session-uuid_active_extended_type | **session_uuid** | **extended_type** |
|
|
|
|
### Stats
|
|
| Zset Key | Field | Value |
|
|
| --- | --- | --- |
|
|
| stat_uuid_ip:**date**:**uuid** | **IP** | **number D4 Packets** |
|
|
| | | |
|
|
| stat_uuid_type:**date**:**uuid** | **type** | **number D4 Packets** |
|
|
| | | |
|
|
| stat_type_uuid:**date**:**type** | **uuid** | **number D4 Packets** |
|
|
| | | |
|
|
| stat_ip_uuid:20190519:158.64.14.86 | **uuid** | **number D4 Packets** |
|
|
| | | |
|
|
| | | |
|
|
| daily_uuid:**date** | **uuid** | **number D4 Packets** |
|
|
| | | |
|
|
| daily_type:**date** | **type** | **number D4 Packets** |
|
|
| | | |
|
|
| daily_ip:**date** | **IP** | **number D4 Packets** |
|
|
|
|
### metadata sensors
|
|
| Hset Key | Field | Value |
|
|
| --- | --- | --- |
|
|
| metadata_uuid:**uuid** | first_seen | **epoch** |
|
|
| | last_seen | **epoch** |
|
|
| | description | **description** | (optionnal)
|
|
| | Error | **error message** | (optionnal)
|
|
| | hmac_key | **hmac_key** | (optionnal)
|
|
| | user_id | **user_id** | (optionnal)
|
|
|
|
###### Last IP
|
|
| List Key | Value |
|
|
| --- | --- |
|
|
| list_uuid_ip:**uuid** | **IP** |
|
|
|
|
### metadata types by sensors
|
|
| Hset Key | Field | Value |
|
|
| --- | --- | --- |
|
|
| metadata_uuid:**uuid** | first_seen | **epoch** |
|
|
| | last_seen | **epoch** |
|
|
|
|
| Set Key | Value |
|
|
| --- | --- |
|
|
| all_types_by_uuid:**uuid** | **type** |
|
|
| all_extended_types_by_uuid:**uuid** | **type** |
|
|
|
|
### analyzers
|
|
###### metadata
|
|
| Hset Key | Field | Value |
|
|
| --- | --- | --- |
|
|
| analyzer:**uuid** | last_updated | **epoch** |
|
|
| | description | **description** |
|
|
| | max_size | **queue max size** |
|
|
|
|
###### all analyzers by type
|
|
| Set Key | Value |
|
|
| --- | --- |
|
|
| analyzer:**type** | **uuid** |
|
|
| analyzer:254:**extended type** | **uuid** |
|