diff --git a/README.md b/README.md index bdb2fbb..04b1611 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,47 @@ Client ──► Backend:ProxyPort ──► WebSocket (Binary) ──► Agent - Mehrere gleichzeitige Verbindungen pro Tunnel moeglich - Tunnel bleiben offen wenn einzelne Sessions beendet werden +## Agent-Faehigkeiten (Status: Implementiert) + +### Datensammlung (automatisch bei jedem Heartbeat, alle 60s) + +| Collector | Daten | Quelle | +|-----------|-------|--------| +| Hardware | Hersteller, Modell, Seriennummer, BIOS | `kenv`, `sysctl` | +| CPU | Modell, Cores, Threads, Frequenz, Auslastung | `sysctl` | +| Memory | Total, Used, Free | `sysctl` | +| Disks | ZFS Datasets, Belegung, Mountpoints | `zfs list` | +| Network | Interfaces, IPs, Status, MAC, Statistiken | `ifconfig` | +| Services | Laufende Dienste, Status | `service -e`, `configctl` | +| WireGuard | Tunnel, Peers, Transfer, Handshake | `wg show` | +| DHCP | Aktive Leases (KEA/ISC/dnsmasq) | Lease-Dateien, KEA JSON | +| Routing | Routing-Tabelle | `netstat -rn` | +| Gateways | Gateway-Status, RTT, Loss | `configctl interface gateways status` | +| Zertifikate | Alle Certs + CAs, Ablaufdatum, Aussteller | `config.xml` + PEM-Parsing | +| Plugins | Installierte OPNsense-Plugins | `pkg info` | +| Updates | Pending Core + Package Updates | `opnsense-update -c`, `pkg upgrade -n` | + +### Remote-Commands (via WebSocket, on-demand) + +| Command | API-Endpoint | Beschreibung | +|---------|-------------|-------------| +| `exec` | `POST /agents/{id}/exec` | Beliebigen Shell-Befehl ausfuehren | +| `backup` | `POST /agents/{id}/backup` | Config-Backup (`/conf/config.xml`) erstellen | +| `update_check` | `POST /agents/{id}/update-check` | Verfuegbare Updates pruefen | +| `update` | `POST /agents/{id}/update` | Normales Update (Core + Packages, opt. Reboot) | +| `major_update` | `POST /agents/{id}/major-update` | Major-Upgrade (2-Phasen: Base/Kernel → Reboot → Packages) | +| `reboot` | `POST /agents/{id}/reboot` | Reboot mit konfigurierbarer Verzoegerung | +| `tunnel_connect` | `POST /agents/{id}/tunnel` | TCP-Tunnel zu lokalem Dienst oeffnen | +| `tunnel_disconnect` | `DELETE /agents/{id}/tunnel/{tid}` | Tunnel schliessen | + +### Registrierte Agents + +| Agent-ID | Name | IP | Rolle | +|----------|------|-----|-------| +| `6beb8dfd...` | OPN-PROD.intra.weidenhaupt.net | 192.168.85.1 | Produktion (READ-ONLY) | +| `e92e87a6...` | OPN-REP.intra.weidenhaupt.net | 192.168.85.33 | Test/Replikation | +| `1697d28e...` | OPN-TEST-UPDATE | 192.168.85.19 | Update-Tests | + ## Komponenten ### Agent (FreeBSD/OPNsense)