Initial commit: LOGAR edge-thin log analysis system with OpenPGP encryption, authenticated TCP sockets, 4-run persistence rule, Hermes reporting, and modular shippables
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# LOGAR Server Hub
|
||||
|
||||
Central Python/TCP ingestion server for the LOGAR Log Analysis System.
|
||||
|
||||
## Features
|
||||
- **Zero External GPG Requirement**: Uses pure-Python OpenPGP (`pgpy` + `cryptography`), no native GnuPG binary needed.
|
||||
- **First-Run Key & Config Auto-generation**: Generates OpenPGP keypairs, auth tokens, and `server_config.json` automatically on first launch.
|
||||
- **Client Config Exporter**: Generates `client_config.json` bundles containing the server's encryption-only fingerprint and address.
|
||||
- **Cloud-Side Temporal Persistence**: SQLite database tracking candidate anomalies over 12-hour evaluation windows.
|
||||
- **4-Run Persistence Rule**: Filters out transient infrastructure blips, promoting issues to `VERIFIED` anomalies only after persisting across $\ge 4$ runs.
|
||||
- **Agentic Hermes Endpoint**: REST API (`GET /api/hermes/report`) providing verified system artifacts for Hermes agent alerts.
|
||||
|
||||
## Installation
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Running the Server
|
||||
```bash
|
||||
# Starts both the TCP socket listener (port 9443) and the Hermes API (port 8443)
|
||||
python Server.py
|
||||
```
|
||||
|
||||
## Generating Client Configurations
|
||||
To deploy edge forwarders, generate a client config file:
|
||||
```bash
|
||||
python Server.py --create-client-config --server-host <SERVER_IP_OR_DNS> --server-port 9443 --site-name "Frankfurt-DC" --client-out client_config.json
|
||||
```
|
||||
Copy the generated `client_config.json` into the deployment directory of `Win_Client.py` or `Linux_Client.py`.
|
||||
|
||||
## Hermes Agent Integration
|
||||
Hermes queries the verified anomalies via:
|
||||
```
|
||||
GET http://<SERVER_IP>:8443/api/hermes/report
|
||||
```
|
||||
Only issues meeting the 4-run persistence rule within the active 12-hour evaluation window are returned.
|
||||
Reference in New Issue
Block a user