Skip to main content
Glama
wazuh_config.py2.89 kB
"""Wazuh configuration utilities for red team scenarios.""" from typing import Any def get_wazuh_server_config(range_id: str, vlan: int = 10, ip_last_octet: int = 100) -> dict[str, Any]: """Get Wazuh server configuration for a scenario. Uses the correct Ludus-specific role: aleemladha.wazuh_server_install See: https://docs.ludus.cloud/docs/roles/ """ return { "vm_name": f"{range_id}-wazuh-server-ubuntu22", "hostname": f"{range_id}-WAZUH", "template": "ubuntu-22.04-x64-server-template", "vlan": vlan, "ip_last_octet": ip_last_octet, "ram_gb": 8, "cpus": 4, "linux": True, "ansible_roles": [ { "name": "aleemladha.wazuh_server_install", "vars": { # Role-specific variables as needed # See role documentation for available vars }, }, ], } def add_wazuh_agent_to_vm(vm_config: dict[str, Any], wazuh_server_ip: str) -> dict[str, Any]: """Add Wazuh agent configuration to a VM.""" if "ansible_roles" not in vm_config: vm_config["ansible_roles"] = [] # Check if Wazuh agent role already exists # Use correct Ludus-specific role: aleemladha.ludus_wazuh_agent wazuh_role_exists = any( role.get("name") in ["aleemladha.ludus_wazuh_agent", "ludus.wazuh", "wazuh.wazuh"] for role in vm_config.get("ansible_roles", []) ) if not wazuh_role_exists: vm_config["ansible_roles"].append({ "name": "aleemladha.ludus_wazuh_agent", "vars": { "wazuh_manager_ip": wazuh_server_ip, # See role documentation for additional available vars }, }) return vm_config def get_wazuh_network_rules() -> list[dict[str, Any]]: """Get network rules for Wazuh communication.""" return [ { "name": "Allow Wazuh agents to manager (TCP 1514)", "vlan_src": "all", "vlan_dst": "all", "protocol": "tcp", "ports": 1514, "action": "ACCEPT", }, { "name": "Allow Wazuh agents to manager (UDP 1514)", "vlan_src": "all", "vlan_dst": "all", "protocol": "udp", "ports": 1514, "action": "ACCEPT", }, { "name": "Allow Wazuh API access (TCP 55000)", "vlan_src": "all", "vlan_dst": "all", "protocol": "tcp", "ports": 55000, "action": "ACCEPT", }, { "name": "Allow Wazuh Dashboard access (TCP 5601)", "vlan_src": "all", "vlan_dst": "all", "protocol": "tcp", "ports": 5601, "action": "ACCEPT", }, ]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tjnull/Ludus-FastMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server