first commit
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
# Wazuh single-node (basiert auf wazuh/wazuh-docker single-node)
|
||||
# + sshpull-collector: holt Logs per SSH von Hosts, auf die nur per SSH zugegriffen werden kann
|
||||
# + Manager-Erweiterung: Agentless-Integritaets- und Befehls-Checks per SSH
|
||||
#
|
||||
# Vor dem ersten Start: ./setup.sh
|
||||
|
||||
services:
|
||||
wazuh.manager:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: manager/Dockerfile
|
||||
args:
|
||||
WAZUH_VERSION: ${WAZUH_VERSION}
|
||||
image: sshpull/wazuh-manager:${WAZUH_VERSION}
|
||||
hostname: wazuh.manager
|
||||
restart: always
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 655360
|
||||
hard: 655360
|
||||
# Keine Ports nach aussen: Agents (falls ueberhaupt) kommen ueber den SSH-Tunnel
|
||||
# des Collectors. Fuer klassisch angebundene Agents freischalten:
|
||||
# ports:
|
||||
# - "1514:1514"
|
||||
# - "1515:1515"
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- INDEXER_URL="https://wazuh.indexer:9200" # Anfuehrungszeichen gehoeren dazu (filebeat.yml)
|
||||
- INDEXER_USERNAME=admin
|
||||
- INDEXER_PASSWORD=${INDEXER_PASSWORD}
|
||||
- FILEBEAT_SSL_VERIFICATION_MODE=full
|
||||
- SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
|
||||
- SSL_CERTIFICATE=/etc/ssl/filebeat.pem
|
||||
- SSL_KEY=/etc/ssl/filebeat.key
|
||||
- API_USERNAME=wazuh-wui
|
||||
- API_PASSWORD=${API_PASSWORD}
|
||||
volumes:
|
||||
- wazuh_api_configuration:/var/ossec/api/configuration
|
||||
- wazuh_etc:/var/ossec/etc
|
||||
- wazuh_logs:/var/ossec/logs
|
||||
- wazuh_queue:/var/ossec/queue
|
||||
- wazuh_var_multigroups:/var/ossec/var/multigroups
|
||||
- wazuh_integrations:/var/ossec/integrations
|
||||
- wazuh_active_response:/var/ossec/active-response/bin
|
||||
- wazuh_agentless:/var/ossec/agentless
|
||||
- wazuh_wodles:/var/ossec/wodles
|
||||
- filebeat_etc:/etc/filebeat
|
||||
- filebeat_var:/var/lib/filebeat
|
||||
- ./config/wazuh_indexer_ssl_certs/root-ca-manager.pem:/etc/ssl/root-ca.pem:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/wazuh.manager.pem:/etc/ssl/filebeat.pem:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/wazuh.manager-key.pem:/etc/ssl/filebeat.key:ro
|
||||
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf:ro
|
||||
# sshpull
|
||||
- ./hosts.yml:/sshpull/hosts.yml:ro
|
||||
- ./ssh:/sshpull/ssh:ro
|
||||
- remote_logs:/remote-logs:ro
|
||||
|
||||
wazuh.indexer:
|
||||
image: wazuh/wazuh-indexer:${WAZUH_VERSION}
|
||||
hostname: wazuh.indexer
|
||||
restart: always
|
||||
environment:
|
||||
- "OPENSEARCH_JAVA_OPTS=-Xms${INDEXER_HEAP} -Xmx${INDEXER_HEAP}"
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
volumes:
|
||||
- wazuh-indexer-data:/var/lib/wazuh-indexer
|
||||
- ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.key:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem:ro
|
||||
- ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml:ro
|
||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml:ro
|
||||
|
||||
wazuh.dashboard:
|
||||
image: wazuh/wazuh-dashboard:${WAZUH_VERSION}
|
||||
hostname: wazuh.dashboard
|
||||
restart: always
|
||||
ports:
|
||||
- "${DASHBOARD_PORT}:5601"
|
||||
environment:
|
||||
- INDEXER_USERNAME=admin
|
||||
- INDEXER_PASSWORD=${INDEXER_PASSWORD}
|
||||
- WAZUH_API_URL=https://wazuh.manager
|
||||
- DASHBOARD_USERNAME=kibanaserver
|
||||
- DASHBOARD_PASSWORD=${DASHBOARD_PASSWORD}
|
||||
- API_USERNAME=wazuh-wui
|
||||
- API_PASSWORD=${API_PASSWORD}
|
||||
volumes:
|
||||
- ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem:ro
|
||||
- ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem:ro
|
||||
- ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml:ro
|
||||
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
|
||||
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
|
||||
depends_on:
|
||||
- wazuh.indexer
|
||||
- wazuh.manager
|
||||
|
||||
sshpull.collector:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: collector/Dockerfile
|
||||
image: sshpull/collector:latest
|
||||
hostname: sshpull.collector
|
||||
restart: always
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- MANAGER_HOST=wazuh.manager
|
||||
- MAX_LOG_MB=${COLLECTOR_MAX_LOG_MB}
|
||||
volumes:
|
||||
- ./hosts.yml:/sshpull/hosts.yml:ro
|
||||
- ./ssh:/ssh # rw, damit "keyscan" known_hosts schreiben kann
|
||||
- remote_logs:/remote-logs
|
||||
- collector_state:/state
|
||||
depends_on:
|
||||
- wazuh.manager
|
||||
|
||||
volumes:
|
||||
wazuh_api_configuration:
|
||||
wazuh_etc:
|
||||
wazuh_logs:
|
||||
wazuh_queue:
|
||||
wazuh_var_multigroups:
|
||||
wazuh_integrations:
|
||||
wazuh_active_response:
|
||||
wazuh_agentless:
|
||||
wazuh_wodles:
|
||||
filebeat_etc:
|
||||
filebeat_var:
|
||||
wazuh-indexer-data:
|
||||
wazuh-dashboard-config:
|
||||
wazuh-dashboard-custom:
|
||||
remote_logs:
|
||||
collector_state:
|
||||
Reference in New Issue
Block a user