11services :
2+
3+ # ##########################
4+ # DEPENDENCIES #
5+ # ##########################
6+
27 # Generate RSA key for xtm-composer (PKCS#8 format)
38 rsa-key-generator :
49 image : alpine/openssl:3.5.2
@@ -81,16 +86,48 @@ services:
8186 interval : 30s
8287 timeout : 30s
8388 retries : 3
89+
90+ # ##########################
91+ # COMMON #
92+ # ##########################
93+
94+ xtm-composer :
95+ image : filigran/xtm-composer:1.0.1
96+ platform : linux/amd64
97+ environment :
98+ - MANAGER__ID=${XTM_COMPOSER_ID}
99+ - MANAGER__NAME=OpenCTI Connector Manager
100+ - MANAGER__CREDENTIALS_KEY_FILEPATH=/keys/private_key.pem
101+ - OPENCTI__ENABLE=true
102+ - OPENCTI__URL=http://opencti:8080
103+ - OPENCTI__TOKEN=${OPENCTI_ADMIN_TOKEN}
104+ - OPENCTI__DAEMON__SELECTOR=docker
105+ - OPENCTI__DAEMON__DOCKER__NETWORK_MODE=${COMPOSE_PROJECT_NAME}_default
106+ volumes :
107+ - /var/run/docker.sock:/var/run/docker.sock
108+ - rsakeys:/keys:ro # RSA key mounted as read-only
109+ depends_on :
110+ rsa-key-generator :
111+ condition : service_healthy
112+ opencti :
113+ condition : service_healthy
114+ rabbitmq :
115+ condition : service_healthy
116+ restart : always
117+
118+ # ##########################
119+ # OPENCTI #
120+ # ##########################
121+
84122 opencti :
85- image : opencti/platform:6.8.17
123+ image : opencti/platform:6.9.0
86124 environment :
87125 - NODE_OPTIONS=--max-old-space-size=8096
88126 - APP__PORT=8080
89- - APP__BASE_URL=${OPENCTI_BASE_URL }
127+ - APP__BASE_URL=${OPENCTI_EXTERNAL_SCHEME}://${OPENCTI_HOST}:${OPENCTI_PORT }
90128 - APP__ADMIN__EMAIL=${OPENCTI_ADMIN_EMAIL}
91129 - APP__ADMIN__PASSWORD=${OPENCTI_ADMIN_PASSWORD}
92130 - APP__ADMIN__TOKEN=${OPENCTI_ADMIN_TOKEN}
93- - APP__APP_LOGS__LOGS_LEVEL=error
94131 - REDIS__HOSTNAME=redis
95132 - REDIS__PORT=6379
96133 - ELASTICSEARCH__URL=http://opensearch:9200
@@ -113,11 +150,11 @@ services:
113150 - PROVIDERS__LOCAL__STRATEGY=LocalStrategy
114151 - APP__HEALTH_ACCESS_KEY=${OPENCTI_HEALTHCHECK_ACCESS_KEY}
115152 ports :
116- - " 8080 :8080"
153+ - " ${OPENCTI_PORT} :8080"
117154 depends_on :
118155 redis :
119156 condition : service_healthy
120- opensearch :
157+ elasticsearch :
121158 condition : service_healthy
122159 minio :
123160 condition : service_healthy
@@ -130,62 +167,63 @@ services:
130167 timeout : 5s
131168 retries : 20
132169 worker :
133- image : opencti/worker:6.8.17
170+ image : opencti/worker:6.9.0
134171 environment :
135172 - OPENCTI_URL=http://opencti:8080
136173 - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
137- - WORKER_LOG_LEVEL=info
138174 depends_on :
139175 opencti :
140176 condition : service_healthy
141177 deploy :
142178 mode : replicated
143179 replicas : 3
144180 restart : always
181+
182+ # ##########################
183+ # OPENCTI CONNECTORS #
184+ # ##########################
185+
145186 connector-export-file-stix :
146- image : opencti/connector-export-file-stix:6.8.17
187+ image : opencti/connector-export-file-stix:6.9.0
147188 environment :
148189 - OPENCTI_URL=http://opencti:8080
149190 - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
150191 - CONNECTOR_ID=${CONNECTOR_EXPORT_FILE_STIX_ID} # Valid UUIDv4
151192 - CONNECTOR_TYPE=INTERNAL_EXPORT_FILE
152193 - CONNECTOR_NAME=ExportFileStix2
153194 - CONNECTOR_SCOPE=application/json
154- - CONNECTOR_LOG_LEVEL=info
155195 restart : always
156196 depends_on :
157197 opencti :
158198 condition : service_healthy
159199 connector-export-file-csv :
160- image : opencti/connector-export-file-csv:6.8.17
200+ image : opencti/connector-export-file-csv:6.9.0
161201 environment :
162202 - OPENCTI_URL=http://opencti:8080
163203 - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
164204 - CONNECTOR_ID=${CONNECTOR_EXPORT_FILE_CSV_ID} # Valid UUIDv4
165205 - CONNECTOR_TYPE=INTERNAL_EXPORT_FILE
166206 - CONNECTOR_NAME=ExportFileCsv
167207 - CONNECTOR_SCOPE=text/csv
168- - CONNECTOR_LOG_LEVEL=info
169208 restart : always
170209 depends_on :
171210 opencti :
172211 condition : service_healthy
173212 connector-export-file-txt :
174- image : opencti/connector-export-file-txt:6.8.17
213+ image : opencti/connector-export-file-txt:6.9.0
175214 environment :
176215 - OPENCTI_URL=http://opencti:8080
177216 - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
178217 - CONNECTOR_ID=${CONNECTOR_EXPORT_FILE_TXT_ID} # Valid UUIDv4
179218 - CONNECTOR_TYPE=INTERNAL_EXPORT_FILE
180219 - CONNECTOR_NAME=ExportFileTxt
181220 - CONNECTOR_SCOPE=text/plain
182- - CONNECTOR_LOG_LEVEL=info
183221 restart : always
184222 depends_on :
185223 opencti :
186224 condition : service_healthy
187225 connector-import-file-stix :
188- image : opencti/connector-import-file-stix:6.8.17
226+ image : opencti/connector-import-file-stix:6.9.0
189227 environment :
190228 - OPENCTI_URL=http://opencti:8080
191229 - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
@@ -195,13 +233,12 @@ services:
195233 - CONNECTOR_VALIDATE_BEFORE_IMPORT=true # Validate any bundle before import
196234 - CONNECTOR_SCOPE=application/json,text/xml
197235 - CONNECTOR_AUTO=true # Enable/disable auto-import of file
198- - CONNECTOR_LOG_LEVEL=info
199236 restart : always
200237 depends_on :
201238 opencti :
202239 condition : service_healthy
203240 connector-import-document :
204- image : opencti/connector-import-document:6.8.17
241+ image : opencti/connector-import-document:6.9.0
205242 environment :
206243 - OPENCTI_URL=http://opencti:8080
207244 - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
@@ -212,14 +249,28 @@ services:
212249 - CONNECTOR_SCOPE=application/pdf,text/plain,text/html
213250 - CONNECTOR_AUTO=true # Enable/disable auto-import of file
214251 - CONNECTOR_ONLY_CONTEXTUAL=false # Only extract data related to an entity (a report, a threat actor, etc.)
215- - CONNECTOR_LOG_LEVEL=info
216252 - IMPORT_DOCUMENT_CREATE_INDICATOR=true
217253 restart : always
218254 depends_on :
219255 opencti :
220256 condition : service_healthy
257+ connector-import-file-yara :
258+ image : opencti/connector-import-file-yara:6.9.0
259+ environment :
260+ - OPENCTI_URL=http://opencti:8080
261+ - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
262+ - CONNECTOR_ID=${CONNECTOR_IMPORT_FILE_YARA_ID} # Valid UUIDv4
263+ - CONNECTOR_NAME=ImportFileYARA
264+ - CONNECTOR_VALIDATE_BEFORE_IMPORT=true # Validate any bundle before import
265+ - CONNECTOR_SCOPE=text/yara+plain
266+ - CONNECTOR_AUTO=false # Enable/disable auto-import of file
267+ - YARA_IMPORT_FILE_SPLIT_RULES=true
268+ restart : always
269+ depends_on :
270+ opencti :
271+ condition : service_healthy
221272 connector-analysis :
222- image : opencti/connector-import-document:6.8.17
273+ image : opencti/connector-import-document:6.9.0
223274 environment :
224275 - OPENCTI_URL=http://opencti:8080
225276 - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
@@ -230,34 +281,52 @@ services:
230281 - CONNECTOR_SCOPE=application/pdf,text/plain,text/html
231282 - CONNECTOR_AUTO=true # Enable/disable auto-import of file
232283 - CONNECTOR_ONLY_CONTEXTUAL=false # Only extract data related to an entity (a report, a threat actor, etc.)
233- - CONNECTOR_LOG_LEVEL=info
234284 restart : always
235285 depends_on :
236286 opencti :
237287 condition : service_healthy
238- xtm-composer :
239- image : filigran/xtm-composer:1.0.1
240- platform : linux/amd64
288+ connector-import-external-reference :
289+ image : opencti/connector-import-external-reference:6.9.0
241290 environment :
242- - MANAGER__ID=${XTM_COMPOSER_ID}
243- - MANAGER__NAME=OpenCTI Connector Manager
244- - MANAGER__CREDENTIALS_KEY_FILEPATH=/keys/private_key.pem
245- - OPENCTI__ENABLE=true
246- - OPENCTI__URL=http://opencti:8080
247- - OPENCTI__TOKEN=${OPENCTI_ADMIN_TOKEN}
248- - OPENCTI__DAEMON__SELECTOR=docker
249- - OPENCTI__DAEMON__DOCKER__NETWORK_MODE=${COMPOSE_PROJECT_NAME}_default
250- volumes :
251- - /var/run/docker.sock:/var/run/docker.sock
252- - rsakeys:/keys:ro # RSA key mounted as read-only
291+ - OPENCTI_URL=http://opencti:8080
292+ - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
293+ - CONNECTOR_ID=${CONNECTOR_IMPORT_EXTERNAL_REFERENCE_ID}
294+ - CONNECTOR_NAME=ImportExternalReference
295+ restart : always
253296 depends_on :
254- rsa-key-generator :
255- condition : service_healthy
256297 opencti :
257- condition : service_healthy
258- rabbitmq :
259- condition : service_healthy
298+ condition : service_healthy
299+
300+ # ##########################
301+ # OPENCTI DEFAULT DATA #
302+ # ##########################
303+
304+ connector-opencti :
305+ image : opencti/connector-opencti:6.9.0
306+ environment :
307+ - OPENCTI_URL=http://opencti:8080
308+ - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
309+ - CONNECTOR_ID=${CONNECTOR_OPENCTI_ID}
310+ - " CONNECTOR_NAME=OpenCTI Datasets"
311+ - CONNECTOR_SCOPE=marking-definition,identity,location
312+ - CONNECTOR_AUTO_CREATE_SERVICE_ACCOUNT=true
313+ - CONNECTOR_AUTO_CREATE_SERVICE_ACCOUNT_CONFIDENCE_LEVEL=100
260314 restart : always
315+ depends_on :
316+ opencti :
317+ condition : service_healthy
318+ connector-mitre :
319+ image : opencti/connector-mitre:6.9.0
320+ environment :
321+ - OPENCTI_URL=http://opencti:8080
322+ - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
323+ - CONNECTOR_ID=${CONNECTOR_MITRE_ID}
324+ - CONNECTOR_AUTO_CREATE_SERVICE_ACCOUNT=true
325+ - CONNECTOR_AUTO_CREATE_SERVICE_ACCOUNT_CONFIDENCE_LEVEL=75
326+ restart : always
327+ depends_on :
328+ opencti :
329+ condition : service_healthy
261330
262331volumes :
263332 esdata :
0 commit comments