Kalos Cybersecurity LLC

Chapter 3

Chapter 3 — Building the Wazuh Security Operations Center Laboratory

Good Findings Fast with Wazuh, Suricata and More

Part II — Building the Security Operations Center Laboratory

Chapter 3 — Building the Wazuh Security Operations Center Laboratory

Chapter Overview

Cybersecurity professionals rarely investigate attacks on production systems while learning new technologies. Instead, they build controlled laboratory environments where they can safely generate attacks, validate detections, troubleshoot problems, and improve investigative skills without affecting organizational operations. Throughout the remainder of this textbook, you will build and operate your own Security Operations Center using enterprise security software.

Unlike many instructional books that rely upon screenshots of preconfigured environments, every alert, dashboard, detection, and investigation described in this textbook will originate from your own laboratory. You will generate the telemetry. You will validate the detections. You will troubleshoot failures. You will investigate the alerts.

By the end of this book, your laboratory will resemble a small enterprise SOC capable of monitoring Windows endpoints, Linux systems, and network traffic using Wazuh, Sysmon, Suricata, and Emerging Threats Open. More importantly, you will understand why every component exists and how each contributes to the overall security monitoring pipeline.

Learning Objectives

After completing this chapter, you should be able to:

  • Explain the purpose of a cybersecurity laboratory.

  • Describe the complete architecture of the Wazuh SOC laboratory.

  • Identify the role of every virtual machine.

  • Explain the telemetry flow between systems.

  • Configure a repeatable VMware networking environment.

  • Validate communication between laboratory systems.

  • Troubleshoot common laboratory problems before they affect investigations.

Introduction

One of the defining characteristics of successful cybersecurity professionals is that they build reliable laboratories. A poorly designed lab creates frustration. A well-designed lab accelerates learning. Students often believe cybersecurity laboratories exist simply to provide systems to attack. Professional analysts understand something much more important. A laboratory is an environment where hypotheses can be tested repeatedly under controlled conditions. Consider a chemist. A chemist does not perform experiments inside a manufacturing plant. Instead, experiments occur inside a laboratory where variables can be controlled. Cybersecurity laboratories serve exactly the same purpose.

Why Build Your Own SOC?

There are many publicly available cloud laboratories and online demonstrations.

Why not simply use those?

Because learning occurs most effectively when you control the environment.

Throughout this textbook, you will repeatedly modify:

  • Detection rules

  • Agent configurations

  • Sysmon configuration

  • Suricata rules

  • Emerging Threats signatures

  • Dashboard searches

  • Wazuh decoders

  • Active Response

  • File Integrity Monitoring

  • Vulnerability Detection

Those activities require administrative control. Building your own laboratory gives you complete visibility into every component.

Laboratory Design Goals

The laboratory used in this textbook was designed around several objectives.

Simplicity

Students should understand every component. No unnecessary complexity.

Repeatability

Every student should build essentially the same environment. This simplifies troubleshooting and classroom instruction.

Realism

Although simplified, the architecture closely resembles enterprise deployments.

Expandability

Later chapters will add:

  • Additional Windows systems

  • Kali Linux

  • Active Directory

  • Web Servers

  • Vulnerability Scanners

  • Zeek

  • pfSense

  • Docker workloads

  • Cloud telemetry

The foundation built here supports later expansion.

Analyst Corner

One of the biggest differences between hobbyists and professionals is documentation.

Professional SOC engineers document:

  • IP addresses

  • Hostnames

  • Operating systems

  • Installed software

  • Network topology

  • Configuration changes

  • Software versions

When something breaks three weeks later, documentation becomes invaluable. Throughout this textbook, you will maintain your laboratory exactly as an enterprise administrator would.

Laboratory Components

Our environment consists of five primary systems.

System Purpose
Wazuh Server v4.14.5 SIEM Platform
Ubuntu 26.04 (dual-NIC) Suricata Network Sensor / Wazuh Agent
Security Onion 14 Comparative NIDS Platform
VMware Workstation Virtual Infrastructure

Each machine performs a distinct function. None are redundant.

The Wazuh Server

The Wazuh Server forms the operational center of the SOC.

Responsibilities include:

  • Receiving telemetry

  • Running detection rules

  • Decoding events

  • Correlation

  • Dashboard services

  • Indexing

  • Agent management

Every investigation eventually reaches the Wazuh Server.

Ubuntu Network Sensor

Ubuntu performs two independent roles.

Endpoint

The Ubuntu machine runs a Wazuh Agent. It behaves like any monitored Linux endpoint.

Network Sensor

The same Ubuntu system runs Suricata. One network interface operates in promiscuous mode, allowing Suricata to inspect packets traversing the monitored network (Open Information Security Foundation, n.d.).

Emerging Threats Open signatures evaluate those packets and generate alerts written to:

/var/log/suricata/eve.json

The Wazuh Agent forwards those alerts to the Wazuh Manager.

Windows 11 Endpoint

The Windows workstation represents a standard enterprise endpoint.

Installed software includes:

  • Windows 11 Pro

  • Wazuh Agent

  • Sysmon

  • Microsoft Defender

Together these components generate rich endpoint telemetry including:

  • Process creation

  • Network connections

  • DNS queries

  • File creation

  • Malware detection

  • Authentication events

Security Onion

Security Onion is included for comparison (Security Onion Solutions, n.d.).

Students frequently ask:

Which platform is better?

Rather than answering that question philosophically, the laboratory allows students to compare both environments using identical network traffic.

Throughout later chapters students will compare:

  • Alert generation

  • Dashboards

  • Network visibility

  • Investigation workflow

  • Detection quality

  • Ease of administration

Understanding multiple platforms prepares students for diverse enterprise environments.

VMware Workstation

VMware provides the infrastructure supporting the laboratory.

Benefits include:

  • Snapshots

  • Cloning

  • Isolated networking

  • Repeatability

  • Easy recovery

  • Resource management

Professional analysts rely heavily on virtualization because environments can be restored within minutes after mistakes or malware testing.

Figure 3-1

Complete Laboratory Topology

Figure

Note. The diagram identifies the primary components of complete Laboratory Topology and shows how they connect, exchange data, and support security operations.

WAZUH SERVER Manager Indexer Dashboard

Figure 3-2

Secure Agent Communication

Figure

Note. The figure summarizes secure Agent Communication and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Integrating Emerging Threats Open

One enhancement over many introductory Wazuh labs is the inclusion of Emerging Threats Open (ET Open) as a first-class component of the architecture (Proofpoint, n.d.). Instead of treating the rule set as an afterthought, students will learn that ET Open is an integral part of the network detection pipeline.

The workflow is:

Figure 3-3

From Network Packet to SOC Analyst

Figure

Note. The sequence traces how Network Packet progresses to SOC Analyst, emphasizing the intermediate evidence and processing steps.

Throughout later chapters, students will learn not only how to update ET Open, but also how to:

  • Read rule syntax.

  • Enable and disable rules.

  • Suppress noisy signatures.

  • Tune HOME_NET and EXTERNAL_NET.

  • Write custom Suricata signatures.

  • Validate detections using controlled attacks.

Chapter Roadmap

Chapter 3 is intentionally different from the conceptual chapters that preceded it. It marks the transition from theory to implementation. Over the next sections, students will:

  • Design the virtual network.

  • Assign IP addresses and hostnames.

  • Build the Wazuh Server.

  • Configure Ubuntu 26.04.

  • Install the Wazuh Agent.

  • Install Suricata.

  • Configure Emerging Threats Open.

  • Install Windows 11.

  • Configure Sysmon.

  • Validate the complete telemetry pipeline.

  • Perform the first end-to-end SOC health verification.

By the end of Chapter 3, every student will have a fully operational SOC lab capable of generating, collecting, correlating, and investigating security telemetry—the foundation for all subsequent detection engineering, threat hunting, and incident response exercises.

3.1 Laboratory Planning and Design

Learning Objectives

After completing this section, you should be able to:

  • Explain why planning is essential before deploying a SOC.

  • Design a repeatable virtual infrastructure.

  • Develop a logical IP addressing scheme.

  • Understand host naming conventions.

  • Document a cybersecurity laboratory using professional engineering practices.

Introduction

One of the most common mistakes made by beginning cybersecurity students is starting installations immediately.

The process often looks like this:

  • Install Windows.

  • Install Ubuntu.

  • Install Wazuh.

  • Install Suricata.

  • Hope everything works.

Professional engineers work differently. They plan first. Large organizations may spend weeks designing infrastructure before installing a single operating system. Although our laboratory is much smaller, the engineering methodology remains exactly the same. Good planning reduces installation problems, simplifies troubleshooting, and creates an environment that can be expanded throughout the remainder of the textbook.

Engineering Before Installation

Imagine constructing a hospital.

Would construction begin before creating architectural drawings?

Of course not. Cybersecurity laboratories deserve the same level of planning.

Before installing software, engineers answer questions such as:

  • Which systems are required?

  • How will they communicate?

  • Which IP addresses will they use?

  • Which systems monitor traffic?

  • Which components require Internet access?

  • Which systems generate telemetry?

  • Which services depend upon other services?

Only after answering these questions does installation begin.

Analyst Corner

One habit has consistently distinguished successful cybersecurity professionals throughout my career:

They document everything. Documentation is not busy work. Documentation is a troubleshooting tool.

Three weeks after building a laboratory, you should be able to answer questions such as:

  • Which version of Ubuntu am I running?

  • Which IP address belongs to Suricata?

  • Which interface operates in promiscuous mode?

  • Which Emerging Threats rule set is installed?

  • Which version of Sysmon am I using?

  • Which Wazuh Agent version is installed?

If you cannot answer those questions quickly, your documentation is incomplete.

Laboratory Design Principles

Throughout this textbook, the laboratory follows six engineering principles.

Principle 1 — Simplicity

Every component should have a clearly defined purpose. Avoid unnecessary systems. If a machine contributes no operational value, it does not belong in the laboratory.

Principle 2 — Consistency

Every student should use:

  • Similar hostnames

  • Similar IP addresses

  • Similar operating systems

  • Similar software versions

Consistency greatly simplifies classroom troubleshooting.

Principle 3 — Repeatability

A professional laboratory should be reproducible. If the entire environment is lost, you should be able to rebuild it using only your documentation. This is one reason virtualization is so valuable.

Principle 4 — Isolation

The laboratory should remain isolated from production networks whenever possible.

Students will intentionally generate:

  • Malware detections

  • Port scans

  • Password attacks

  • PowerShell activity

  • Network reconnaissance

  • DNS testing

These activities should remain within the controlled environment.

Principle 5 — Expandability

Today’s four-machine laboratory becomes tomorrow’s enterprise network.

Later chapters will introduce:

  • Active Directory

  • Multiple Windows endpoints

  • Kali Linux

  • Linux servers

  • Web servers

  • Vulnerability scanners

  • Docker containers

  • Cloud logging

  • Zeek

  • pfSense

A good design anticipates future growth.

Principle 6 — Validation

Every installation step concludes with verification. Never assume a configuration works simply because no error appeared. Generate telemetry. Verify alerts. Confirm communication. Trust evidence—not assumptions.

Laboratory Documentation

Professional engineers maintain infrastructure documentation. Throughout this textbook, students will create and maintain a SOC Engineering Notebook.

The notebook records:

Category Information
Hostnames Every system name
IP Addresses IPv4 and IPv6 assignments
Operating Systems Version and build
Installed Software Versions and installation dates
Network Interfaces Interface names and roles
Snapshots VMware snapshot history
Configuration Changes Date, change, reason
Problems Encountered Symptoms and resolution

This notebook becomes one of the most valuable tools in the course.

Host Naming Standards

Large organizations rarely name computers randomly. Compare these examples.

Poor naming:

Computer1

Ubuntu

Jim-PC

Windows

LinuxBox

Professional naming:

WAZUH-SRV

UB2604

WIN11

SO14

Immediately, the second naming convention communicates purpose. Throughout this textbook we will use consistent naming standards.

IP Address Planning

Good network design begins with predictable addressing. Throughout this textbook we use a dedicated laboratory subnet.

Example:

Host Interface IPv4 Address
WAZUH-SRV ens32 192.168.1.30
Security Onion eth0 192.168.1.20
Security Onion eth1 (sniffing) No IP
Ubuntu Sensor ens160 (management) 192.168.1.10
Ubuntu Sensor ens192 (promiscuous) none — silent capture
Windows 11 Ethernet 192.168.1.40
VMware Gateway 192.168.1.1

Students should avoid relying on DHCP whenever possible. Static addressing improves troubleshooting and documentation.

Figure 3-4

Laboratory Address Plan

Figure

Note. The figure summarizes laboratory Address Plan and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

As additional systems are introduced, addresses remain predictable.

Network Interface Documentation

One lesson learned from our own laboratory development is that network interfaces matter. For example, the Ubuntu sensor contains two interfaces.

Interface IPv4 Address Purpose
ens160 192.168.1.10 Management and Internet access
ens192 none Suricata monitoring (Promiscuous Mode)

Note that in this laboratory ens192 carries no IP address and runs in promiscuous mode — the silent sensor design introduced in Chapter 1. The interface receives every frame on the segment but cannot itself be addressed. Security Onion’s dedicated sniffing interface (eth1) uses the same design. What differs between the two is role, not addressing: UB2604 is a dual-homed host that also captures, while SO14 is a dedicated capture appliance.

Students should document:

  • Interface names

  • MAC addresses

  • IP addresses

  • Connected virtual network

  • Operational purpose

Failure to document interfaces is one of the most common causes of Suricata troubleshooting problems.

SOC Tip

Do not refer to interfaces as “the first adapter” or “the second NIC.”

Instead, always use their actual Linux names:

  • ens160

  • ens192

Professional documentation should be precise enough that another administrator can identify the correct interface immediately.

Version Control

Another hallmark of professional engineering is version tracking.

Throughout the course, students will record:

Component Example
Ubuntu 26.04 LTS
Wazuh 4.14.5
Suricata 8.0.6
Emerging Threats Open Current daily snapshot
Sysmon Current release
Windows 11 Current supported build
Security Onion 14

When troubleshooting, version information is often just as important as configuration.

Think Like a SOC Engineer

Suppose another instructor asks you to duplicate your laboratory.

Could you rebuild it using only your documentation?

If the answer is no, your documentation is incomplete.

Professional engineers create environments that are:

  • Repeatable

  • Understandable

  • Maintainable

  • Expandable

  • Recoverable

Those five characteristics will guide the design of every system throughout this textbook.

Looking Ahead

With the laboratory design complete, the next section begins building the virtual infrastructure itself. Students will learn how to configure VMware networking, choose the appropriate virtual network modes, assign adapters, create snapshots, allocate CPU and memory resources, and prepare each virtual machine for installation. By the end of the next section, the virtual foundation of the Security Operations Center will be complete and ready for operating system deployment.

3.2 Virtualization — The Foundation of the Modern Security Operations Center

Learning Objectives

After completing this section, you should be able to:

  • Explain why virtualization is fundamental to cybersecurity.

  • Describe the advantages of VMware Workstation for SOC laboratories.

  • Differentiate between virtual machines, virtual networks, and virtual switches.

  • Understand resource planning for a multi-system laboratory.

  • Explain why snapshots are one of the most valuable cybersecurity tools available.

Introduction

Nearly every modern Security Operations Center relies heavily on virtualization. Whether deployed in a university laboratory, a corporate data center, or a cloud environment, security professionals routinely investigate systems that exist entirely as virtual machines. Virtualization has transformed cybersecurity by allowing analysts to rapidly deploy, modify, clone, snapshot, destroy, and rebuild complete computing environments within minutes. Without virtualization, building a Security Operations Center would require multiple physical servers, networking equipment, storage systems, and considerable financial investment. Instead, our entire SOC operates on a single workstation.

What Is Virtualization?

Virtualization is the process of creating software-based computers that behave exactly like physical computers.

Each virtual machine has its own:

  • CPU

  • Memory

  • Storage

  • Network adapters

  • BIOS/UEFI

  • Operating system

  • Applications

  • Security software

To the operating system, there is no practical difference between running on physical hardware or virtual hardware. Windows believes it is installed on a real computer. Ubuntu believes it is installed on a real computer. Suricata has no knowledge that the packets it analyzes originate from virtual network adapters. This abstraction makes virtualization one of the most important technologies in modern cybersecurity.

Figure 3-5

Physical vs. Virtual Infrastructure

Figure

Note. The figure organizes the major elements of physical vs. Virtual Infrastructure to clarify their roles, relationships, and escalation or inheritance paths.

| --- |

One physical computer now hosts an entire Security Operations Center.

Why Virtualization Changed Cybersecurity

Virtualization offers several significant advantages.

Rapid Deployment

Creating a new server often requires only a few minutes. No physical hardware needs to be purchased.

Safe Malware Testing

Students will intentionally generate:

  • Malware detections

  • PowerShell alerts

  • Port scans

  • Network attacks

  • Authentication attacks

Virtual machines isolate these activities from production systems.

Repeatability

If something breaks, restore a snapshot. The laboratory immediately returns to a known-good configuration.

Cost Reduction

A four-system SOC laboratory requiring thousands of dollars in hardware can be operated from a single workstation.

Easy Recovery

Mistakes become learning opportunities rather than disasters. Snapshots allow complete recovery within minutes.

Analyst Corner

One phrase you’ll hear throughout this course is:

“Take a snapshot before making changes.” Professional SOC engineers never perform major upgrades without first creating a recovery point. Snapshots have saved countless hours of rebuilding laboratories after configuration mistakes, failed software updates, or accidental deletions. If you develop only one virtualization habit from this textbook, make it this one.

Understanding the Hypervisor

A hypervisor is the software responsible for creating and managing virtual machines.

Examples include:

Hypervisor Common Usage
VMware Workstation Desktop laboratories
VMware ESXi Enterprise data centers
Microsoft Hyper-V Windows environments
Oracle VirtualBox Education and home labs
Proxmox VE Enterprise homelabs
KVM Linux servers

Throughout this textbook we use VMware Workstation because it provides:

  • Excellent stability

  • Robust snapshot management

  • Flexible virtual networking

  • Strong hardware compatibility

  • Enterprise-quality virtualization

VMware Components

Students often think VMware simply “runs virtual machines.” It actually provides several independent technologies.

Component Purpose
Virtual Machine Simulated computer
Virtual Disk Simulated hard drive
Virtual Network Adapter Simulated network card
Virtual Switch Connects virtual machines
Snapshot Manager Recovery system
Virtual BIOS/UEFI Hardware initialization
VM Configuration File Hardware definition

Understanding these components greatly simplifies troubleshooting.

Hardware Resource Planning

Unlike physical computers, virtual machines share hardware resources. Proper planning prevents performance problems.

Recommended minimum resources for our laboratory:

Virtual Machine vCPU Memory Storage
WAZUH-SRV 8 16 GB 250 GB
Ubuntu Sensor 4 8 GB 80 GB
Windows 11 4 8 GB 100 GB
Security Onion 8 16 GB 200 GB

Host computer recommendation:

Resource Recommended
Memory 64 GB RAM
SSD 1 TB NVMe
VMware Current Version

These recommendations provide sufficient resources for smooth laboratory operation while leaving capacity for future expansion.

Resource Overcommitment

Virtualization allows more virtual CPUs and memory to be assigned than physically exist. This is called overcommitment.

While useful in enterprise environments, excessive overcommitment can lead to:

  • Slow virtual machines

  • Delayed alerts

  • Dropped packets

  • Missed Suricata detections

  • Poor user experience

Throughout this textbook we intentionally allocate conservative resources to ensure consistent performance.

Understanding Virtual Hardware

Every virtual machine receives simulated hardware.

Windows and Ubuntu detect devices such as:

  • Network adapters

  • Hard disks

  • Display adapters

  • USB controllers

  • Firmware

  • Sound devices (optional)

Although simulated, these devices behave much like physical hardware.

For example, Ubuntu identifies virtual NICs using predictable names such as:

ens160 ens192

These interface names become important when configuring Suricata.

The Importance of Snapshots

Snapshots are perhaps the single greatest advantage of virtualization.

A snapshot records:

  • Virtual disks

  • Memory state (optional)

  • Virtual hardware configuration

  • Machine state

Before making major changes, create a snapshot.

Examples include:

  • Installing Wazuh

  • Updating Ubuntu

  • Modifying Sysmon

  • Editing Suricata configuration

  • Changing HOME_NET

  • Installing Emerging Threats

  • Testing malware

If something goes wrong, restore the snapshot. Recovery typically requires only minutes.

Figure 3-6

Snapshot Workflow

Figure

Note. The workflow presents the ordered stages of snapshot Workflow and highlights the validation and feedback steps that make the process repeatable.

Snapshots encourage experimentation because mistakes become reversible.

Snapshot Naming Standards

Professional engineers use meaningful snapshot names.

Poor examples:

Snapshot 1

Backup

Today

Test

Better examples:

Fresh Windows Install

Before Sysmon Installation

Before Wazuh Agent

Before Suricata Install

After ET Rules Configured

Lab 3 Completed

Consistent naming saves time during recovery.

Common Student Mistake

Students often create one snapshot at the beginning of the semester and never create another.

Professional engineers create snapshots:

  • Before upgrades

  • Before software installations

  • Before configuration changes

  • Before malware testing

  • Before laboratory exercises involving significant risk

Snapshots are part of normal operational workflow—not emergency recovery.

Best Practice

Maintain at least three important snapshots for every virtual machine:

Snapshot Purpose
Clean Installation Operating system only
Software Installed Major applications installed
Current Stable Configuration Ready for classroom exercises

This strategy allows recovery to multiple stages of the laboratory lifecycle.

Think Like a SOC Engineer

Imagine your Suricata configuration becomes corrupted immediately before a classroom demonstration. If you created a snapshot five minutes earlier, recovery requires less than a minute. Without a snapshot, you may spend hours rebuilding the system. Professional engineers plan for failure before failure occurs.

Looking Ahead

With virtualization understood, the next section explores one of the most important—and most misunderstood—topics in cybersecurity laboratories:

Virtual networking. Students will learn how VMware virtual switches work, the differences between Bridged, NAT, and Host-Only networking, why promiscuous mode matters for network intrusion detection, and how to design a network that allows Suricata to observe the traffic it must inspect. This networking foundation will directly support the installation and validation of Suricata, Wazuh, and the complete telemetry pipeline later in the chapter.

3.3 VMware Virtual Networking

Learning Objectives

After completing this section, you should be able to:

  • Explain how virtual networking operates within VMware Workstation.

  • Differentiate between Bridged, NAT, and Host-Only networking.

  • Understand how virtual switches forward traffic.

  • Explain why network architecture directly affects IDS visibility.

  • Design a VMware network suitable for a Security Operations Center laboratory.

Introduction

Computers cannot investigate network traffic unless they can see network traffic. That statement sounds obvious. However, it is one of the most misunderstood concepts in beginner cybersecurity laboratories. Students often install Suricata correctly. The Emerging Threats rules load successfully. The Wazuh Agent runs normally. Everything appears operational. Yet no alerts are generated. The problem usually isn’t Suricata. The problem is that Suricata never receives the packets. Before configuring any Network Intrusion Detection System (NIDS), we must understand how packets move through VMware virtual networks.

Virtual Networks

Inside VMware Workstation, virtual machines communicate through virtual switches. A virtual switch behaves much like a physical Ethernet switch.

It:

  • Connects devices.

  • Learns MAC addresses.

  • Forwards Ethernet frames.

  • Separates broadcast domains.

  • Maintains Layer 2 connectivity.

The difference is that everything occurs in software.

Figure 3-7

VMware Virtual Switch

Figure

Note. The figure summarizes vMware Virtual Switch and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Understanding VMnet Networks

VMware creates several virtual networks.

The most common are:

Network Purpose
VMnet0 Bridged
VMnet1 Host-Only
VMnet8 NAT

Additional VMnets may be created for specialized laboratory environments. Each virtual machine connects one or more virtual network adapters to one of these virtual networks.

Bridged Networking

In Bridged Mode, the virtual machine appears as an independent device on the physical network.

The VM receives:

  • Its own MAC address.

  • Its own IP address.

  • Direct Layer 2 connectivity.

  • Visibility from other devices.

Example:

Physical Switch

Figure 3-8

VMware Networking Modes

Figure

Note. The figure summarizes vMware Networking Modes and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

──────────────

Host PC

──────────────

VMware Bridge

──────────────

Windows VM

Ubuntu VM

Wazuh VM

Each VM behaves like a separate physical computer.

Advantages

Bridged networking provides:

  • Full network visibility.

  • Easy communication.

  • Realistic enterprise behavior.

  • Support for IDS monitoring.

For this reason, Bridged networking is frequently used for cybersecurity laboratories.

NAT Networking

Network Address Translation (NAT) behaves differently. Instead of exposing every VM directly to the physical network, VMware acts as a router.

Internet

Host Computer

VMware NAT

──────────────

Virtual Machines

Advantages:

  • Internet access.

  • Easy configuration.

  • Additional isolation.

Disadvantages:

  • Less realistic enterprise topology.

  • Some packet visibility limitations.

Host-Only Networking

Host-Only networks are completely isolated.

Host Computer

VMnet1

──────────────

Windows VM

Ubuntu VM

Wazuh VM

No Internet access exists unless additional routing is configured.

Host-Only mode is useful for:

  • Malware analysis

  • Isolated attack labs

  • Offline experimentation

Comparing Network Modes

Feature Bridged NAT Host-Only
Internet Access Yes Yes No
Visible on Physical LAN Yes No No
Receives DHCP from LAN Yes No No
Suitable for Enterprise Simulation Excellent Good Limited
Malware Isolation Low Medium High

No mode is universally “best.” The correct choice depends on laboratory objectives.

Analyst Corner

Students often ask:

“Which VMware network mode should I use?”

The answer is:

Use the network mode that supports your learning objective. Throughout this textbook, we intentionally use multiple network modes because professional environments rarely rely on only one. Understanding the strengths and limitations of each mode is far more valuable than memorizing a single configuration.

Multiple Network Adapters

One of the strengths of virtualization is that a single virtual machine may contain multiple network adapters. Our Ubuntu sensor uses this capability extensively.

Example:

Adapter Purpose
ens160 Management
ens192 Network Monitoring

These adapters perform entirely different jobs. Management traffic should never interfere with packet capture.

Figure 3-9

Dual-Homed Ubuntu Sensor

Figure

Note. The figure summarizes dual-Homed Ubuntu Sensor and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

This design closely resembles enterprise network sensors.

Why Suricata Needs Visibility

Remember one fundamental principle. Suricata cannot inspect packets it never receives. Imagine placing a security camera inside a room.

Can it monitor activity occurring outside the building?

Of course not. Network Intrusion Detection Systems behave similarly. Visibility determines detection capability.

Packet Flow

Consider a simple web request.

Figure 3-10

From Windows Browser to Dashboard

Figure

Note. The sequence traces how Windows Browser progresses to Dashboard, emphasizing the intermediate evidence and processing steps.

Every laboratory exercise later in this textbook follows this exact path. Understanding it now greatly simplifies troubleshooting later.

Promiscuous Mode

By default, network interfaces accept only packets addressed to themselves. Promiscuous mode changes this behavior.

When enabled, the interface accepts:

  • Unicast traffic

  • Broadcast traffic

  • Multicast traffic

  • Packets not specifically addressed to the interface (subject to the virtual networking architecture)

For Suricata, this greatly expands packet visibility.

Important Clarification

Many beginning analysts believe that enabling promiscuous mode alone allows an interface to see all network traffic. This is not correct. Promiscuous mode only allows the interface to accept packets that actually reach it. If the virtual switch never forwards the traffic to the monitoring interface, Suricata cannot inspect it regardless of the interface mode. Visibility is determined by both the network architecture and the interface configuration.

Figure 3-11

Packet Visibility

Figure

Note. The figure summarizes packet Visibility and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Why We Use Two Interfaces

Earlier in the textbook you configured Ubuntu with two network adapters. This design is intentional.

Interface Responsibility
ens160 System management, updates, Wazuh Agent communication
ens192 Dedicated packet monitoring for Suricata

Separating management traffic from monitoring traffic provides several advantages:

  • Easier troubleshooting

  • Improved security

  • Better performance

  • More realistic enterprise architecture

  • Simplified packet capture

This mirrors how many production network sensors are deployed.

Common Student Mistake

Students often configure Suricata to monitor the wrong interface.

Symptoms include:

  • No alerts in eve.json

  • Empty packet counters

  • Wazuh receives no Suricata alerts

  • tcpdump shows no traffic

Before modifying rules or reinstalling software, always verify:

  • The correct interface is selected.

  • The interface is up.

  • The interface is receiving traffic.

  • The expected packets actually traverse that network.

Many hours of troubleshooting can be avoided by validating these fundamentals first.

SOC Tip

Whenever Suricata appears “broken,” work backward through the packet path:

  • Was the traffic generated?

  • Did it traverse the correct VMware network?

  • Did the virtual switch forward it?

  • Did ens192 receive it?

  • Did tcpdump observe it?

  • Did Suricata inspect it?

  • Was an alert written to eve.json?

  • Did the Wazuh Agent forward the alert?

  • Did the Wazuh Manager process it?

  • Did the Dashboard display it?

This troubleshooting methodology reflects the same disciplined telemetry validation process introduced in Chapters 1 and 2.

Best Practice

Before installing Suricata, verify your virtual networking. A correctly configured IDS with poor network visibility is ineffective. Conversely, a modest IDS with excellent visibility often provides outstanding detection capability (Scarfone & Mell, 2007). Visibility always precedes detection.

Looking Ahead

With the virtual network architecture complete, the next section begins preparing the Wazuh Server itself. Students will learn how to validate the server, verify required services, understand the Wazuh directory structure, identify critical configuration files, and establish the baseline operational checks that will be performed before every future laboratory exercise. From this point forward, the textbook transitions fully into hands-on system construction using the exact SOC environment developed throughout this project.

3.4 Understanding the Wazuh Server

Learning Objectives

After completing this section, you should be able to:

  • Describe the role of the Wazuh Server within the SOC.

  • Identify the major Wazuh services.

  • Locate critical Wazuh directories.

  • Understand where configuration files are stored.

  • Perform baseline operational health checks.

  • Recognize common service failures before beginning an investigation.

Introduction

Every Security Operations Center has a central nervous system. In our laboratory, that system is the Wazuh Server. This section assumes the Wazuh Server has already been built and is reachable on the network. If you have not yet installed the Wazuh central components (Manager, Indexer, and Dashboard), complete Appendix A — Building the Complete Enterprise Cybersecurity Lab before continuing. Appendix A walks through the official Wazuh installation assistant end to end; this chapter picks up from that point to validate, operate, and integrate the server into the SOC (Wazuh, Inc., n.d.-b). Although students often focus on the Dashboard because it is visually appealing, the Dashboard is only one small part of the overall platform.

The Wazuh Server performs the critical operational work:

  • Receiving telemetry

  • Decoding logs

  • Applying detection rules

  • Managing agents

  • Coordinating active response

  • Storing indexed data

  • Presenting information through the Dashboard

If the server is unhealthy, every downstream component suffers. For this reason, experienced analysts begin each day by validating the health of the Wazuh Server before reviewing alerts.

The Wazuh Server Is More Than One Service

Many beginning students think of Wazuh as a single application. In reality, several services work together to provide a complete SIEM platform.

In our laboratory, the primary services are:

Service Purpose
wazuh-manager Processes telemetry, decodes events, evaluates rules
wazuh-indexer Stores and indexes security data
wazuh-dashboard Provides the web interface
Filebeat (if deployed) Forwards data between components

Each service has a unique responsibility. If one service fails, the symptoms observed by the analyst will differ. Understanding these responsibilities greatly simplifies troubleshooting.

Figure 3-12

Wazuh Service Architecture

Figure

Note. The diagram identifies the primary components of wazuh Service Architecture and shows how they connect, exchange data, and support security operations.

This architecture should now be familiar. The difference is that students will soon begin interacting directly with each component.

Logging Into the Server

Most administrative work occurs from the Linux command line. Throughout this textbook, commands are shown exactly as they should be entered. Students should become comfortable using SSH or the VMware console to access the server.

A typical session begins with:

ssh student@WAZUH-SRV or, if working locally through VMware:

login:

Once authenticated, verify your identity:

whoami hostname pwd

These simple commands confirm:

  • Current user

  • Current system

  • Current working directory

Professional administrators perform these checks almost automatically.

Verifying the Wazuh Services

Before investigating alerts, confirm that the major services are running.

For modern Wazuh installations using systemd:

::: {custom-style="CodeLabel"} WAZUH-SRV · Terminal :::

sudo systemctl status wazuh-manager
sudo systemctl status wazuh-indexer
sudo systemctl status wazuh-dashboard

Alternatively, check all three at once:

::: {custom-style="CodeLabel"} WAZUH-SRV · Terminal :::

sudo systemctl status wazuh-manager wazuh-indexer wazuh-dashboard

A healthy service should report:

  • Loaded: loaded

  • Active: active (running)

Anything else deserves investigation before proceeding.

SOC Tip

Do not memorize the color of the output. Read the text. Terminal color schemes vary between Linux distributions, SSH clients, and terminal emulators. The words active (running) matter—not whether they appear in green, blue, or white.

Essential Operational Commands

These are commands every SOC analyst should know.

Command Purpose
hostname Display the server hostname
hostname -I Display assigned IP addresses
ip addr Show all network interfaces
systemctl status wazuh-manager Check Manager service
systemctl status wazuh-indexer Check Indexer service
systemctl status wazuh-dashboard Check Dashboard service
df -h Check disk utilization
free -h Check memory utilization
uptime Display system uptime and load
journalctl -xe Review recent system errors

These commands form the foundation of operational health verification.

The Wazuh Directory Structure

One of the first skills every administrator should develop is understanding where things live. Although Linux provides thousands of directories, only a few are used routinely during Wazuh administration.

The primary installation directory is:

/var/ossec

Think of this directory as Wazuh’s home. Nearly everything you will configure during this textbook resides somewhere beneath it.

Figure 3-13

Simplified Directory Tree

Figure

Note. The figure organizes the major elements of simplified Directory Tree to clarify their roles, relationships, and escalation or inheritance paths.

As the semester progresses, every one of these directories will become familiar.

Critical Directories

Only a few directories beneath /var/ossec are used routinely. Each is described below.

/var/ossec/etc

Contains the primary configuration files.

Most importantly:

/var/ossec/etc/ossec.conf

This is the heart of the Wazuh configuration. Later chapters will modify this file many times.

/var/ossec/logs

Contains operational logs.

Examples include:

  • Manager logs

  • Alert logs

  • Archive logs

One of the most important files is:

/var/ossec/logs/ossec.log

When troubleshooting, this is often the first place administrators look.

/var/ossec/ruleset

Contains the default:

  • Decoders

  • Rules

Students should avoid modifying vendor-supplied rules directly. Instead, later chapters will demonstrate how to create local custom rules that survive upgrades.

/var/ossec/queue

Contains information exchanged between agents and the Manager. Although students rarely interact directly with this directory, understanding its purpose helps explain how agent communication occurs.

/var/ossec/bin

Contains many administrative utilities.

Examples include:

::: {custom-style="CodeLabel"} WAZUH-SRV · Terminal :::

/var/ossec/bin/manage_agents
/var/ossec/bin/agent_control
/var/ossec/bin/wazuh-control

Several of these utilities will be used throughout the remainder of the course. The manage_agents and agent_control utilities manage agent enrollment and status; their full syntax is documented in Appendix B — Command Reference.

Operational Health Checklist

Before beginning any investigation, verify the following:

Check Expected Result
Server reachable Yes
Correct hostname Yes
Correct IP address Yes
Manager running Yes
Indexer running Yes
Dashboard running Yes
Disk utilization < 80% preferred
Memory available Sufficient
System time Correct
No major errors in ossec.log Yes

This checklist takes less than two minutes to complete but prevents countless hours of troubleshooting later.

Analyst Corner

Throughout this course, I will occasionally ask a simple question:

“How do you know Wazuh is working?”

The correct answer is never:

“The Dashboard opened.”

The correct answer is evidence-based:

  • Services are active.

  • Agents are connected.

  • Telemetry is arriving.

  • Rules are firing.

  • Alerts are being indexed.

  • Searches return current events.

A healthy Dashboard alone is insufficient proof of a healthy SIEM.

Common Student Mistake

Students often restart services immediately after seeing an error. Experienced administrators investigate first.

Before restarting anything, ask:

  • What changed?

  • When did the problem begin?

  • Which service failed?

  • What do the logs report?

  • Is the failure reproducible?

Restarting services without understanding the underlying problem may temporarily hide important evidence.

Best Practice

Develop the habit of checking the Wazuh Server before opening the Dashboard. A professional SOC analyst trusts verified telemetry—not assumptions based on a web interface. Operational discipline begins at the server.

Think Like a SOC Engineer

Imagine arriving Monday morning. The Dashboard loads normally. However, students report no new alerts since Friday afternoon.

Instead of restarting everything, your investigation begins methodically:

  • Verify Manager status.

  • Verify Indexer status.

  • Verify Dashboard status.

  • Check ossec.log.

  • Confirm agents are connected.

  • Generate a known test event.

  • Trace the telemetry through the pipeline.

This systematic approach reflects the engineering mindset developed throughout the first three chapters.

Looking Ahead

With the Wazuh Server understood, the next section introduces the Wazuh Dashboard from an administrator’s perspective. Rather than focusing on investigations, students will learn how to verify platform health, interpret Dashboard metrics, identify disconnected agents, monitor service status, and establish the operational awareness required before conducting threat investigations. This completes the foundational operational knowledge before students begin installing and validating Ubuntu, Suricata, Windows 11, and Sysmon.

3.5 The Wazuh Dashboard as an Operational Console

Learning Objectives

After completing this section, you should be able to:

  • Log into the Wazuh Dashboard.

  • Describe the major Dashboard components.

  • Verify overall platform health.

  • Confirm agent connectivity.

  • Identify common operational problems.

  • Establish daily operational awareness before investigating alerts.

Introduction

For most analysts, the Wazuh Dashboard is the first application opened each morning. Although many people think of the Dashboard simply as a place to view alerts, experienced analysts know it serves a much broader purpose. The Dashboard is the operational console of the Security Operations Center.

It answers questions such as:

  • Are my agents connected?

  • Is telemetry arriving?

  • Have alert volumes changed?

  • Which systems require attention?

  • Are any sensors offline?

  • Are security events being processed?

Only after answering these questions does the analyst begin reviewing alerts.

Logging into the Dashboard

After opening your web browser, navigate to the Wazuh Dashboard.

Example:

https://192.168.1.30 or https://WAZUH-SRV

(Use the hostname or IP address assigned to your Wazuh server.)

After authentication, the Dashboard opens to the main landing page. Do not immediately begin clicking alerts. Instead, spend a few moments understanding the operational picture.

The Dashboard Is an Instrument Panel

Imagine entering the cockpit of an aircraft. A pilot does not immediately take off.

Instead, the pilot verifies:

  • Fuel

  • Engine instruments

  • Flight controls

  • Navigation systems

  • Weather

  • Communications

SOC analysts perform a similar pre-flight check.

Before beginning investigations they verify:

  • Services

  • Agents

  • Telemetry

  • Alerts

  • Infrastructure health

This mindset dramatically reduces troubleshooting later in the day.

Figure 3-14

The Dashboard as the SOC Instrument Panel

Figure

Note. The figure summarizes the Dashboard as the SOC Instrument Panel and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Everything on the Dashboard contributes to operational awareness.

First Look: What Should You Check?

Every analyst develops a routine. Throughout this textbook, we will use the following sequence.

Step 1 — Verify Connected Agents

Navigate to:

Wazuh

Verify:

  • Every expected endpoint is connected.

  • Status is Active.

  • Recent keepalive timestamps are current.

Expected laboratory agents include:

Host Agent Name Expected Status
WAZUH-SRV Active
UB2604 u2604 Active
WIN11 win11 Active

Disconnected agents should always be investigated before continuing.

Step 2 — Verify Recent Activity

Navigate to:

Security Events

Set the time range to:

Last 24 Hours

Confirm that events continue arriving.

Questions to ask:

  • Are new events appearing?

  • Did events suddenly stop?

  • Does activity appear normal?

A complete absence of new events is usually more concerning than a high volume of alerts.

Step 3 — Review Alert Severity

Most dashboards display alerts grouped by severity.

Example:

Severity Meaning
Critical Immediate attention required
High Significant risk
Medium Suspicious activity
Low Minor concern
Informational Routine activity

These generic categories map onto Wazuh’s numeric 0–15 rule levels, described in Section 2.5. Students often investigate every alert.

Professional analysts prioritize based on:

  • Severity

  • Business impact

  • Critical assets

  • Current incidents

Step 4 — Review Agent Health

Questions to ask include:

  • Which agent disconnected most recently?

  • Has an agent stopped reporting?

  • Are multiple agents affected?

  • Is one operating system reporting fewer events?

Operational changes frequently reveal infrastructure problems before users notice them.

Analyst Corner

One of the best habits you can develop is asking:

“What changed?”

Not:

“What alerts exist?”

Examples:

Yesterday:

  • Three agents

Today:

  • Two agents

That change deserves investigation.

Yesterday:

  • Hundreds of Suricata alerts

Today:

  • Zero

That change deserves investigation. Good analysts notice changes. Great analysts investigate them.

Dashboard Navigation

Although the Dashboard contains many features, students should become comfortable with several core areas first.

Area Primary Purpose
Dashboard Operational overview
Agents Endpoint status
Security Events Alert investigation
Modules Security capabilities
Discover Advanced searching
Dashboards Visualization
Management Administrative functions

Master these areas before exploring more advanced features.

Searching the Dashboard

Searching is the single most important Dashboard skill.

Typical searches include:

Hostname

WIN11

Agent Name

u2604

Rule ID

5710

Event ID

22

Process Name

powershell.exe

IP Address

192.168.1.40

Nearly every investigation begins with one of these searches.

Time Selection

Students often overlook the time selector. This is one of the most important controls in the Dashboard.

Typical selections include:

Time Range Usage
Last 15 Minutes Immediate troubleshooting
Last Hour Recent testing
Last 24 Hours Daily review
Last 7 Days Trend analysis
Last 30 Days Historical investigations
Custom Incident response

When alerts appear missing, the first thing to verify is often the selected time range.

SOC Tip

When troubleshooting:

Always verify the time selector before assuming telemetry is missing. Many “missing alerts” are simply outside the selected time window.

Common Student Mistake

Students frequently focus only on the left side of the Dashboard.

Professional analysts continuously monitor:

  • Agent count

  • Event rate

  • Alert trends

  • Time window

  • Search filters

  • Active queries

Understanding the entire workspace leads to faster investigations.

Daily Operational Checklist

Before beginning any investigation:

✓ Dashboard loads successfully

✓ All expected agents connected

✓ Recent telemetry visible

✓ Suricata alerts present

✓ Sysmon events present

✓ Windows Defender operational

✓ Event timestamps current

✓ Time selector correct

✓ No unexpected service interruptions

This checklist should become routine.

Figure 3-15

Daily SOC Startup Workflow

Figure

Note. The workflow presents the ordered stages of daily SOC Startup Workflow and highlights the validation and feedback steps that make the process repeatable.

Notice that investigations occur only after operational validation.

Think Like a SOC Analyst

Imagine opening the Dashboard Monday morning.

Everything appears normal except:

  • Windows agent connected ✓

  • Ubuntu agent connected ✓

  • Dashboard operational ✓

  • No Suricata alerts for 18 hours ✗

Would you immediately conclude:

“The network is secure.”

Or would you ask:

  • Is Suricata running?

  • Is eve.json updating?

  • Is the Wazuh Agent monitoring the file?

  • Did the Emerging Threats rules load?

  • Is the monitoring interface receiving packets?

Experienced analysts investigate the monitoring system before assuming an absence of threats.

Best Practice

The Dashboard should answer three operational questions within the first five minutes of your shift:

  • Is my SOC healthy?

  • Is telemetry flowing?

  • What requires my attention first?

If you cannot answer those questions quickly, either the Dashboard or the workflow needs improvement.

Looking Ahead

The next section begins the first major implementation phase of the textbook: deploying and validating the Ubuntu 26.04 network sensor. Students will configure the operating system, verify networking, install the Wazuh Agent, prepare the dual-interface architecture, and establish the Linux foundation required for Suricata and Emerging Threats Open. From this point forward, each system will be built incrementally, validated thoroughly, and integrated into the complete Security Operations Center.

3.6 Preparing the Ubuntu 26.04 Network Sensor

Learning Objectives

After completing this section, you should be able to:

  • Explain the role of the Ubuntu sensor within the SOC.

  • Validate the operating system before installing security software.

  • Verify hardware resources and network connectivity.

  • Confirm Linux services required for later chapters.

  • Document the baseline state of the Ubuntu system.

Introduction

The Ubuntu system occupies a unique position within our Security Operations Center. Unlike the Windows workstation, which primarily generates endpoint telemetry, the Ubuntu system performs two independent roles. First, it operates as a monitored Linux endpoint by running the Wazuh Agent. Second, it serves as a dedicated network intrusion detection sensor running Suricata and the Emerging Threats Open rule set. Because this system becomes responsible for inspecting network traffic, it must be validated carefully before any security software is installed. Professional SOC engineers always establish a known-good operating system baseline before adding monitoring tools.

The Ubuntu Sensor Architecture

Throughout the remainder of this textbook, the Ubuntu virtual machine will serve multiple purposes.

Function Description
Linux Endpoint Generates Linux telemetry for Wazuh
Suricata Sensor Inspects network traffic
Packet Capture Platform Used with tcpdump and Wireshark
Rule Development Host Tests custom Suricata signatures
Telemetry Forwarder Sends Suricata alerts to Wazuh

Unlike many enterprise environments where these functions are distributed across multiple servers, our laboratory intentionally combines them into one system to simplify learning.

Figure 3-16

Ubuntu Sensor Responsibilities

Figure

Note. The figure summarizes ubuntu Sensor Responsibilities and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

This dual-role architecture is one of the defining characteristics of our laboratory.

Before Installing Anything

Students are often eager to install software immediately. Resist that temptation. First, validate the operating system.

Professional engineers verify:

  • Operating system version

  • Kernel version

  • Network interfaces

  • Hostname

  • IP addresses

  • Internet connectivity

  • Available disk space

  • Available memory

  • Time synchronization

  • Package repositories

Only after these checks succeed should software installation begin.

Verify the Operating System

Confirm the Ubuntu release.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

cat /etc/os-release

Expected output should identify Ubuntu 26.04 LTS.

Analyst Corner

At the time this textbook was written, Wazuh’s officially validated Ubuntu compatibility list topped out at 24.04 LTS. Ubuntu 26.04 is new enough that it may not yet appear on Wazuh’s published compatibility matrix, even though the Wazuh Agent .deb package installs and runs correctly on it in practice because Ubuntu LTS releases are ABI-compatible with the packages Wazuh builds for Debian-based systems.

Before installing, check the current supported operating systems list at the Wazuh installation guide. If your release is not yet listed, that is not necessarily a blocker — it simply means you are ahead of the official validation cycle and should test carefully rather than assume compatibility. This is a useful lesson in itself: production environments are frequently a version or two ahead of a vendor’s formal support matrix, and analysts need to know how to verify compatibility themselves rather than relying solely on a checklist. Next, verify the kernel.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

uname -r

Record both values in your SOC Engineering Notebook. Version information becomes invaluable during troubleshooting and future upgrades.

Verify Host Identity

Every server should know its own identity. Display the hostname.

hostname

Display the fully qualified hostname if configured.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

hostnamectl

Confirm that the hostname matches your documentation.

Example:

UB2604

Consistency between documentation and configuration prevents confusion later when multiple Linux systems are added.

Verify Network Interfaces

List all network interfaces.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ip addr

or, for a compact one-line-per-interface view:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ip -br addr

Expected output should identify both interfaces.

Example:

Interface Purpose
ens160 Management
ens192 Suricata Monitoring

Confirm:

  • Interface names

  • IPv4 addresses

  • Interface state

  • MAC addresses

Document each value.

Verify Routing

Display the routing table.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ip route

Questions to answer:

  • Which interface provides Internet access?

  • Which network is the default route?

  • Is the gateway reachable?

A correct routing table prevents many future troubleshooting problems.

Verify Connectivity

Before installing packages, verify connectivity. Ping the default gateway.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ping -c 4 192.168.1.1

Ping the Wazuh Server.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ping -c 4 192.168.1.30

Ping a public IP address.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ping -c 4 8.8.8.8

Finally, verify DNS.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ping -c 4 google.com

Each test validates a different part of the network stack.

Analyst Corner

Notice the progression:

  • Local gateway

  • Local server

  • Public IP

  • DNS hostname

This sequence helps isolate problems.

For example:

  • If the gateway fails, investigate local networking.

  • If public IP fails but the gateway succeeds, investigate routing.

  • If public IP works but DNS fails, investigate name resolution.

Professional troubleshooting isolates one layer at a time.

Verify System Resources

Display memory usage.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

free -h

Display processor information.

lscpu

Display filesystem usage.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

df -h

Record:

  • Available memory

  • Number of CPUs

  • Available disk space

Later chapters compare these values after installing additional software.

Verify Time Synchronization

Time accuracy is essential in a SOC. Display current status.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

timedatectl

Verify:

  • Correct timezone

  • NTP synchronized

  • System clock synchronized

Even small time differences complicate event correlation across systems.

Update the Operating System

Before installing Wazuh or Suricata, ensure the operating system is current.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo apt update
sudo apt upgrade

After upgrades requiring a reboot:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo reboot

Then repeat the validation checks. Never assume updates completed successfully.

Create the Baseline Snapshot

At this point, the system should contain:

  • Ubuntu installed

  • Updates applied

  • Networking verified

  • Documentation completed

Create a VMware snapshot.

Suggested name:

Ubuntu 26.04 Clean Baseline

This snapshot becomes your recovery point before installing security software.

Common Student Mistake

Students often install multiple applications before taking a snapshot. If a later installation fails, they must rebuild the entire operating system.

Instead:

  • Install Ubuntu.

  • Validate Ubuntu.

  • Snapshot Ubuntu.

  • Install Wazuh Agent.

  • Snapshot again.

  • Install Suricata.

  • Snapshot again.

This incremental approach dramatically reduces recovery time.

SOC Tip

Treat every major installation as a milestone. Create snapshots that correspond to those milestones. Later chapters will reference these snapshots when experimenting with custom rules, Active Response, and advanced Suricata configurations.

Ubuntu Baseline Validation Checklist

Complete the following before continuing.

Validation Expected Result
Ubuntu 26.04 installed
Hostname configured
ens160 operational
ens192 operational
Internet connectivity verified
Wazuh Server reachable
DNS functioning
System updated
Time synchronized
Baseline snapshot created

Do not proceed until every item is complete.

Think Like a SOC Engineer

Imagine installing Suricata before verifying the operating system. Later, Suricata fails to download rule updates.

Is the problem:

  • Suricata?

  • DNS?

  • Routing?

  • Internet connectivity?

  • Package repositories?

Because the baseline was never validated, every possibility remains open. Professional engineers eliminate uncertainty before introducing complexity.

Looking Ahead

The next section begins the installation of the Wazuh Agent on Ubuntu. Students will learn how the agent communicates with the Wazuh Manager, how to register and validate the agent, interpret agent status, troubleshoot connectivity issues, and verify that Linux telemetry successfully reaches the Wazuh Dashboard. This establishes the first operational telemetry pipeline in the laboratory before Suricata is introduced (Open Information Security Foundation, n.d.).

3.7 Installing and Validating the Wazuh Agent on Ubuntu 26.04

Learning Objectives

After completing this section, you should be able to:

  • Explain the purpose of the Wazuh Agent.

  • Install the Wazuh Agent on Ubuntu 26.04.

  • Register the agent with the Wazuh Manager.

  • Verify secure communication between the agent and the Manager.

  • Confirm Linux telemetry is visible within the Wazuh Dashboard.

  • Troubleshoot common agent connectivity problems.

Introduction

The Wazuh Agent is the primary mechanism through which Linux systems communicate with the Wazuh Manager (Wazuh, Inc., n.d.-a). Think of the Agent as the Ubuntu system’s ambassador to the Security Operations Center.

Its responsibilities include:

  • Collecting Linux telemetry

  • Monitoring log files

  • Reporting security events

  • Performing file integrity monitoring

  • Executing active response actions (when configured)

  • Maintaining secure communication with the Manager

Without the Wazuh Agent, Ubuntu becomes invisible to the SOC.

How the Agent Fits into the SOC

Before installing anything, understand the communication flow.

Figure 3-17

Ubuntu Agent Communication

Figure

Note. The figure summarizes ubuntu Agent Communication and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Every Linux event follows this path.

Installation Philosophy

Throughout this textbook we follow a disciplined workflow. Each installation consists of five stages.

Figure 3-18

From Install to Document

Figure

Note. The sequence traces how Install progresses to Document, emphasizing the intermediate evidence and processing steps.

Notice that installation represents only one step. Validation is equally important.

Installing the Agent

Install the Wazuh Agent using the official repository.

(The exact commands are provided in Lab Exercise 3.1 and should always follow the current Wazuh documentation for your installed version.)

After installation completes, verify the package.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

dpkg -l | grep wazuh

Expected output should identify:

wazuh-agent

Record the installed version in your SOC Engineering Notebook.

Verify the Service

Confirm the service exists.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl status wazuh-agent

Expected:

Active: active (running)

If the service is inactive, do not continue. Investigate the problem first.

Enable Automatic Startup

The agent should start automatically after every reboot.

Verify:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl is-enabled wazuh-agent

Expected output:

::: {custom-style="CodeLabel"} UB2604 · Expected output :::

enabled

If necessary:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl enable wazuh-agent

Verify Network Connectivity

Before assuming the agent has failed, verify communication with the Wazuh Manager.

Example:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ping WAZUH-SRV

Next, verify that the Manager port is reachable.

nc -vz 192.168.1.30 1514

Expected:

Connection succeeded

This confirms basic network communication.

Analyst Corner

Many students immediately reinstall the Wazuh Agent when it fails to connect. Experienced administrators verify the network first.

Ask yourself:

  • Can I reach the Manager?

  • Is the Manager running?

  • Is TCP 1514 open?

  • Is DNS working?

  • Is the correct Manager IP configured?

Software is often blamed for networking problems. In reality, networking problems are usually the cause.

Verify Agent Registration

Log into the Wazuh Dashboard.

Navigate to:

Wazuh → Agents

The Ubuntu system should appear.

Example:

Host (Agent Name) Status
UB2604 (u2604) Active

Agent Names vs. Hostnames. The hostname (UB2604) identifies the machine; the agent name (u2604) is the identity assigned to the Wazuh Agent at enrollment. In this laboratory, agent names are lowercase by convention (u2604, win11). Because Dashboard queries are case-sensitive, agent.name:“u2604” returns events while agent.name:“U2604” returns nothing. Record both values in your SOC Engineering Notebook. If the agent does not appear, do not continue. Investigate before installing Suricata.

Validate Telemetry

Simply appearing in the Dashboard is not sufficient. Generate Linux activity.

Example:

logger “Ubuntu agent validation test”

This creates a message in the Linux system log. Within a few moments, search the Dashboard.

Example search:

u2604

Locate the generated event.

This confirms:

  • Linux generated telemetry.

  • Agent collected telemetry.

  • Manager received telemetry.

  • Indexer stored telemetry.

  • Dashboard displayed telemetry.

Congratulations. Your first telemetry pipeline is operational.

Figure 3-19

Telemetry Validation

Figure

Note. The figure summarizes telemetry Validation and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

This validation methodology will be repeated throughout the textbook.

Verify Log Collection

Linux system logs are stored in several locations depending on the distribution.

Common examples include:

/var/log/syslog /var/log/auth.log /var/log/kern.log /var/log/dpkg.log

Students should become familiar with these files because later chapters will monitor them using the Wazuh Agent.

Common Agent Commands

Command Purpose
systemctl status wazuh-agent Service status
systemctl restart wazuh-agent Restart agent
systemctl enable wazuh-agent Enable at boot
journalctl -u wazuh-agent Review agent logs
hostname Verify hostname
hostname -I Verify IP address

These commands will become part of your routine operational toolkit.

Reading the Agent Log

The agent maintains its own operational log.

Example:

/var/ossec/logs/ossec.log

When troubleshooting, look for:

  • Connection failures

  • Authentication problems

  • Registration errors

  • Communication timeouts

  • Configuration issues

Develop the habit of reading logs before changing configurations.

Common Student Mistake

Students often stop troubleshooting once the agent appears in the Dashboard. However, an agent may be connected without forwarding meaningful telemetry.

Always verify:

  • Events are arriving.

  • Current timestamps are visible.

  • Searches return expected results.

  • Generated test events appear.

Connectivity alone does not prove functionality.

SOC Tip

Every time you install a new agent, generate a known test event immediately. Never wait until weeks later to discover the telemetry pipeline was incomplete. Testing immediately after installation saves enormous amounts of troubleshooting time.

Baseline Validation Checklist

Before proceeding, confirm:

Validation Expected
Wazuh Agent installed
Service running
Starts automatically
Manager reachable
Agent registered
Dashboard displays agent
Test event generated
Test event visible
Documentation updated

Do not continue until every validation succeeds.

Think Like a SOC Analyst

Imagine arriving Monday morning. The Ubuntu Agent appears Active. However, new Linux events stopped arriving six hours ago.

Would you conclude:

“The Agent is healthy.”

Or would you investigate:

  • Agent logs

  • Network connectivity

  • Queue status

  • Service restarts

  • Disk space

  • System time

  • Log collection configuration

Professional analysts recognize that an active agent is only the beginning. Healthy telemetry—not merely connectivity—is the true indicator of a functioning monitoring system.

Looking Ahead

With Ubuntu successfully reporting telemetry to the Wazuh Manager, the next section introduces Suricata, the network intrusion detection system that transforms the Ubuntu host from a monitored endpoint into a dedicated network sensor. Students will install Suricata, understand its packet-processing architecture, configure the monitoring interface, integrate the Emerging Threats Open rule set, and validate the first network-based detections flowing into the Wazuh Dashboard. This marks the transition from endpoint monitoring to full network security monitoring within the SOC laboratory.

3.8 Understanding Suricata — The Network Detection Engine

Learning Objectives

After completing this section, you should be able to:

  • Explain the purpose of a Network Intrusion Detection System (NIDS).

  • Describe how Suricata processes network traffic.

  • Understand the Suricata packet-processing pipeline.

  • Differentiate between packet capture, protocol decoding, and rule evaluation.

  • Identify the major Suricata components.

  • Explain how Suricata integrates with Wazuh.

Introduction

Until now, every security event in our laboratory has originated from an endpoint.

For example:

  • Windows generated Sysmon events.

  • Ubuntu generated Linux logs.

  • Windows Defender generated malware alerts.

These events describe what occurred on individual computers.

But what about the network itself?

Attackers do not interact directly with operating systems. They communicate across networks.

Every:

  • DNS query

  • HTTP request

  • TLS session

  • SSH connection

  • Port scan

  • File download

must traverse the network before reaching its destination. If we can observe that traffic, we gain another powerful source of evidence. This is precisely the role of Suricata.

What Is Suricata?

Suricata is an open-source Network Intrusion Detection System (NIDS) and Network Intrusion Prevention System (NIPS) developed by the Open Information Security Foundation (OISF) (Open Information Security Foundation, n.d.). Unlike endpoint software that observes activity occurring on a single computer, Suricata examines packets moving across the network. Think of Sysmon as observing inside the computer. Think of Suricata as observing between computers. Together they provide complementary visibility.

Figure 3-20

Endpoint vs. Network Visibility

Figure

Note. The comparison highlights the operational differences represented by endpoint vs. Network Visibility and shows why the distinction matters during analysis.

No single tool provides complete visibility. SOC analysts combine endpoint and network telemetry to develop a comprehensive understanding of events.

Why Monitor the Network?

Imagine malware successfully deletes itself after execution. Endpoint evidence may disappear. However, the network communication that occurred during the attack may still exist.

Suricata can observe:

  • Command-and-control traffic

  • Malware downloads

  • Data exfiltration

  • DNS tunneling

  • Port scanning

  • Protocol abuse

  • Exploit attempts

  • Web attacks

The network often preserves evidence that endpoints cannot.

The Packet Journey

Every packet follows a predictable path through Suricata. Understanding this pipeline is essential.

Figure 3-21

Suricata Processing Pipeline

Figure

Note. The pipeline shows how information moves through suricata Processing Pipeline, from its source through processing to the analyst-visible result.

Nearly every troubleshooting exercise later in this textbook follows this exact pipeline.

Step 1 — Packet Capture

Suricata begins by capturing packets from a network interface.

Examples include:

ens160 ens192

In our laboratory, Suricata monitors:

ens192

This interface has been dedicated to network monitoring. If packets never reach this interface, Suricata cannot detect anything.

Step 2 — Flow Tracking

Individual packets rarely tell the complete story. Suricata groups related packets into flows.

Example:

Figure 3-22

From Client to HTTP Response

Figure

Note. The sequence traces how Client progresses to HTTP Response, emphasizing the intermediate evidence and processing steps.

Instead of evaluating isolated packets, Suricata evaluates complete conversations.

Step 3 — Protocol Identification

Once packets are grouped into flows, Suricata determines the protocol.

Examples include:

  • HTTP

  • HTTPS

  • DNS

  • SSH

  • FTP

  • SMTP

  • SMB

  • TLS

  • ICMP

Suricata identifies protocols using protocol detection rather than relying exclusively on port numbers. This improves detection accuracy.

Step 4 — Protocol Parsing

After identifying the protocol, Suricata extracts useful information.

For example:

HTTP

  • URI

  • User-Agent

  • Method

  • Host Header

DNS

  • Query Name

  • Record Type

  • Response Code

TLS

  • Server Name

  • JA3 Fingerprint

  • Certificate Information

This metadata becomes extremely valuable during investigations.

Step 5 — Rule Evaluation

Finally, Suricata compares packet contents against thousands of detection signatures.

Examples include:

  • Malware traffic

  • Port scans

  • Exploit kits

  • Web attacks

  • Command-and-control

  • Policy violations

  • Suspicious downloads

If a rule matches, Suricata generates an alert.

Analyst Corner

One of the biggest misconceptions about Suricata is that it “detects hackers.” It does not. Suricata evaluates packets against rules. The rules determine what constitutes suspicious activity. Improving detection therefore often means improving the rule set rather than changing the software itself.

The Suricata Output

Most important information is written to a single file.

/var/log/suricata/eve.json

Throughout this textbook, this file becomes one of our most important data sources. Unlike traditional log files, eve.json contains structured JSON records.

Each record describes:

  • Timestamp

  • Source IP

  • Destination IP

  • Ports

  • Protocol

  • Signature

  • Severity

  • Metadata

The Wazuh Agent monitors this file continuously.

Figure 3-23

Suricata to Wazuh

Figure

Note. The figure summarizes suricata to Wazuh and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Notice that Suricata never communicates directly with the Dashboard. Wazuh serves as the integration platform (Wazuh, Inc., n.d.-a).

Detection Versus Prevention

Suricata can operate in different modes.

Mode Description
IDS (Intrusion Detection System) Detects and logs suspicious activity without modifying traffic.
IPS (Intrusion Prevention System) Detects and actively blocks or drops malicious traffic when deployed inline.

Throughout this textbook we operate Suricata in IDS mode.

Why?

Because students should first learn to observe, validate, and investigate traffic before introducing automated blocking. Understanding what is happening on the network is a prerequisite to deciding what should be blocked.

Common Student Mistake

Students often assume that:

“Suricata is running, therefore it must be inspecting packets.” Not necessarily.

Verify:

  • Correct interface selected?

  • Interface is up?

  • Traffic reaches the interface?

  • Packet counters increasing?

  • Rules loaded successfully?

  • eve.json updating?

A running process is not proof of a functioning sensor.

Best Practice

When troubleshooting Suricata, validate one stage at a time:

  • Packet reaches the interface.

  • Interface captures the packet.

  • Suricata processes the packet.

  • Rules evaluate the packet.

  • Alert is written to eve.json.

  • Wazuh Agent forwards the alert.

  • Wazuh Dashboard displays the alert.

Breaking the pipeline into stages isolates problems quickly and prevents unnecessary configuration changes.

Think Like a SOC Analyst

Suppose a student reports:

“Suricata didn’t detect my Nmap scan.”

Before changing rules, ask:

  • Did the scan actually generate packets?

  • Were the packets visible on ens192?

  • Did tcpdump observe them?

  • Were the appropriate ET Open rules loaded?

  • Was an alert written to eve.json?

  • Did Wazuh receive the alert?

The objective is not to guess—it is to trace the packet through the entire detection pipeline.

Looking Ahead

With the Suricata architecture understood, the next section begins the actual deployment. Students will install Suricata on Ubuntu 26.04, verify package integrity, understand the directory structure, examine the default configuration, identify critical files, and prepare the sensor for integration with the Emerging Threats Open rule set. This installation will build directly upon the validation methodology established throughout the previous chapters, ensuring that every configuration step is immediately tested before moving forward.

3.9 Installing Suricata on Ubuntu 26.04

Learning Objectives

After completing this section, you should be able to:

  • Install Suricata on Ubuntu 26.04.

  • Verify the installed version.

  • Understand the Suricata directory structure.

  • Locate critical configuration files.

  • Validate that Suricata is operational.

  • Troubleshoot common installation problems.

Introduction

Suricata is one of the world’s most widely deployed open-source Network Intrusion Detection Systems (NIDS). Unlike endpoint monitoring tools such as Sysmon, which observe activity occurring inside a computer, Suricata analyzes packets traveling between computers. Once integrated with Wazuh, Suricata becomes the laboratory’s primary source of network-based security telemetry. The goal of this section is not simply to install software—it is to establish a validated network sensor capable of reliably inspecting traffic.

Installation Workflow

Throughout this textbook, every software installation follows the same engineering process.

Figure 3-24

Software Deployment Lifecycle

Figure

Note. The workflow presents the ordered stages of software Deployment Lifecycle and highlights the validation and feedback steps that make the process repeatable.

Never skip the validation stage. A successful installation command does not guarantee a functional sensor.

Installing Suricata

Install Suricata using the official Ubuntu repositories or the approved package source for the version used in this course. After installation completes, verify the package.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

dpkg -l | grep suricata

Expected output:

suricata

Next, verify the version.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

suricata --build-info

Record the following information in your SOC Engineering Notebook:

  • Suricata version

  • Build date

  • Enabled features

  • Capture methods

  • Rule engine version

This information becomes important during troubleshooting and future upgrades.

Verify the Service

Check that the service exists.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl status suricata

Expected:

Active: active (running)

If the service is inactive, do not proceed. Investigate before continuing.

Enable Automatic Startup

Confirm Suricata starts after every reboot.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl is-enabled suricata

Expected:

enabled

If necessary:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl enable suricata

Understanding the Directory Structure

Suricata stores configuration, rules, logs, and runtime files in several locations. Students should become familiar with these directories immediately.

Directory Purpose
/etc/suricata/ Primary configuration directory
/etc/suricata/suricata.yaml Main configuration file
/etc/suricata/rules/ Detection rules
/var/log/suricata/ Log files
/var/log/suricata/eve.json JSON event log
/var/lib/suricata/ Runtime data
/usr/bin/suricata Executable program

Nearly every configuration change performed throughout this textbook will involve one of these locations.

Figure 3-25

Suricata Directory Tree

Figure

Note. The figure organizes the major elements of suricata Directory Tree to clarify their roles, relationships, and escalation or inheritance paths.

Students should recognize this structure before editing any configuration files.

The Main Configuration File

The heart of Suricata is:

/etc/suricata/suricata.yaml

This file controls nearly every aspect of the IDS.

Examples include:

  • Network interfaces

  • HOME_NET

  • EXTERNAL_NET

  • Logging

  • Rule paths

  • Packet capture

  • Output configuration

  • Performance tuning

Two variables in this file deserve special attention. HOME_NET defines the IP ranges Suricata treats as your protected internal network (in this laboratory, 192.168.1.0/24), while EXTERNAL_NET defines everything else. Many detection rules only fire when traffic crosses between these two — for example, a scan is only interesting if it targets HOME_NET. A misconfigured HOME_NET is one of the most common reasons a correctly installed sensor generates no alerts. Throughout the semester this file will be modified repeatedly. Professional administrators always create backups before editing it.

Analyst Corner

Never edit a major configuration file without first making a backup.

Example:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo cp /etc/suricata/suricata.yaml /etc/suricata/suricata.yaml.bak

If a configuration mistake occurs, recovery becomes trivial.

Validating the Configuration

Before starting Suricata, validate the configuration syntax.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo suricata -T -c /etc/suricata/suricata.yaml

Expected output ends with something similar to:

Configuration provided was successfully loaded.

or

Suricata configuration test passed. If errors appear, correct them before continuing. Never ignore configuration test failures.

Starting the Sensor

Restart the service after validation.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl restart suricata

Confirm:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl status suricata

The service should remain active. If it exits immediately, review the logs.

Reviewing the Logs

Primary log location:

/var/log/suricata/

Common files include:

File Purpose
suricata.log Operational log
eve.json Alerts and events
fast.log Simplified alert output (if enabled)
stats.log Runtime statistics

During troubleshooting, suricata.log is usually the first file to examine.

Validate Packet Processing

At this point, the service is running.

But is it actually inspecting packets?

Generate simple network activity.

Example:

ping 8.8.8.8 or curl https://example.com

Monitor packet counters. sudo suricatasc -c uptime or inspect the statistics log (depending on configuration). The goal is to confirm that packets are flowing through the engine.

Validate the Output File

Confirm that the primary event file exists.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

ls -lh /var/log/suricata/eve.json

Watch the file update in real time.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo tail -f /var/log/suricata/eve.json

Generate additional network traffic. If new JSON records appear, Suricata is successfully processing events.

Figure 3-26

Initial Validation

Figure

Note. The figure summarizes initial Validation and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

This is the first proof that the sensor is functioning correctly.

Common Student Mistake

Students often verify only that:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

systemctl status suricata returns **active (running)**.

They never confirm:

  • Packets are captured.

  • Rules loaded.

  • eve.json exists.

  • Events are written.

A running process without telemetry provides no security value.

Best Practice

After every configuration change, follow this sequence:

  • Test the configuration: sudo suricata -T -c /etc/suricata/suricata.yaml

  • Restart the service: sudo systemctl restart suricata

  • Check service status: sudo systemctl status suricata

  • Review suricata.log for errors.

  • Generate test traffic.

  • Confirm eve.json updates.

Following this sequence prevents many configuration errors.

Baseline Validation Checklist

Before continuing, verify:

Validation Expected
Suricata installed
Correct version verified
Configuration tested
Service running
Starts automatically
eve.json exists
suricata.log present
Network traffic generated
New events written
Snapshot created

Do not proceed until every item has been verified.

Think Like a SOC Engineer

Suppose a student reports:

“Suricata installed successfully.”

Ask:

  • How do you know?

  • Did the configuration pass validation?

  • Did packets reach the monitoring interface?

  • Did eve.json update?

  • Did you inspect suricata.log?

  • Can you prove the sensor processed live traffic?

In professional SOC operations, evidence is the definition of success.

Looking Ahead

With Suricata operational, the next section introduces the Emerging Threats Open (ET Open) rule set. Students will learn how Suricata’s detection engine relies on signatures, how ET Open is organized, how to update and manage rules safely, how to distinguish vendor rules from local custom rules, and how to validate that newly installed signatures generate alerts during controlled laboratory exercises. This completes the network detection foundation before integrating Suricata telemetry into the Wazuh Dashboard.

3.10 Emerging Threats Open — The Intelligence Behind Suricata

Learning Objectives

After completing this section, you should be able to:

  • Explain the purpose of intrusion detection signatures.

  • Describe the Emerging Threats Open (ET Open) project.

  • Understand how Suricata uses detection rules.

  • Identify the ET Open rule directory.

  • Update and validate ET Open signatures.

  • Differentiate vendor rules from locally developed rules.

Introduction

Installing Suricata provides a powerful packet inspection engine (Open Information Security Foundation, n.d.). However, an inspection engine without detection rules is much like a spell checker without a dictionary. It can process information. It cannot determine what is important. The intelligence behind Suricata comes from its rule sets. Throughout this textbook we use Emerging Threats Open (ET Open), one of the most widely deployed community-maintained intrusion detection rule sets in the cybersecurity industry. Every time Suricata generates an alert in our laboratory, one of these signatures made the detection possible (Proofpoint, n.d.).

What Is Emerging Threats Open?

Emerging Threats Open (ET Open) is a continuously updated collection of Suricata-compatible detection signatures maintained by the cybersecurity community and supported by Proofpoint (Proofpoint, n.d.).

The project provides thousands of rules designed to identify:

  • Malware communication

  • Command-and-control traffic

  • Port scanning

  • Web attacks

  • DNS abuse

  • Policy violations

  • Exploit attempts

  • Botnet activity

  • Protocol anomalies

  • Reconnaissance

Unlike commercial rule subscriptions, ET Open is freely available and ideally suited for education, research, and many production environments.

Figure 3-27

Detection Pipeline

Figure

Note. The pipeline shows how information moves through detection Pipeline, from its source through processing to the analyst-visible result.

Notice that ET Open performs the decision-making while Suricata performs the packet inspection.

Anatomy of a Detection Rule

Although Suricata rules may appear intimidating initially, they follow a predictable structure.

Consider the simplified example below:

alert tcp any any -> $HOME_NET 80 (msg:“Example HTTP Alert”; sid:1000001; rev:1;)

Every rule consists of several logical components.

Component Purpose
alert Action to perform
tcp Protocol
any any Source address and port
-> Traffic direction
$HOME_NET 80 Destination network and port
msg Alert description
sid Signature Identifier
rev Rule revision

Later chapters will explore rule writing in detail. For now, it is enough to understand that every alert originates from one of these signatures.

Signature IDs (SID)

Every rule contains a unique Signature ID (SID).

Example:

sid:2010935; The SID uniquely identifies the rule responsible for generating an alert.

During investigations, analysts frequently search for:

  • SID

  • Rule revision

  • Alert message

  • Metadata

Understanding the SID allows analysts to research why a rule fired and whether tuning is necessary.

Rule Categories

ET Open organizes rules into logical categories.

Examples include:

Category Purpose
emerging-malware.rules Malware communication
emerging-scan.rules Network reconnaissance
emerging-dns.rules DNS activity
emerging-web_server.rules Web server attacks
emerging-trojan.rules Trojan activity
emerging-policy.rules Policy violations
emerging-shellcode.rules Shellcode detection
emerging-attack_response.rules Attack responses

Grouping signatures makes rule management significantly easier.

Analyst Corner

Students sometimes ask:

“Why are there so many rules?” Because attackers use many different techniques. No single signature detects every attack. Instead, thousands of specialized signatures collectively provide broad coverage across multiple attack stages. Detection is layered—just like defense.

Where Are the Rules Stored?

In a default installation, ET Open rules reside in:

/var/lib/suricata/rules/ or, depending on your deployment:

/etc/suricata/rules/

Always verify your installation rather than assuming the location.

List the rule directory:

ls -lh /var/lib/suricata/rules or ls -lh /etc/suricata/rules

Document the actual location in your SOC Engineering Notebook.

Updating the Rule Set

Threat intelligence changes continuously. New malware families, vulnerabilities, and attack techniques appear every day. For this reason, ET Open must be updated regularly. Suricata provides suricata-update to manage rule downloads.

A typical update process is:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo suricata-update

After updating:

  • Review the output for errors.

  • Validate the configuration.

  •                                           sudo suricata -T -c `/etc/suricata/suricata.yaml`
  • Restart the service.

  •                                           sudo systemctl restart suricata
  • Confirm the service remains active.

Updating signatures without validating the configuration risks disabling the sensor.

Vendor Rules vs. Local Rules

A common mistake is editing vendor-supplied ET Open rules directly. This approach causes problems because updates overwrite vendor files. Instead, keep custom signatures separate.

Rule Type Purpose
ET Open Community-maintained detection rules
Local Rules Organization-specific signatures

A typical local rule file is:

/etc/suricata/rules/local.rules

This file is reserved for custom detections developed by your organization. Throughout this textbook, every custom rule you create will be stored here.

Figure 3-28

Rule Management

Figure

Note. The figure summarizes rule Management and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Separating vendor and local rules is a fundamental best practice.

Validating Rule Loading

Installing rules is not enough. Confirm they loaded successfully.

Review the Suricata startup log:

sudo journalctl -u suricata or examine:

/var/log/suricata/suricata.log

Look for messages indicating:

  • Rules loaded

  • Configuration successful

  • No syntax errors

  • No duplicate SIDs

  • No missing files

Successful rule loading is a prerequisite for detection.

Generating a Test Alert

The simplest way to verify ET Open is operational is to generate known network activity.

Examples used later in the book include:

  • Nmap port scans

  • EICAR antivirus download

  • HTTP requests

  • DNS lookups

  • ICMP traffic

After generating traffic:

  • Confirm Suricata processed packets.

  • Verify an alert appears in eve.json.

  • Confirm the Wazuh Agent forwards the event.

  • Verify the alert appears in the Dashboard.

The complete telemetry path should always be validated after major changes.

Common Student Mistake

Students often run:

sudo suricata-update and assume the new rules are active. Not necessarily.

Always verify:

  • Rules downloaded successfully.

  • Configuration passed validation.

  • Suricata restarted successfully.

  • New rules loaded.

  • Test traffic generated alerts.

A successful update command alone does not prove successful detection.

SOC Tip

Maintain a simple update checklist whenever you modify ET Open:

  • Update signatures.

  • Validate configuration.

  • Restart Suricata.

  • Check logs.

  • Generate known test traffic.

  • Confirm alerts in eve.json.

  • Confirm alerts in Wazuh.

Following this workflow ensures confidence in your detection capability.

Baseline Validation Checklist

Before continuing, verify:

Validation Expected
ET Open installed
Rules downloaded
Configuration validated
Suricata restarted
Rules loaded without errors
Test traffic generated
Alert written to eve.json
Alert visible in Wazuh
Snapshot created

Think Like a Detection Engineer

Imagine your organization experiences a newly disclosed vulnerability.

Your first question should not be:

“Does Suricata detect it?”

Instead ask:

  • Does ET Open include signatures?

  • Are our rules current?

  • Do we need temporary custom rules?

  • Should we tune existing signatures?

  • How will we validate detection?

Professional detection engineers recognize that the quality of an IDS is directly tied to the quality, maintenance, and validation of its signatures.

Looking Ahead

With Suricata and Emerging Threats Open fully operational, the next section integrates the network sensor with Wazuh. Students will configure the Ubuntu Wazuh Agent to monitor eve.json, validate JSON decoding, trace Suricata alerts through the Wazuh Manager, and confirm end-to-end visibility in the Dashboard. This completes the network telemetry pipeline and prepares the laboratory for the first realistic attack simulations and incident investigations.

3.11 Integrating Suricata with Wazuh

Learning Objectives

After completing this section, you should be able to:

  • Explain how Suricata communicates with Wazuh.

  • Configure the Wazuh Agent to monitor eve.json.

  • Validate JSON log collection.

  • Trace a network alert from packet capture to the Dashboard.

  • Troubleshoot the complete telemetry pipeline.

  • Verify end-to-end network visibility.

Introduction

By itself, Suricata is an excellent Network Intrusion Detection System. However, it has one limitation. Suricata only knows what it detects.

It has no knowledge of:

  • Windows processes

  • Sysmon events

  • Windows Defender

  • Linux authentication

  • File Integrity Monitoring

  • Wazuh Active Response

Likewise, Wazuh has no knowledge of network activity unless Suricata shares it. This section connects both systems into a single Security Operations Center.

The Complete Telemetry Pipeline

Throughout this textbook we have discussed telemetry as a series of independent components. Now we connect them together.

Figure 3-29

Complete Network Detection Pipeline

Figure

Note. The pipeline shows how information moves through complete Network Detection Pipeline, from its source through processing to the analyst-visible result.

Every alert generated throughout the remainder of this textbook follows this path.

The Role of eve.json

Suricata generates several log files.

The most important is:

/var/log/suricata/eve.json

Unlike traditional text logs, eve.json stores structured JSON records.

Each event may contain:

  • Timestamp

  • Source IP

  • Destination IP

  • Source Port

  • Destination Port

  • Protocol

  • Signature ID

  • Alert Message

  • Severity

  • Category

  • Flow Information

Because JSON is structured, Wazuh can decode fields automatically.

Why JSON Matters

Traditional log files require extensive parsing.

Example:

Jun 15 14:35:12 IDS ALERT TCP 192.168.1.40 …

JSON stores information as individual fields.

Example:

{ “src_ip”:“192.168.1.40”, “dest_ip”:“192.168.1.10”, “proto”:“TCP”, “signature”:“ET SCAN Potential SSH Scan” }

Structured data dramatically improves searching and correlation.

Analyst Corner

One reason modern SIEM platforms prefer JSON is that analysts search fields, not text.

Instead of searching an entire line, you can search only:

  • Source IP

  • Destination Port

  • Protocol

  • Alert Category

  • Signature

Structured telemetry makes investigations much faster.

Configuring the Wazuh Agent

The Ubuntu Wazuh Agent must monitor:

/var/log/suricata/eve.json

Within the Wazuh Agent configuration (ossec.conf), a log collection entry should specify:

  • Log format: json

  • Location: /var/log/suricata/eve.json

This instructs the agent to monitor the file continuously and forward newly written events to the Wazuh Manager. Instructor Note: Throughout this textbook we focus on understanding the configuration rather than memorizing XML syntax. The complete configuration examples are provided in Appendix B and the accompanying laboratory files.

Restarting the Agent

After modifying the configuration, restart the Wazuh Agent.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl restart wazuh-agent

Confirm:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo systemctl status wazuh-agent

Expected:

Active: active (running)

Never assume the restart succeeded. Always verify.

Validate the Agent Log

Review the agent log.

::: {custom-style="CodeLabel"} WAZUH-SRV · Terminal :::

sudo tail -f /var/ossec/logs/ossec.log

Watch for messages indicating:

  • Configuration loaded

  • JSON monitoring enabled

  • File opened successfully

  • No parsing errors

  • Connection established

Errors should be corrected before continuing.

Generate a Test Alert

Now generate known network activity.

Examples include:

  • Nmap scan

  • DNS lookup

  • HTTP request

  • EICAR download

For example:

curl http://example.com or, from Windows:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

nslookup example.com

The objective is to generate traffic that traverses the monitored interface.

Validate eve.json

Immediately verify that Suricata recorded the event.

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

sudo tail -f /var/log/suricata/eve.json

You should observe new JSON records appearing. If no new events appear, the problem exists before Wazuh. Do not troubleshoot Wazuh until Suricata is generating telemetry.

Figure 3-30

Validation Stage 1

Figure

Note. The figure summarizes validation Stage 1 and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Only after this succeeds should you continue.

Validate the Wazuh Dashboard

Log into the Dashboard.

Navigate to:

Security Events

Set the time range to:

Last 15 Minutes

Search for:

  • Suricata

  • The Ubuntu hostname

  • Source IP

  • Destination IP

  • Signature

Locate the generated alert. This confirms the complete telemetry pipeline is functioning.

Figure 3-31

Validation Stage 2

Figure

Note. The figure summarizes validation Stage 2 and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

This is the first complete proof that the network detection pipeline is operational.

Correlating Network and Endpoint Telemetry

The real strength of Wazuh becomes apparent when multiple telemetry sources describe the same activity.

Example:

Time Source Event
10:15:02 Sysmon PowerShell Started
10:15:04 Sysmon DNS Query
10:15:05 Suricata HTTP Request
10:15:06 Suricata Executable Download
10:15:08 Windows Defender Malware Quarantined
10:15:09 Wazuh Correlated Alert

Notice that no single technology tells the complete story. Together, they reconstruct the attack. This principle—telemetry correlation—is the defining capability of a modern SIEM.

Common Student Mistake

Students often search only for the alert title.

Professional analysts also examine:

  • Source IP

  • Destination IP

  • Flow ID

  • Signature ID (SID)

  • Alert category

  • Timestamp

  • Hostname

  • Related endpoint events

The objective is not simply to locate an alert. The objective is to understand the activity that generated it.

Troubleshooting the Pipeline

When alerts fail to appear, work through the pipeline sequentially.

Stage Validation
Traffic generated Confirm test traffic occurred
Interface receives packets Verify with tcpdump
Suricata running Check systemctl status suricata
Rules loaded Review suricata.log
eve.json updating Monitor with tail -f
Wazuh Agent running Check systemctl status wazuh-agent
Agent monitoring eve.json Review ossec.conf
Manager receiving events Check ossec.log
Dashboard displays alerts Search recent events

This systematic approach isolates the failure without unnecessary changes.

SOC Tip

Never troubleshoot from the Dashboard backward. Always troubleshoot from the packet forward. Packets become telemetry. Telemetry becomes events. Events become alerts. Working in the direction of data flow is faster and more reliable.

Baseline Validation Checklist

Before continuing, verify:

Validation Expected
Suricata writing eve.json
Wazuh Agent monitoring JSON
Agent restarted successfully
Agent log free of errors
Test traffic generated
Alert visible in eve.json
Alert visible in Dashboard
Timeline correlation successful
Snapshot created

Do not proceed until every item has been validated.

Think Like a SOC Analyst

Imagine a student says:

“Suricata isn’t working.”

Your first response should not be:

“Reinstall Suricata.”

Instead, ask:

  • Is traffic reaching the sensor?

  • Does tcpdump see packets?

  • Does eve.json update?

  • Is the Wazuh Agent monitoring the file?

  • Is the Manager receiving telemetry?

  • Can the Dashboard retrieve indexed events?

By asking these questions, you are no longer acting as a software installer—you are thinking like a Security Operations Center analyst.

Looking Ahead

With endpoint telemetry from Sysmon, network telemetry from Suricata, and centralized visibility through Wazuh, the laboratory now possesses a complete security monitoring capability. The next section introduces end-to-end validation testing, where students intentionally generate known events—including Nmap scans, EICAR antivirus detections, PowerShell execution, DNS queries, and web requests—to verify that every component of the SOC functions correctly. This operational validation becomes the standard health check performed before every future lab exercise and investigation (EICAR, n.d.).

3.12 End-to-End SOC Validation

Learning Objectives

After completing this section, you should be able to:

  • Validate the complete SOC telemetry pipeline.

  • Generate known-good test events.

  • Confirm endpoint and network visibility.

  • Verify Wazuh correlation across multiple telemetry sources.

  • Troubleshoot failures using a structured methodology.

  • Establish a repeatable daily operational validation routine.

Introduction

One of the most dangerous assumptions in cybersecurity is believing that a monitoring system is working simply because it is powered on. Professional Security Operations Centers validate their monitoring infrastructure continuously.

Why?

Because sensors fail. Agents disconnect. Disk space fills. Rules stop loading. Interfaces change. Updates introduce unexpected behavior. A monitoring system that silently stops collecting telemetry is often more dangerous than one that fails loudly. Throughout the remainder of this textbook, every laboratory exercise begins with a complete operational validation.

Why We Validate

Consider the following statement:

“No alerts appeared today.”

Is this good news?

Maybe.

Or perhaps:

  • Suricata stopped.

  • Sysmon is no longer logging (Russinovich & Garnier, n.d.).

  • The Wazuh Agent disconnected.

  • eve.json stopped updating.

  • The Dashboard is displaying yesterday’s data.

  • The Indexer has failed.

  • The time filter is incorrect.

Professional analysts never assume that silence means security. They first prove that the monitoring system is capable of detecting activity.

Figure 3-32

Operational Validation

Figure

Note. The figure summarizes operational Validation and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Daily SOC Startup Checklist

Before investigating alerts, verify the following:

Wazuh Server

Validation Expected
Manager running
Indexer running
Dashboard running
Disk space healthy
System time correct

Ubuntu Sensor

Validation Expected
Ubuntu running
Wazuh Agent active
Suricata active
eve.json updating
ET Open loaded

Windows Endpoint

Validation Expected
Windows running
Wazuh Agent active
Sysmon service running
Defender operational
Current Event Logs updating

Only after all systems pass validation should investigations begin.

Validation Test 1 — Linux Telemetry

Generate a Linux log entry.

Example:

logger “SOC Validation Test”

Expected Result:

  • Linux log updated

  • Wazuh Agent forwards event

  • Event appears in Dashboard

This validates endpoint telemetry from Ubuntu.

Validation Test 2 — Windows Sysmon

Generate a PowerShell event.

Example:

powershell.exe

Expected Result:

Sysmon Event ID 1 appears.

Then verify:

  • Wazuh receives the event.

  • Dashboard displays the alert.

Validation Test 3 — DNS Activity

Generate a DNS lookup.

Example:

::: {custom-style="CodeLabel"} WIN11 · PowerShell :::

nslookup www.example.com

Expected Result:

::: {custom-style="CodeLabel"} WIN11 · PowerShell :::

Sysmon Event ID 22.

Verify:

  • Event Viewer

  • Wazuh Dashboard

Students have already practiced this workflow in previous laboratories.

Validation Test 4 — Suricata

Generate simple network traffic.

Examples:

curl https://example.com or ping example.com

Verify:

  • Traffic observed

  • eve.json updated

  • Dashboard receives telemetry

Validation Test 5 — Nmap Scan

Perform a controlled scan against the Ubuntu sensor.

Example:

::: {custom-style="CodeLabel"} UB2604 · Terminal :::

nmap -sS 192.168.1.10

Expected Result:

::: {custom-style="CodeLabel"} UB2604 · Expected output :::

ET Open generates:
  • Port Scan alerts

  • Network reconnaissance detections

Students should locate these alerts inside Wazuh.

Validation Test 6 — EICAR

Generate an antivirus detection. Download the EICAR test file.

Expected:

Windows Defender:

  • Detects EICAR

  • Quarantines file

Wazuh:

  • Receives Defender telemetry

Students should correlate:

  • Defender

  • Sysmon

  • Wazuh

Analyst Corner

Notice something interesting. None of these tests attempts to simulate an advanced attacker.

Why?

Because the purpose of operational validation is not to test sophisticated detection.

The objective is much simpler:

Prove that every component of the monitoring pipeline still works. Advanced attack simulations come later.

Correlation Exercise

Students should now correlate events from multiple technologies.

Example timeline:

Time Source Event
10:15:01 Sysmon PowerShell Started
10:15:03 Sysmon DNS Query
10:15:05 Suricata HTTP Request
10:15:08 Windows Defender EICAR Detected
10:15:09 Wazuh Alert Generated

Question:

Could any individual technology explain the entire sequence?

No. Only correlation provides the complete picture.

Figure 3-33

Multi-Source Correlation

Figure

Note. The figure summarizes multi-Source Correlation and highlights the relationships among its principal elements, evidence sources, and analytical outcomes.

Measuring Success

At this stage of the laboratory, students should be capable of proving that:

  • Windows generates telemetry.

  • Ubuntu generates telemetry.

  • Suricata detects network traffic.

  • ET Open generates signatures.

  • Wazuh receives endpoint logs.

  • Wazuh receives network logs.

  • Wazuh correlates events.

  • Dashboard displays searchable alerts.

This represents a fully operational introductory Security Operations Center.

Common Student Mistake

Students often stop after seeing one successful alert.

Professional engineers verify:

  • Multiple telemetry sources

  • Multiple event types

  • Multiple hosts

  • Multiple timestamps

A single successful alert demonstrates functionality. A complete validation demonstrates reliability.

SOC Tip

Develop a personal habit:

Never trust yesterday’s validation. Validate your SOC today.

Monitoring systems change constantly due to:

  • Reboots

  • Updates

  • Configuration changes

  • Network changes

  • Rule updates

  • Human error

Operational confidence comes from current validation—not historical success.

End-to-End Troubleshooting Matrix

Symptom Likely Area to Investigate
No Windows events Sysmon, Wazuh Agent
No Suricata alerts Interface, eve.json, ET Open
No Dashboard alerts Manager, Indexer, Dashboard
Agent disconnected Networking, Agent service
DNS events missing Sysmon configuration
EICAR missing Defender status, Wazuh log collection
Port scan missing Suricata interface, HOME_NET, rules

This table becomes one of the most frequently referenced troubleshooting resources throughout the course.

Baseline Validation Checklist

Before proceeding to the next chapter:

Validation Status
Wazuh Server healthy
Ubuntu Agent healthy
Suricata operational
ET Open operational
Windows Agent healthy
Sysmon generating events
Defender generating events
Suricata alerts visible
Endpoint alerts visible
Dashboard operational
Complete telemetry pipeline verified
VMware snapshot created

Students should complete and initial this checklist at the beginning of every major lab exercise.

Think Like a SOC Engineer

Imagine arriving at work and discovering no alerts overnight.

Rather than celebrating, ask yourself:

  • Did the network become perfectly secure overnight?

  • Or did my monitoring infrastructure stop working?

The only way to answer that question is through systematic validation. Professional SOC engineers earn confidence through evidence, not assumptions.

Chapter Connection

At this point, the Security Operations Center laboratory is fully operational. Students have:

  • Built the infrastructure.

  • Validated the Wazuh Server.

  • Configured Ubuntu 26.04.

  • Installed the Wazuh Agent.

  • Deployed Suricata.

  • Integrated Emerging Threats Open.

  • Connected Suricata to Wazuh.

  • Verified endpoint telemetry.

  • Verified network telemetry.

  • Performed end-to-end operational validation.

Beginning in Chapter 4, students shift from building the SOC to using it. The focus changes from installation and validation to investigation, introducing the Wazuh Dashboard in depth, advanced searching, saved queries, timeline analysis, and the first structured incident investigations using the laboratory they have just engineered.

3.13 Chapter Summary

This chapter marked the transition from cybersecurity theory to hands-on engineering. Rather than installing software immediately, you first learned to plan a laboratory the way a professional SOC engineer would: choosing a consistent naming convention, documenting an IP addressing scheme, and understanding VMware’s virtual networking modes before touching a single configuration file.

You learned why the Ubuntu sensor in this lab carries two network interfaces — one for management traffic and one dedicated to promiscuous-mode packet capture — and why that separation mirrors how production network sensors are deployed. You validated the Wazuh Server, installed and validated the Wazuh Agent on Ubuntu, and installed Suricata along with the Emerging Threats Open rule set. Finally, you connected Suricata’s network telemetry to Wazuh and performed a complete end-to-end validation of the SOC laboratory, generating known test events and tracing them through every stage of the pipeline.

The methodology introduced in this chapter — install, configure, validate, document, snapshot — will repeat throughout the remainder of this textbook. So will the central principle first introduced in Chapter 1: never trust a monitoring system you have not personally validated.

Chapter 3 Key Terms

Term Definition
Bridged Networking A VMware network mode in which a virtual machine appears as an independent device on the physical network.
eve.json Suricata's structured JSON output file — the authoritative record of the events and alerts (flow, alert, DNS, HTTP, TLS, and other record types) the sensor observed.
Hypervisor Software responsible for creating and managing virtual machines (e.g., VMware Workstation).
Host-Only Networking A VMware network mode that isolates virtual machines from the physical network.
NAT Networking A VMware network mode in which the host acts as a router between virtual machines and the outside network.
Promiscuous Mode A network-interface mode that accepts packets not specifically addressed to the interface, subject to what the virtual switch forwards, so a sensor can inspect traffic destined for other hosts.
Signature ID (SID) The unique numeric identifier assigned to every Suricata rule (e.g., 2100498); how analysts research why an alert fired.
Snapshot A saved state of a virtual machine’s disk and configuration, used for rapid recovery.
Suricata The open-source Network Intrusion Detection System (NIDS) used throughout this book; it inspects packets against signatures and writes events and alerts to eve.json.
Emerging Threats Open (ET Open) A community-maintained, freely available Suricata rule set, updated daily and supported by Proofpoint.
VMnet A VMware virtual network to which virtual machines’ network adapters connect.
wazuh-install.sh The official Wazuh installation assistant script used to deploy the central components.

Knowledge Check

Select the best answer for each question.

1. Why does the Ubuntu sensor in this laboratory use two network interfaces?

A. To separate management traffic from dedicated packet-capture traffic

B. To increase Internet download speed

C. Because Wazuh requires two interfaces to install

D. To allow dual-booting

2. Which VMware network mode is most commonly used for cybersecurity laboratories that need realistic network visibility?

A. NAT

B. Host-Only

C. Bridged

D. Airplane mode

3. What is the primary purpose of a VMware snapshot?

A. To increase virtual machine performance

B. To provide a recovery point before making changes

C. To back up files to the cloud

D. To install new software automatically

4. Where does Suricata write its structured alert and event data by default?

A. /var/log/wazuh.json

B. /etc/suricata/suricata.yaml

C. /var/ossec/logs/ossec.log

D. /var/log/suricata/eve.json

5. What must be true before Suricata can detect a given packet?

A. The packet must be encrypted

B. The Wazuh Manager must request it

C. The packet must actually reach the monitored interface

D. The packet must originate from the Internet

6. What is the purpose of the Emerging Threats Open rule set?

A. It provides community-maintained detection signatures for Suricata

B. It replaces the Wazuh Manager

C. It encrypts agent-to-manager communication

D. It is a replacement for VMware networking

7. Where should custom, locally developed Suricata signatures be stored?

A. Inside the ET Open rule files directly

B. In suricata.yaml

C. In the Wazuh Manager configuration

D. In a separate local.rules file

8. Which command validates Suricata’s configuration file syntax before restarting the service?

A. suricata-update

B. suricata -T -c /etc/suricata/suricata.yaml

C. systemctl enable suricata

D. tail -f eve.json

9. If no Suricata alerts appear in the Wazuh Dashboard after a scan, what should be verified first?

A. Whether the Wazuh Dashboard theme is set correctly

B. Whether the scan was run twice

C. Whether the complete telemetry pipeline — packet, interface, Suricata, eve.json, Agent, Manager, Indexer, Dashboard — is intact

D. Whether Windows Defender is enabled

10. What is the recommended workflow before performing a major software installation in this lab?

A. Take a snapshot, then install, configure, and validate

B. Install first, document later

C. Disable all logging to improve performance

D. Skip validation to save time

Answer Key

Q Answer Why
1 A One NIC manages the VM; the second captures mirrored traffic promiscuously.
2 C Bridged mode places VMs on the physical network for realistic visibility.
3 B Snapshots provide a recovery point before risky changes.
4 D Suricata writes structured events to /var/log/suricata/eve.json.
5 C Suricata can only inspect packets that reach its monitored interface.
6 A ET Open supplies community-maintained Suricata signatures.
7 D Custom signatures belong in a separate local.rules file.
8 B suricata -T -c /etc/suricata/suricata.yaml validates configuration syntax.
9 C Verify the full pipeline: packet → interface → Suricata → eve.json → Agent → Manager → Indexer → Dashboard.
10 A Snapshot first, then install, configure, and validate.

Chapter Discussion Questions

  • Why is planning (naming conventions, IP addressing, network design) important before installing any software?

  • Explain why the Ubuntu sensor uses two separate network interfaces rather than one.

  • Describe the difference between Bridged, NAT, and Host-Only VMware networking, and explain when each is appropriate.

  • Why is a “successful” installation command insufficient proof that a service is functioning correctly?

  • Walk through the complete telemetry path from a network packet to a visible alert in the Wazuh Dashboard.

  • Why should vendor-supplied Suricata rules never be edited directly?

  • Explain why snapshots are considered one of the most valuable tools available to a SOC engineer.

  • Why does this chapter recommend validating one configuration change at a time rather than making several changes at once?

Further Resources