Skip to main content
This project is currently in the design phase. The configurations described here are planning guidelines based on the conceptual architecture. Actual configuration details will be finalized during implementation.

Overview

After installing SOC components, proper configuration is essential for effective security operations. This guide covers initial configuration, integration points, data flow setup, and log forwarding rules.

Configuration Philosophy

Infrastructure as Code: All configurations should be version-controlled and repeatable. Use configuration management tools (Ansible, Terraform, PyInfra) to maintain consistency across environments.

Configuration Priorities

  1. Security first: Enable encryption, authentication, and authorization
  2. Integration: Ensure components communicate correctly
  3. Performance: Optimize for expected load and scale
  4. Observability: Configure logging and monitoring of SOC itself
  5. Maintainability: Document all custom configurations

Component Configuration

Core Configuration

File: /etc/elasticsearch/elasticsearch.yml

JVM Heap Configuration

File: /etc/elasticsearch/jvm.options

Index Templates for SOC Data

Create index templates for different log types:

Index Lifecycle Policy

Manage index retention and performance:
Adjust retention periods based on compliance requirements and storage capacity. Common retention: 90 days hot/warm, up to 7 years archived.

Main Configuration

File: /var/ossec/etc/ossec.conf

Agent Enrollment

On Wazuh Manager:
On Agent (endpoint):

Custom Detection Rules

File: /var/ossec/etc/rules/local_rules.xml
Rule tuning is an ongoing process. Start with default rules and customize based on your environment to reduce false positives.

Main Configuration

File: /etc/logstash/logstash.yml

Pipeline Configuration

File: /etc/logstash/conf.d/soc-pipeline.conf

Testing Pipeline

File: /etc/suricata/suricata.yaml

Rule Management

Custom Local Rules

File: /etc/suricata/rules/local.rules
IDS rule tuning is critical to reduce false positives. Plan for several weeks of baseline monitoring and rule adjustment.

Server Configuration

File: /etc/zabbix/zabbix_server.conf

Agent Configuration (on monitored hosts)

File: /etc/zabbix/zabbix_agentd.conf

SOC-Specific Monitoring Templates

Monitor SOC infrastructure itself:
  • Elasticsearch cluster health
  • Wazuh manager status and agent count
  • Logstash pipeline throughput
  • IDS sensor CPU and packet drop rate
Create custom Zabbix templates for these components or use community templates.

Main Configuration

File: /etc/prometheus/prometheus.yml

Alert Rules

File: /etc/prometheus/rules/soc-alerts.yml

Main Configuration

File: /etc/thehive/application.conf

Cortex Configuration

File: /etc/cortex/application.conf

Integration Points

Data Flow Configuration

The SOC architecture follows this data flow:
  1. Endpoints → IDS/Agents → Logstash → Elasticsearch → Wazuh Dashboard
  2. Alerts (high severity) → TheHive → Cortex → Automated Response
  3. Infrastructure metrics → Zabbix/Prometheus → Dashboards

Integration Matrix

Log Forwarding Rules

Wazuh Agent Log Collection

On endpoints - configure what logs to collect:

Syslog Forwarding to Logstash

On network devices (firewalls, switches, routers):

Filebeat for Application Logs

File: /etc/filebeat/filebeat.yml

Security Configuration

SSL/TLS Certificates

1

Generate CA Certificate

2

Generate Component Certificates

3

Distribute Certificates

  • Install CA certificate on all SOC components
  • Configure each component to use its certificate
  • Enable TLS/SSL in component configurations

Authentication and Authorization

Implement role-based access control (RBAC) for all SOC components:
  • SOC Analysts: Read access to dashboards, create/update incidents
  • SOC Engineers: Configure rules, manage integrations
  • SOC Managers: Full administrative access, reporting
  • Auditors: Read-only access to all data

Testing and Validation

End-to-End Data Flow Test

1

Generate Test Event on Endpoint

2

Verify in Wazuh Manager

3

Verify in Elasticsearch

4

Verify in Wazuh Dashboard

Access Wazuh dashboard and search for “SOC data flow” in Discover view.

IDS Alert Test

Performance Tuning

Elasticsearch Optimization

  • Refresh interval: Increase for bulk indexing (30s instead of 1s)
  • Bulk size: Optimize Logstash batch size (125-500)
  • Shard sizing: Target 20-50 GB per shard
  • Replica timing: Add replicas after initial data load

Wazuh Manager Optimization

Configuration Management

Best Practice: Store all configurations in Git repository
  • Track changes over time
  • Enable rollback if configuration causes issues
  • Document why configuration changes were made
  • Review configuration changes through pull requests

Example Repository Structure

Configuration Checklist

Before going to production:
  • All components configured and tested individually
  • Integrations between components verified
  • SSL/TLS enabled for all network communication
  • Authentication and RBAC configured
  • Log forwarding from all sources working
  • Data flow end-to-end tested
  • Alert rules tuned and false positives minimized
  • Dashboards created for SOC analysts
  • Performance tuning completed
  • Configurations version-controlled in Git
  • Backup and restore procedures tested
  • Monitoring of SOC infrastructure enabled
  • Documentation updated with final configurations
  • Team trained on configuration changes

Next Steps

With configuration complete:
  1. Begin operational tuning and baseline establishment
  2. Develop playbooks for common security events
  3. Train SOC team on using the platform
  4. Establish metrics and KPIs for SOC effectiveness
  5. Plan regular configuration reviews and updates
Configuration is an iterative process. Plan for continuous tuning based on operational experience, new threats, and changing infrastructure.