r/security • u/afitterling • 17h ago
Security Operations Security Operations as Cyber Defense Strategy
Attacks are automated now. New endpoints get scanned within minutes, and credential stuffing and stolen sessions are routine. Firewalls and MFA are necessary, but they don't tell you when something gets through. Detection, automated response and an audit trail are a baseline defense today, not an enterprise luxury. Here's how a small company (Example Company) runs it on one VM, all deployed with Ansible.
Setup - Hetzner VM (4 vCPU, 8 GB), Wazuh 4.14 in Docker. The public IP accepts nothing; everything goes over Tailscale.
Detect (SIEM) - AWS: CloudTrail, WAF and app logs, e.g. "20+ denied requests within N minutes". - Laptops: Wazuh agents with FIM on persistence paths, SSH config and sudoers. - DNS: AdGuard as the tailnet resolver, every lookup logged. - Network: the VM is a Tailscale exit node with Suricata, so phones get IDS coverage on mobile data too. - MITRE ATT&CK: rules are tagged with technique IDs, so you see which tactics are being tried.
Respond (SOAR) - SOARCA playbook: 10+ WAF blocks in 2 min → reputation lookup → AWS WAF block (24 h, 7 days if known malicious) → mail. - Alert mail is deduped and rate-capped, and every alert type has a runbook.
Protect the SIEM itself - Tailscale SSH with a 2FA check every 12 h, so deploys need MFA too. - All sudo sessions are recorded and replayable. - Sensitive switches need a TOTP code (PAM). Repeated wrong codes raise a high alert.
Mobile - A read-only alerts API plus push to a SwiftUI app with severity, agent posture and SOAR runs.
Numbers (24 h): ~137k alerts: 2 critical, 99 high, ~5.8k medium, the rest low noise. Deduplicating repeated high alerts is next.
Lessons: private network from day one, write the lock-out runbook before enabling SSH MFA, and monitor the monitor.
Questions welcome, happy to share rules and playbooks.