mirror of
https://github.com/gbrigandi/mcp-server-wazuh.git
synced 2025-12-19 03:42:21 -06:00
* Ported code to RMCP
* Implemented unit and e2e testing * Other fixes and enhancements
This commit is contained in:
98
docker/docker-compose-all-in-one.yml
Normal file
98
docker/docker-compose-all-in-one.yml
Normal file
@@ -0,0 +1,98 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# Wazuh Indexer
|
||||
wazuh-indexer:
|
||||
image: wazuh/wazuh-indexer:4.7.2
|
||||
platform: linux/amd64
|
||||
hostname: wazuh-indexer
|
||||
restart: always
|
||||
ports:
|
||||
- "9200:9200"
|
||||
- "9300:9300"
|
||||
environment:
|
||||
- WAZUH_INITIAL_USER=admin
|
||||
- WAZUH_INITIAL_PASSWORD=AdminPassword123!
|
||||
- OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
volumes:
|
||||
- wazuh-indexer-data:/var/lib/opensearch/data
|
||||
|
||||
# Wazuh Manager
|
||||
wazuh-manager:
|
||||
image: wazuh/wazuh-manager:4.7.2
|
||||
platform: linux/amd64
|
||||
hostname: wazuh-manager
|
||||
restart: always
|
||||
ports:
|
||||
# Wazuh agent communication
|
||||
- "1514:1514/udp"
|
||||
- "1515:1515/tcp"
|
||||
# Wazuh API
|
||||
- "55000:55000"
|
||||
environment:
|
||||
- WAZUH_INDEXER_URL=http://wazuh-indexer:9200
|
||||
- WAZUH_API_USER=wazuh_user_demo # API User for MCP Server to use
|
||||
- WAZUH_API_PASSWORD=wazuh_password_demo # API Password for MCP Server to use
|
||||
depends_on:
|
||||
wazuh-indexer:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=50s"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
volumes:
|
||||
- wazuh-manager-data:/var/ossec/data
|
||||
- wazuh-manager-logs:/var/ossec/logs
|
||||
- wazuh-manager-etc:/var/ossec/etc
|
||||
|
||||
# Wazuh Dashboard
|
||||
wazuh-dashboard:
|
||||
image: wazuh/wazuh-dashboard:4.7.2
|
||||
platform: linux/amd64
|
||||
hostname: wazuh-dashboard
|
||||
restart: always
|
||||
ports:
|
||||
- "8443:443"
|
||||
environment:
|
||||
- WAZUH_INDEXER_URL=http://wazuh-indexer:9200
|
||||
- WAZUH_API_URL=http://wazuh-manager:55000
|
||||
- WAZUH_USER=admin
|
||||
- WAZUH_PASSWORD=AdminPassword123!
|
||||
# - OPENSEARCH_DASHBOARDS_SERVER_SSL_ENABLED=true # Default is true
|
||||
# - OPENSEARCH_DASHBOARDS_SERVER_SSL_KEY=/usr/share/wazuh-dashboard/certs/key.pem # Provide your certs if needed
|
||||
# - OPENSEARCH_DASHBOARDS_SERVER_SSL_CERTIFICATE=/usr/share/wazuh-dashboard/certs/cert.pem
|
||||
depends_on:
|
||||
wazuh-manager:
|
||||
condition: service_started
|
||||
wazuh-indexer:
|
||||
condition: service_healthy
|
||||
|
||||
# MCP Server
|
||||
mcp-server:
|
||||
build: .
|
||||
ports:
|
||||
- "${MCP_SERVER_PORT:-8000}:${MCP_SERVER_PORT:-8000}"
|
||||
environment:
|
||||
- WAZUH_HOST=wazuh-manager
|
||||
- WAZUH_PORT=55000
|
||||
- WAZUH_USER=wazuh_user_demo
|
||||
- WAZUH_PASS=wazuh_password_demo
|
||||
- VERIFY_SSL=false
|
||||
- MCP_SERVER_PORT=${MCP_SERVER_PORT:-8000}
|
||||
- RUST_LOG=${RUST_LOG:-info}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
wazuh-manager:
|
||||
condition: service_started
|
||||
|
||||
volumes:
|
||||
wazuh-indexer-data:
|
||||
wazuh-manager-data:
|
||||
wazuh-manager-logs:
|
||||
wazuh-manager-etc:
|
||||
|
||||
86
docker/docker-compose.wazuh-demo.yml
Normal file
86
docker/docker-compose.wazuh-demo.yml
Normal file
@@ -0,0 +1,86 @@
|
||||
version: '3.8'
|
||||
|
||||
|
||||
volumes:
|
||||
wazuh-indexer-data:
|
||||
driver: local
|
||||
wazuh-manager-config:
|
||||
driver: local
|
||||
wazuh-manager-logs:
|
||||
driver: local
|
||||
|
||||
services:
|
||||
wazuh-indexer:
|
||||
image: wazuh/wazuh-indexer:4.7.3
|
||||
container_name: wazuh-indexer-demo
|
||||
hostname: wazuh-indexer
|
||||
restart: always
|
||||
ports:
|
||||
- "9200:9200"
|
||||
- "9300:9300"
|
||||
environment:
|
||||
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=YourChosenStrongPassword!
|
||||
- OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g
|
||||
volumes:
|
||||
- wazuh-indexer-data:/var/lib/opensearch/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -k -u admin:YourChosenStrongPassword! https://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=5s"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 120s
|
||||
networks:
|
||||
- wazuh-net-demo
|
||||
|
||||
wazuh-manager:
|
||||
image: wazuh/wazuh-manager:4.7.3
|
||||
container_name: wazuh-manager-demo
|
||||
hostname: wazuh-manager
|
||||
restart: always
|
||||
ports:
|
||||
- "1514:1514/udp"
|
||||
- "1515:1515/tcp"
|
||||
- "55000:55000/tcp"
|
||||
environment:
|
||||
- WAZUH_INDEXER_URL=https://wazuh-indexer:9200
|
||||
- WAZUH_INDEXER_USER=admin
|
||||
- WAZUH_INDEXER_PASSWORD=YourChosenStrongPassword!
|
||||
- WAZUH_API_USER=wazuh
|
||||
- WAZUH_API_PASSWORD=wazuh
|
||||
- INDEXER_SSL_VERIFY=false
|
||||
- WAZUH_CLUSTER_KEY=myDemoClusterKey
|
||||
volumes:
|
||||
- wazuh-manager-config:/var/ossec/etc
|
||||
- wazuh-manager-logs:/var/ossec/logs
|
||||
- wazuh-manager-config:/var/ossec/api/agent_keys
|
||||
depends_on:
|
||||
wazuh-indexer:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- wazuh-net-demo
|
||||
|
||||
wazuh-dashboard:
|
||||
image: wazuh/wazuh-dashboard:4.7.3
|
||||
container_name: wazuh-dashboard-demo
|
||||
hostname: wazuh-dashboard
|
||||
restart: always
|
||||
ports:
|
||||
- "8443:5601"
|
||||
environment:
|
||||
- OPENSEARCH_HOSTS=["https://wazuh-indexer:9200"]
|
||||
- OPENSEARCH_USERNAME=admin
|
||||
- OPENSEARCH_PASSWORD=YourChosenStrongPassword!
|
||||
- OPENSEARCH_SSL_VERIFICATIONMODE=none
|
||||
- SERVER_SSL_ENABLED=true
|
||||
depends_on:
|
||||
wazuh-indexer:
|
||||
condition: service_healthy
|
||||
wazuh-manager:
|
||||
condition: service_started
|
||||
networks:
|
||||
- wazuh-net-demo
|
||||
|
||||
networks:
|
||||
wazuh-net-demo:
|
||||
driver: bridge
|
||||
|
||||
15
docker/docker-compose.yml
Normal file
15
docker/docker-compose.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mcp-server:
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- WAZUH_HOST=${WAZUH_HOST:-localhost}
|
||||
- WAZUH_PORT=${WAZUH_PORT:-55000}
|
||||
- WAZUH_USER=${WAZUH_USER:-admin}
|
||||
- WAZUH_PASS=${WAZUH_PASS:-admin}
|
||||
- VERIFY_SSL=${VERIFY_SSL:-false}
|
||||
- MCP_SERVER_PORT=${MCP_SERVER_PORT:-8000}
|
||||
restart: unless-stopped
|
||||
Reference in New Issue
Block a user