In this phase of the project, I focused on collecting, visualizing, and understanding Windows security logs using the Elastic Stack (Elasticsearch, Kibana, and Winlogbeat).

Log Collection with Winlogbeat

The first step was to configure Winlogbeat on a Windows machine to collect system and security logs.

These logs were then forwarded to Elasticsearch, where they were indexed and made searchable.

After setup, I verified the data ingestion by querying Elasticsearch:

  • Index: winlogbeat-*
  • Example event: event.code: 4625 (Failed login attempts)

Exploring Logs in Kibana

Using Kibana’s Discover tab, I was able to:

  • Search logs using filters (e.g., event.code: 4625)
  • Inspect structured fields like:
  • Validate that logs were correctly parsed and indexed

This step was crucial to ensure data quality before moving into analysis.

Creating Visualizations

Once the data was verified, I moved to Kibana Visualize Library to build meaningful visualizations.

Example Visualization: Failed Login Attempts by User

  • Chart Type: Bar Chart
  • X-Axis: user.name.keyword (Top users)
  • Y-Axis: Count of events

This helped identify which users had the highest number of failed login attempts.

Dashboard Creation

After building individual visualizations, I combined them into a dashboard to monitor activity more efficiently.

The dashboard included:

  • Failed login attempts per user
  • Event distribution over time
  • Host-level activity insights

This provided a centralized view of system activity and potential security events.

Challenges Faced

During this phase, I encountered a few common issues:

  • Some fields (e.g., IP address) did not contain data in certain logs
  • Incorrect time range filtering resulted in empty visualizations
  • Field mapping differences (e.g., keyword usage) affected aggregation

Resolving these issues improved my understanding of how Elasticsearch stores and structures data.

Key Takeaways

  • Understanding field mappings is essential for building accurate visualizations
  • Time filtering plays a critical role in log analysis
  • Kibana is powerful for exploration, but requires clean and structured data
  • Event codes (like 4625) are key to detecting security-related behavior

Next Steps

With the visualization layer complete, the next phase focuses on:

  • Building a custom backend using Node.js
  • Creating detection logic (e.g., brute force detection)
  • Connecting Elasticsearch data to a custom application dashboard

This phase laid the foundation for moving from log collection → visualization → detection & automation.