Back to Collect the record on SBD-SYSLOG01

COURSE 1.3 · CONFIGURATION CHECKLIST

Collect the record on SBD-SYSLOG01

Secure By Design · Edition 2.0 · 14 October 2026

This is the first of three logging courses. Course 1.3 designs the whole collect → protect → analyze pipeline and builds the collect stage on SBD-SYSLOG01; course 1.4 protects the record on SBD-AUDIT01, and course 1.5 analyzes it in SBD-SPLUNK01. Collection is configuration you can show: a subscription, a listener, and events with the right source names and times.

Download the workbook (Word)

Before you start

1. Design collect, protect, analyze

About 25 min · Open this lesson

Commands:

# From AdminJumpBox01 (Tier 0): what the DCs audit today.
Invoke-Command SBD-DC01, SBD-DC02 { auditpol /get /category:* /r } | Out-File C:\Evidence\logging-pipeline\DCs-auditpol-before.csv
# From SBD-ADMIN-SRV01 (Tier 1): no collector runs yet.
Invoke-Command SBD-SYSLOG01 { Get-Service Wecsvc | Select-Object Status, StartType }

Verify: The design names each stage's job, building course, scope, chosen retention period with its reason, and readers; the no-delete rule is written; the two streams and their pickup folders are named; and the register carries the five pipeline paths with owners, F24 for the router's deny log included.

Evidence: Keep the pipeline design sheet, the retention and access table, the stream and pickup definitions, and the new register rows.

Notes / result / date:

2. Turn on the right auditing

About 25 min · Open this lesson

Commands:

# From AdminJumpBox01 (Tier 0): effective audit policy and the policy result on a DC.
Invoke-Command SBD-DC01 { auditpol /get /category:* /r } | Out-File C:\Evidence\logging-pipeline\SBD-DC01-auditpol.csv
Invoke-Command SBD-DC01 { auditpol /get /subcategory:"Directory Service Changes,Security State Change" }
gpresult /s SBD-DC01 /scope computer /h C:\Evidence\logging-pipeline\SBD-DC01-gpresult.html

Verify: Effective audit policy on the DCs and admin hosts covers the designed subcategories at or above the STIG values, applied through GPO, with every addition documented.

Evidence: Keep the auditpol output per host class, the GPO report, and the documented additions.

Notes / result / date:

3. Build the collector

About 35 min · Open this lesson

Commands:

# On SBD-SYSLOG01 (Tier 1 session from SBD-ADMIN-SRV01): the subscription, the first events, and the listeners.
wecutil es
wecutil gs SBD-ForwardedSecurity
Get-WinEvent -LogName ForwardedEvents -MaxEvents 20 | Select-Object TimeCreated, Id, MachineName
Get-NetUDPEndpoint -LocalPort 514
Get-NetTCPConnection -LocalPort 6514,5985 -State Listen
# On each source, from its tier's seat: Network Service is in Event Log Readers, and the forwarder connected (events 104 and 100).
net localgroup "Event Log Readers"
Get-WinEvent -LogName 'Microsoft-Windows-Forwarding/Operational' -MaxEvents 5 | Select-Object TimeCreated, Id, Message

Verify: The subscription is enabled, events from every member of SBD Event Sources — Security and Time-Service — appear in ForwardedEvents with correct source machine names, router deny entries arrive in the syslog files, and only the registered ports listen.

Evidence: Record the subscription XML and wecutil gs output, the enrolling GPO report, the first forwarded event per source, a received router deny line, and the listener list.

Notes / result / date:

4. Keep the collector trustworthy

About 25 min · Open this lesson

Commands:

wecutil gr SBD-ForwardedSecurity
wevtutil sl ForwardedEvents /ms:4294967296 /rt:false   # 4 GB in this sample: size it to hold your chosen buffer
wevtutil gl ForwardedEvents
Get-WinEvent -LogName ForwardedEvents -Oldest -MaxEvents 1 | Select-Object TimeCreated
Get-Volume -DriveLetter D | Select-Object SizeRemaining, Size
Get-ChildItem D:\Logs\Syslog -Recurse -File | Sort-Object LastWriteTime -Descending | Select-Object -First 5 FullName, LastWriteTime

Verify: Every enrolled source is active with a recent heartbeat, ForwardedEvents overwrites oldest-first and holds more than the chosen buffer period, the data volume has headroom, every registered syslog sender wrote today, and the failure response names its owner.

Evidence: Keep the runtime status output, the log configuration, the oldest-event time, the volume figures, and the written failure response with its first daily check.

Notes / result / date:

5. Prove collection and hand off

About 30 min · Open this lesson

Commands:

# On SBD-SYSLOG01 (Tier 1 session): the failed sign-in, and the router's deny of the probe to SBD-DHCP01.
Get-WinEvent -FilterHashtable @{LogName='ForwardedEvents'; Id=4625; StartTime=(Get-Date).AddHours(-1)} | Select-Object TimeCreated, MachineName
Select-String -Path D:\Logs\Syslog\*\*.log -Pattern '10\.0\.20\.10' | Select-Object -Last 3
# On SBD-REPO01: the TLS driver, then /etc/rsyslog.d/sbd-forward.conf:
sudo dnf install rsyslog-gnutls
#   global(DefaultNetstreamDriverCAFile="/etc/pki/tls/certs/ca-bundle.crt")
#   *.* action(type="omfwd" target="SBD-SYSLOG01.sbd.test" port="6514" protocol="tcp"
#          StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name"
#          StreamDriverPermittedPeers="SBD-SYSLOG01.sbd.test")
# Check the configuration, restart, confirm the TLS session, then send the test message.
sudo rsyslogd -N1
sudo systemctl restart rsyslog
ss -tn 'dport = :6514'
logger -t sbd-collector-proof 'SBD-REPO01 syslog over TLS test'
# Back on SBD-SYSLOG01: the test message in REPO01's daily file.
Select-String -Path D:\Logs\Syslog\*\*.log -Pattern 'sbd-collector-proof' | Select-Object -First 3
# On SBD-ADMIN-SRV01: this course's evidence, hashed.
Get-FileHash -Algorithm SHA256 C:\Evidence\logging-pipeline\*

Verify: The failed sign-in, the router deny, and REPO01's test message each appear on the collector with the right source and a time that matches the source; SBD-SYSLOG01 has its first baseline; and the DC rescan deltas are attributed to the audit policy.

Evidence: Keep the three traces with their timestamps, REPO01's forwarding configuration, the scan set with hashes, and the handoff note to course 1.4.

Notes / result / date:

Sources