whatisgithub

What is cyberdefense-lab?

umidguluzada/cyberdefense-lab — explained in plain English

Analysis updated 2026-05-18

3Audience · researcherComplexity · 5/5Setup · hard

In one sentence

A step-by-step blueprint for building a virtualized home lab with pfSense, Suricata, and the ELK stack to practice detecting and blocking network attacks.

Mindmap

mindmap
  root((CyberDefense Lab))
    What it does
      Virtual blue team lab
      Network segmentation
      Attack simulation and detection
    Tech stack
      pfSense
      Suricata
      ELK stack
      VMware
    Use cases
      Practice network defense
      Configure IDS and IPS rules
      Monitor logs in Kibana
    Audience
      Security learners
      Homelab builders
    Notes
      Educational only
      Real troubleshooting notes included

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a personal virtualized lab to practice blue team network defense skills.

USE CASE 2

Learn how to configure Suricata IDS/IPS rules and automatic IP blocking.

USE CASE 3

Practice forwarding firewall and intrusion detection logs into an ELK stack for monitoring.

USE CASE 4

Study how to segment attacker and victim machines on separate network interfaces.

What is it built with?

pfSenseSuricataElasticsearchLogstashKibanaVMware

How does it compare?

umidguluzada/cyberdefense-lab000madz000/payload-test-api-route-handler0marildo/imago
Stars333
LanguageTypeScriptPython
Setup difficultyhardeasyeasy
Complexity5/52/52/5
Audienceresearcherdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires VMware, several virtual machines, and enough RAM to run pfSense, ELK, Windows, and Kali simultaneously.

So what is it?

CyberDefense Lab is a documented blueprint for building a home cybersecurity practice lab rather than a piece of software you run. It walks through setting up a small virtualized network using VMware, with a pfSense firewall, an Ubuntu server running the ELK stack for monitoring, a Windows machine acting as a target, and a Kali Linux machine acting as a simulated attacker. Each virtual machine gets its own IP range, and the attacker and target are kept on separate network segments so all traffic between them has to pass through the firewall, where it can be inspected and logged. The core defensive piece is Suricata, an intrusion detection and prevention tool, configured here in an inline mode that can actively block traffic rather than just watching it. It uses rule sets designed to catch exploits, scans, and malware, plus a custom rule that flags and blocks an IP automatically if it sends more than 20 connection attempts in 10 seconds, catching typical network scanning behavior. Logs from the firewall and from Suricata are forwarded into the ELK stack (Elasticsearch, Logstash, and Kibana) so an operator can search and visualize security events, including failed Windows login attempts. The README also documents real problems the author ran into while building this, such as attacks not showing up because two machines were mistakenly on the same network segment, and the ELK server crashing until more memory was allocated to it. It finishes with verification steps showing that a simulated network scan was detected and blocked, and that brute-force login attempts were visible in the Kibana dashboard in real time. This project is explicitly built for education and practice, not production use. It suits someone learning blue team security concepts, network segmentation, or SIEM tooling who wants a concrete, working reference lab to replicate rather than an installable application.

Copy-paste prompts

Prompt 1
Walk me through setting up the pfSense, Suricata, and ELK lab described in this README step by step.
Prompt 2
Explain how the custom Suricata rule for detecting 20+ connection attempts in 10 seconds works.
Prompt 3
Help me troubleshoot why my brute-force attack simulation isn't showing up in my ELK dashboard.
Prompt 4
What network segmentation choices does this lab make and why do they matter for security testing?

Frequently asked questions

What is cyberdefense-lab?

A step-by-step blueprint for building a virtualized home lab with pfSense, Suricata, and the ELK stack to practice detecting and blocking network attacks.

How hard is cyberdefense-lab to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is cyberdefense-lab for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.