1
- version : ' 3 '
1
+ version : " 3.8 "
2
2
name : " amazon-security-lake"
3
3
services :
4
4
events-generator :
@@ -7,22 +7,35 @@ services:
7
7
context : ../tools/events-generator
8
8
container_name : events-generator
9
9
depends_on :
10
- - wazuh.indexer
11
- networks :
12
- - net
13
- # TODO add healthcheck to indexer's service to avoid sending requests before API is ready.
14
- command : bash -c "sleep 10 && echo 'Ey, wake up!' && python run.py -a wazuh.indexer"
10
+ wazuh.indexer :
11
+ condition : service_healthy
12
+ command : bash -c "python run.py -a wazuh.indexer"
15
13
16
14
wazuh.indexer :
17
- image : opensearchproject/opensearch:latest
15
+ image : opensearchproject/opensearch:2.11.1
18
16
container_name : wazuh.indexer
17
+ depends_on :
18
+ wazuh-certs-generator :
19
+ condition : service_completed_successfully
19
20
hostname : wazuh.indexer
21
+ ports :
22
+ - 9200:9200
20
23
environment :
21
24
# - cluster.name=opensearch-cluster
22
25
- node.name=wazuh.indexer
23
26
- discovery.type=single-node
24
27
# - cluster.initial_cluster_manager_nodes=opensearch-node
25
28
- bootstrap.memory_lock=true
29
+ - " DISABLE_INSTALL_DEMO_CONFIG=true"
30
+ - plugins.security.ssl.http.enabled=true
31
+ - plugins.security.allow_default_init_securityindex=true
32
+ - plugins.security.ssl.http.pemcert_filepath=/usr/share/opensearch/config/wazuh.indexer.pem
33
+ - plugins.security.ssl.transport.pemcert_filepath=/usr/share/opensearch/config/wazuh.indexer.pem
34
+ - plugins.security.ssl.http.pemkey_filepath=/usr/share/opensearch/config/wazuh.indexer-key.pem
35
+ - plugins.security.ssl.transport.pemkey_filepath=/usr/share/opensearch/config/wazuh.indexer-key.pem
36
+ - plugins.security.ssl.http.pemtrustedcas_filepath=/usr/share/opensearch/config/root-ca.pem
37
+ - plugins.security.ssl.transport.pemtrustedcas_filepath=/usr/share/opensearch/config/root-ca.pem
38
+ - plugins.security.authcz.admin_dn="CN=wazuh.indexer,OU=Wazuh,O=Wazuh,L=California, C=US"
26
39
- " OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
27
40
ulimits :
28
41
memlock :
@@ -31,29 +44,36 @@ services:
31
44
nofile :
32
45
soft : 65536
33
46
hard : 65536
47
+ healthcheck :
48
+ test : curl -sku admin:admin https://localhost:9200/_cat/health | grep -q docker-cluster
49
+ start_period : 10s
50
+ start_interval : 3s
34
51
volumes :
35
52
- data:/usr/share/opensearch/data
36
- networks :
37
- - net
53
+ - ./certs/wazuh.indexer.pem:/usr/share/opensearch/config/wazuh.indexer.pem
54
+ - ./certs/wazuh.indexer-key.pem:/usr/share/opensearch/config/wazuh.indexer-key.pem
55
+ - ./certs/root-ca.pem:/usr/share/opensearch/config/root-ca.pem
38
56
39
57
wazuh.dashboard :
40
- image : opensearchproject/opensearch-dashboards:latest # Make sure the version of opensearch-dashboards matches the version of opensearch installed on other nodes
58
+ image : opensearchproject/opensearch-dashboards:2.11.1
41
59
container_name : wazuh.dashboard
60
+ depends_on :
61
+ - wazuh.indexer
42
62
hostname : wazuh.dashboard
43
63
ports :
44
64
- 5601:5601 # Map host port 5601 to container port 5601
45
65
expose :
46
66
- " 5601" # Expose port 5601 for web access to OpenSearch Dashboards
47
67
environment :
48
68
OPENSEARCH_HOSTS : ' ["https://wazuh.indexer:9200"]' # Define the OpenSearch nodes that OpenSearch Dashboards will query
49
- networks :
50
- - net
51
-
69
+
52
70
wazuh.integration.security.lake :
53
71
image : wazuh/indexer-security-lake-integration
54
72
build :
55
73
context : ../amazon-security-lake
56
74
container_name : wazuh.integration.security.lake
75
+ depends_on :
76
+ - wazuh.indexer
57
77
hostname : wazuh.integration.security.lake
58
78
environment :
59
79
LOG_LEVEL : trace
@@ -68,12 +88,9 @@ services:
68
88
- " 9600:9600"
69
89
volumes :
70
90
- ../amazon-security-lake/logstash/pipeline:/usr/share/logstash/pipeline
71
- depends_on :
72
- - wazuh.indexer
73
- networks :
74
- - net
75
- command : tail -f /dev/null
76
- # command: /usr/share/logstash/bin/logstash -f /usr/share/logstash/pipeline/indexer-to-integrator.conf --path.settings /etc/logstash
91
+ - ./certs/root-ca.pem:/usr/share/logstash/root-ca.pem
92
+ # command: tail -f /dev/null
93
+ command : /usr/share/logstash/bin/logstash -f /usr/share/logstash/pipeline/indexer-to-integrator.conf --path.settings /etc/logstash --config.reload.automatic
77
94
78
95
s3.ninja :
79
96
image : scireum/s3-ninja:latest
@@ -83,12 +100,16 @@ services:
83
100
- " 9444:9000"
84
101
volumes :
85
102
- s3-data:/home/sirius/data
86
- networks :
87
- - net
103
+
104
+ wazuh-certs-generator :
105
+ image : wazuh/wazuh-certs-generator:0.0.1
106
+ hostname : wazuh-certs-generator
107
+ container_name : wazuh-certs-generator
108
+ entrypoint : sh -c "/entrypoint.sh; chown -R 1000:999 /certificates; chmod 740 /certificates; chmod 440 /certificates/*"
109
+ volumes :
110
+ - ./certs/:/certificates/
111
+ - ./config/certs.yml:/config/certs.yml
88
112
89
113
volumes :
90
114
data :
91
115
s3-data :
92
-
93
- networks :
94
- net:
0 commit comments