|
|
@@ -77,7 +77,66 @@ Endpoint checks:
|
|
77
|
77
|
- PagerDuty Stub: OK
|
|
78
|
78
|
- soc-integrator `/health`: OK
|
|
79
|
79
|
|
|
80
|
|
-## 4) In Progress / Remaining for Customer UAT
|
|
|
80
|
+## 4) System Architecture Diagram (PlantUML)
|
|
|
81
|
+
|
|
|
82
|
+```plantuml
|
|
|
83
|
+@startuml
|
|
|
84
|
+title FoodProject SOC Platform - System Architecture (MVP)
|
|
|
85
|
+skinparam componentStyle rectangle
|
|
|
86
|
+
|
|
|
87
|
+actor "Analyst" as analyst
|
|
|
88
|
+cloud "External Log Sources" as logs
|
|
|
89
|
+
|
|
|
90
|
+rectangle "SOC Shared Docker Network" {
|
|
|
91
|
+ node "Wazuh Stack" as wazuh {
|
|
|
92
|
+ component "Wazuh Manager" as wazuh_mgr
|
|
|
93
|
+ component "Wazuh Indexer" as wazuh_idx
|
|
|
94
|
+ component "Wazuh Dashboard" as wazuh_dash
|
|
|
95
|
+ }
|
|
|
96
|
+
|
|
|
97
|
+ node "Shuffle Stack" as shuffle {
|
|
|
98
|
+ component "Shuffle Frontend" as shuf_fe
|
|
|
99
|
+ component "Shuffle Backend" as shuf_be
|
|
|
100
|
+ component "Shuffle Orborus" as shuf_orb
|
|
|
101
|
+ component "Shuffle OpenSearch" as shuf_os
|
|
|
102
|
+ }
|
|
|
103
|
+
|
|
|
104
|
+ node "IRIS-web Stack" as iris {
|
|
|
105
|
+ component "IRIS Web App" as iris_app
|
|
|
106
|
+ database "IRIS DB" as iris_db
|
|
|
107
|
+ component "IRIS RabbitMQ" as iris_mq
|
|
|
108
|
+ }
|
|
|
109
|
+
|
|
|
110
|
+ node "SOC Integrator Stack" as integ {
|
|
|
111
|
+ component "soc-integrator API" as soc_api
|
|
|
112
|
+ database "soc-integrator-db" as soc_db
|
|
|
113
|
+ }
|
|
|
114
|
+
|
|
|
115
|
+ component "PagerDuty Stub" as pd_stub
|
|
|
116
|
+}
|
|
|
117
|
+
|
|
|
118
|
+logs --> wazuh_mgr : Security events
|
|
|
119
|
+wazuh_mgr --> wazuh_idx : Index alerts
|
|
|
120
|
+analyst --> wazuh_dash : Investigate alerts
|
|
|
121
|
+wazuh_dash --> wazuh_idx : Query data
|
|
|
122
|
+
|
|
|
123
|
+wazuh_mgr --> soc_api : Alert/incident input
|
|
|
124
|
+soc_api --> soc_db : Persist incidents\npolicies\naudit
|
|
|
125
|
+soc_api --> iris_app : Create/update cases
|
|
|
126
|
+soc_api --> pd_stub : Escalation (MVP)
|
|
|
127
|
+soc_api --> shuf_be : Trigger automation
|
|
|
128
|
+
|
|
|
129
|
+shuf_fe --> shuf_be : UI/API
|
|
|
130
|
+shuf_be --> shuf_os : Read/write workflow data
|
|
|
131
|
+shuf_orb --> shuf_be : Execution queue polling
|
|
|
132
|
+shuf_orb --> shuf_os : Workflow state interactions
|
|
|
133
|
+
|
|
|
134
|
+iris_app --> iris_db : Case data
|
|
|
135
|
+iris_app --> iris_mq : Async jobs
|
|
|
136
|
+@enduml
|
|
|
137
|
+```
|
|
|
138
|
+
|
|
|
139
|
+## 5) In Progress / Remaining for Customer UAT
|
|
81
|
140
|
|
|
82
|
141
|
1. Detection content tuning
|
|
83
|
142
|
- Fine-tune Wazuh rules/decoders for customer log patterns and false-positive reduction
|
|
|
@@ -97,13 +156,13 @@ Endpoint checks:
|
|
97
|
156
|
- Rotate default/local secrets used in lab config
|
|
98
|
157
|
- Lock down internal API keys and access boundaries
|
|
99
|
158
|
|
|
100
|
|
-## 5) Risks / Notes
|
|
|
159
|
+## 6) Risks / Notes
|
|
101
|
160
|
|
|
102
|
161
|
- Current escalation target is **PagerDuty Stub** by design for MVP.
|
|
103
|
162
|
Real PagerDuty production integration is the next stage.
|
|
104
|
163
|
- Some Wazuh config certificate directories are root-owned in the local lab clone, which may affect local git add operations if not excluded/fixed.
|
|
105
|
164
|
|
|
106
|
|
-## 6) Next Milestone (Proposed)
|
|
|
165
|
+## 7) Next Milestone (Proposed)
|
|
107
|
166
|
|
|
108
|
167
|
Next milestone: **MVP UAT Completion**
|
|
109
|
168
|
|
|
|
@@ -112,4 +171,3 @@ Target outputs:
|
|
112
|
171
|
- Tuned policy thresholds for customer environment
|
|
113
|
172
|
- Signed-off incident lifecycle flow:
|
|
114
|
173
|
Wazuh event -> soc-integrator decision -> IRIS case -> PagerDuty Stub escalation
|
|
115
|
|
-
|