| Version 3 (modified by , 5 days ago) ( diff ) |
|---|
Use-case 1 – Испраќање и обработка на податоци
Initiating actor: Client application (Agent / Collector) Other actors: Administrator Description: Клиентската апликација периодично собира системски, процесни и мрежни податоци и ги испраќа до серверот со X-Env-Token. Серверот го проверува токенот, го ажурира записот за компјутерот, ја заменува тековната состојба (snapshot) и по потреба додава во историја според поставките на околината. Scenario:
- Агентот ги собира податоците на компјутерот.
- Агентот испраќа POST барање со заглавие X-Env-Token.
- Системот го проверува токенот:
SET search_path TO project; SELECT tenant_id, env_name FROM env_tokens WHERE token = 'ENV_TOKEN_DEFAULT_TEST' AND (expires_at IS NULL OR expires_at > now());
- Системот го ажурира (или создава) записот за компјутерот:
INSERT INTO computers (tenant_id, env_name, name, "user", ip, os, first_seen, last_seen, sysmon_available) VALUES (1, 'default', 'PC-ADMIN', 'admin', '192.168.1.10', 'Windows 11 Pro', now(), now(), true) ON CONFLICT (tenant_id, name) DO UPDATE SET last_seen = now(), ip = EXCLUDED.ip, os = EXCLUDED.os;
- Системот ја заменува тековната snapshot состојба на метриките:
DELETE FROM computer_history_current WHERE computer_id = (SELECT id FROM computers WHERE tenant_id=1 AND name='PC-ADMIN'); INSERT INTO computer_history_current (computer_id, cpu_usage, ram_usage, disk_usage, network_sent_mb, network_recv_mb, timestamp) VALUES ((SELECT id FROM computers WHERE tenant_id=1 AND name='PC-ADMIN'), 45.0, 62.0, 71.0, 130.0, 100.0, now());
- Системот ги заменува тековните процеси, и додава во историја само ако е овозможено за околината:
DELETE FROM computer_processes_current WHERE computer_id = (SELECT id FROM computers WHERE tenant_id=1 AND name='PC-ADMIN'); INSERT INTO computer_processes_current (computer_id, pid, name, cpu_percent, memory_mb, username, cmdline, timestamp) VALUES ((SELECT id FROM computers WHERE tenant_id=1 AND name='PC-ADMIN'), 1234, 'chrome.exe', 12.5, 350.2, 'admin', 'chrome', now()); INSERT INTO computer_processes_history (computer_id, pid, name, cpu_percent, memory_mb, username, cmdline, timestamp) SELECT (SELECT id FROM computers WHERE tenant_id=1 AND name='PC-ADMIN'), 1234, 'chrome.exe', 12.5, 350.2, 'admin', 'chrome', now() WHERE (SELECT save_process_history FROM env_settings WHERE tenant_id=1 AND env_name='default') = true;
- Системот зачувува безбедносен/Sysmon настан и враќа успешен одговор:
INSERT INTO sysmon_events (computer_id, event_id, event_type, message, timestamp, details) VALUES ((SELECT id FROM computers WHERE tenant_id=1 AND name='PC-ADMIN'), 1, 'Process Create', 'Process created: chrome.exe', now(), '{}');
Note:
See TracWiki
for help on using the wiki.
