<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Oomee Hussain</title>
    <description>The latest articles on DEV Community by Oomee Hussain (@oomee_hussain_f16f8096621).</description>
    <link>https://dev.to/oomee_hussain_f16f8096621</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4054069%2Ff20cd9ec-6a4a-40d7-b6a0-da287c95debe.png</url>
      <title>DEV Community: Oomee Hussain</title>
      <link>https://dev.to/oomee_hussain_f16f8096621</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oomee_hussain_f16f8096621"/>
    <language>en</language>
    <item>
      <title>My First SIEM Deployment: Logs, Lessons, and a Little Bit of Chaos</title>
      <dc:creator>Oomee Hussain</dc:creator>
      <pubDate>Thu, 30 Jul 2026 01:49:02 +0000</pubDate>
      <link>https://dev.to/oomee_hussain_f16f8096621/my-first-siem-deployment-logs-lessons-and-a-little-bit-of-chaos-2l0f</link>
      <guid>https://dev.to/oomee_hussain_f16f8096621/my-first-siem-deployment-logs-lessons-and-a-little-bit-of-chaos-2l0f</guid>
      <description>&lt;p&gt;My First SIEM Deployment: Logs, Lessons, and a Little Bit of Chaos&lt;br&gt;
If you’ve ever wondered what it feels like to stand up your very first SIEM, let me tell you: it’s a mix of excitement, confusion, triumph, and the occasional “why is this port closed again?” moment. This week, I finally dove into deploying a SIEM inside my CloudShare lab environment—and I’m here to tell the tale.&lt;/p&gt;

&lt;p&gt;Spoiler: nothing exploded. But a few things definitely caught fire metaphorically.&lt;/p&gt;

&lt;p&gt;Setting the Stage: My CloudShare Playground &amp;amp; Modifications&lt;br&gt;
I’ve been using CloudShare as my personal cybersecurity sandbox—a controlled multi-VM topology containing a Windows Server target, an Ubuntu Linux workstation, and our SIEM stack. Before deploying and ingesting telemetry into the SIEM, I made several specific environment modifications to ensure logs were generated and forwarded properly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Windows Server Audit Policies &amp;amp; Sysmon Deployment
Advanced Audit Policy: Enabled detailed auditing on the Windows Target via Group Policy (gpedit.msc -&amp;gt; Computer Configuration &amp;gt; Windows Settings &amp;gt; Security Settings &amp;gt; Advanced Audit Policy Configuration). Specifically enabled Audit Logon (Success/Failure) and Audit Process Creation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sysmon Installation: Installed System Monitor (Sysmon v14) with a custom configuration file (sysmonconfig-export.xml) to log process creation, network connections, and PowerShell activity into Microsoft-Windows-Sysmon/Operational.&lt;/p&gt;

&lt;p&gt;Command-Line Logging: Enabled Include command line in process creation events via Administrative Templates (System &amp;gt; Audit Process Creation) to capture complete execution strings.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Linux Syslog Forwarding (rsyslog)
To forward Linux system and authentication events to the SIEM over UDP port 514:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Modified /etc/rsyslog.conf on the Ubuntu VM to include the remote logging directive:&lt;br&gt;
&lt;em&gt;.&lt;/em&gt; @192.168.1.50:514 (using standard RFC 3164 syslog format).&lt;/p&gt;

&lt;p&gt;Restarted the rsyslog service: sudo systemctl restart rsyslog.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Network &amp;amp; Firewall Adjustments
Windows Defender Firewall: Added inbound rules to allow UDP port 514 (Syslog) and TCP port 5985/5986 (WinRM for event collection).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CloudShare Network Rules: Adjusted internal security groups to permit communication across port 514 (Syslog) and 1514/1515 (Agent-to-Manager communication).&lt;/p&gt;

&lt;p&gt;🛠️ Deploying the SIEM: The Moment of Truth&lt;br&gt;
I chose an approachable, lightweight open-source SIEM stack for this first run. The deployment process involved:&lt;/p&gt;

&lt;p&gt;Spinning up the SIEM Manager VM: Deployed the instance hosting the SIEM stack on CloudShare and updated system repositories.&lt;/p&gt;

&lt;p&gt;Agent Installation &amp;amp; Pairing: Installed agent software on both the Windows and Linux endpoints, connecting them securely to the manager IP over TCP port 1514.&lt;/p&gt;

&lt;p&gt;Log Source Configuration: Configured the manager to parse incoming Windows Event Logs (Security, System, Application, and Sysmon), alongside Linux /var/log/auth.log and /var/log/syslog.&lt;/p&gt;

&lt;p&gt;Validation: Verified log ingestion through the SIEM dashboard, confirming events were populating in real time.&lt;/p&gt;

&lt;p&gt;🔬 Running Experiments: AKA "Let's See What Breaks"&lt;br&gt;
Once everything was connected, I executed targeted simulations to see how the SIEM parsed, correlated, and alerted on raw telemetry.&lt;/p&gt;

&lt;p&gt;🧪 Experiment 1: RDP Brute Force Simulation&lt;br&gt;
Command/Tool Used: Executed Hydra from an attacker host to perform an automated dictionary attack against the Windows Server via RDP:&lt;br&gt;
hydra -l Administrator -P /usr/share/wordlists/rockyou.txt rdp://192.168.1.10&lt;/p&gt;

&lt;p&gt;Generated Logs &amp;amp; Alerts:&lt;/p&gt;

&lt;p&gt;Event ID 4625 (An account failed to log in) fired repeatedly in the Windows Security event log.&lt;/p&gt;

&lt;p&gt;Key log fields captured: TargetUserName: Administrator, WorkstationName, and IpAddress: 192.168.1.100.&lt;/p&gt;

&lt;p&gt;The SIEM correlated multiple threshold breaches into a High Severity Alert: Multiple Failed RDP Logon Attempts (Possible Brute Force).&lt;/p&gt;

&lt;p&gt;What I Learned: Threshold-based alerting is critical. Single failed logons happen all the time (typos!), but tracking event velocity (&amp;gt;10 failures in 60s) helps filter out noise from actual attack attempts.&lt;/p&gt;

&lt;p&gt;🧪 Experiment 2: Suspicious PowerShell Execution&lt;br&gt;
Command Used: Ran an encoded PowerShell payload on the Windows target to simulate obfuscated malicious execution:&lt;br&gt;
powershell.exe -e aT33eCAtRW5jb2RlZENvbW1hbmQ... (base64 encoded string)&lt;/p&gt;

&lt;p&gt;Generated Logs &amp;amp; Alerts:&lt;/p&gt;

&lt;p&gt;Sysmon Event ID 1 (Process Creation) logged the parent process (cmd.exe), child process (powershell.exe), and full command-line parameters.&lt;/p&gt;

&lt;p&gt;Windows Event ID 4104 (Script Block Logging) captured the decoded execution block.&lt;/p&gt;

&lt;p&gt;The SIEM generated a Medium-High Alert: Obfuscated PowerShell Execution Detected.&lt;/p&gt;

&lt;p&gt;What I Learned: Standard process logging isn't enough; command-line parameters and Sysmon Event ID 1 are vital for identifying attacker techniques like obfuscation and living-off-the-land binaries (LOLBins).&lt;/p&gt;

&lt;p&gt;🧪 Experiment 3: Linux Unauthorized SSH Access Attempt&lt;br&gt;
Command Used: Attempted invalid SSH logins against the Linux VM while monitoring local auth logs:&lt;br&gt;
ssh &lt;a href="mailto:invalid_user@192.168.1.20"&gt;invalid_user@192.168.1.20&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Generated Logs &amp;amp; Alerts:&lt;/p&gt;

&lt;p&gt;Captured directly in /var/log/auth.log:&lt;br&gt;
Failed password for invalid user invalid_user from 192.168.1.100 port 54321 ssh2&lt;/p&gt;

&lt;p&gt;Forwarded via rsyslog to the SIEM on UDP 514 and mapped to rule ID 5710 (Attempt to login using non-existent user).&lt;/p&gt;

&lt;p&gt;What I Learned: Syslog parsing rules rely heavily on regular expressions. Standardizing timestamps across Linux and Windows hosts (using UTC) is essential for proper event correlation.&lt;/p&gt;

&lt;p&gt;📊 What I Learned (Besides "Check Your Ports")&lt;br&gt;
Deploying a SIEM for the first time taught me a few important lessons:&lt;/p&gt;

&lt;p&gt;Log sources are everything. A SIEM without structured, detailed logs is like a detective without clues. Enabling Sysmon and Advanced Audit Policies made all the difference.&lt;/p&gt;

&lt;p&gt;Normalization matters. Windows Event IDs and Linux Syslog use completely different schema formats; the SIEM acts as the central translator that makes cross-platform correlation possible.&lt;/p&gt;

&lt;p&gt;Noise is real. Even a tiny 3-node lab generates thousands of events per hour. Fine-tuning baseline rules is necessary to prevent alert fatigue.&lt;/p&gt;

&lt;p&gt;Experimentation is the best teacher. Generating actual attacks in a controlled environment gives you direct insight into what SOC analysts see on the monitor during an incident.&lt;/p&gt;

&lt;p&gt;🚀 Final Thoughts: Would I Do It Again? Absolutely.&lt;br&gt;
Standing up my first SIEM felt like leveling up in my cybersecurity journey. It wasn’t perfect, and I definitely made my share of syntax and port mistakes, but that’s the beauty of a lab environment—it’s a safe place to learn, break things, and build confidence.&lt;/p&gt;

&lt;p&gt;Next up: tuning detections, writing custom rules, and suppressing false positives. But for now, I’m enjoying watching real-time logs stream across the dashboard!&lt;/p&gt;

&lt;p&gt;📚 References&lt;br&gt;
Microsoft Learn: Advanced Security Audit Policy Settings&lt;/p&gt;

&lt;p&gt;Microsoft Sysinternals: Sysmon v14.1 Documentation &amp;amp; Downloads&lt;/p&gt;

&lt;p&gt;RSYSLOG Documentation: Rsyslog Documentation &amp;amp; Configuration Reference&lt;/p&gt;

&lt;p&gt;MITRE ATT&amp;amp;CK: Technique T1110: Brute Force&lt;/p&gt;

&lt;p&gt;TripleTen Cybersecurity Program: Sprint 11 SIEM Deployment Lab Instructions&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>infosec</category>
      <category>security</category>
    </item>
  </channel>
</rss>
