← Back to Cybersecurity Projects
CompletedSIEM & Log AnalysisLocal SOC Lab

SSH Log Analysis using Splunk

Local Splunk Enterprise Lab — SSH Authentication Analysis

A local SOC lab focused on analyzing SSH authentication activity in Splunk to detect failed login patterns, repeated authentication failures, successful access, and connections without authentication.

Role
SOC Analyst Learner
Environment
Local Splunk Enterprise Lab
Scenario
SSH Authentication Analysis
Status
Completed
SIEM
Splunk Enterprise
Events
1,200 SSH events

01Scenario Overview

This case study documents a hands-on SSH authentication investigation using Splunk Enterprise. The lab focused on ingesting a JSON SSH dataset, validating extracted fields, and using SPL searches to identify suspicious login behavior.

The investigation covered successful logins, failed logins, multiple failed authentication attempts, and connections that reached SSH without completing authentication.

02Investigation Workflow

01

Upload SSH Logs

Uploaded the JSON SSH dataset into Splunk Enterprise using the Add Data workflow.

02

Validate Fields

Confirmed key fields such as event_type, auth_success, auth_attempts, id.orig_h, and id.resp_h were parsed.

03

Count Event Types

Used SPL to summarize SSH activity across successful logins, failed logins, repeated failures, and unauthenticated connections.

04

Analyze Failed Logins

Grouped failed login attempts by source IP to identify repeated authentication failures.

05

Review Brute-Force Indicators

Compared source and destination pairs for multiple failed authentication attempts.

06

Document Alert Logic

Defined a high-risk alert condition for repeated failures within a short window.

03SSH Event Counts

The validation search returned 1,200 total SSH events across four categories.

Event Type

306

Successful SSH Login

Event Type

305

Failed SSH Login

Event Type

303

Multiple Failed Authentication Attempts

Event Type

286

Connection Without Authentication

04SPL Searches Practiced

SPL

Validate SSH Event Categories

index=ssh_logs source="ssh_logs.json"
| stats count by event_type
SPL

Failed SSH Logins by Source IP

index=ssh_logs source="ssh_logs.json" event_type="Failed SSH Login"
| stats count by id.orig_h
| head 10
SPL

Multiple Failed Authentication Attempts

index=ssh_logs source="ssh_logs.json" event_type="Multiple Failed Authentication Attempts"
| stats count by id.orig_h id.resp_h
SPL

Successful SSH Logins

index=ssh_logs source="ssh_logs.json" event_type="Successful SSH Login"
| stats count by id.orig_h id.resp_h
SPL

Connections Without Authentication

index=ssh_logs event_type="Connection Without Authentication"
| stats count by id.orig_h

05Alert Logic

The brute-force detection logic focused on source and destination pairs with repeated failed authentication activity.

Multiple Failed Attempts + Source IP + Destination Host → High-Risk SSH Alert
index=ssh_logs event_type="Multiple Failed Authentication Attempts"
| stats count by id.orig_h id.resp_h
| where count > 5

06Key Findings

07Skills Demonstrated

Log Ingestion

Practiced during the SSH log analysis workflow.

Field Validation

Practiced during the SSH log analysis workflow.

SPL Searching

Practiced during the SSH log analysis workflow.

Failed Login Analysis

Practiced during the SSH log analysis workflow.

Brute-Force Detection

Practiced during the SSH log analysis workflow.

SSH Monitoring

Practiced during the SSH log analysis workflow.

Alert Logic

Practiced during the SSH log analysis workflow.

SOC Documentation

Practiced during the SSH log analysis workflow.

08Lessons Learned

This lab reinforced that effective Splunk analysis starts with a clear security question. The most useful workflow was to identify the behavior, choose the fields, build the SPL search, review the evidence, and explain the security meaning.

The project also showed how visualizations and alert logic can help turn raw authentication logs into an analyst-friendly SOC workflow.

09Training Context

This case study uses lab-provided SSH log data for educational purposes. The activity patterns are part of a controlled training environment and do not represent production systems.

← Back to Cybersecurity ProjectsView GitHub Documentation ↗