altamishpirzada

Portfolio of my cybersecurity projects

View on GitHub

Homelab Architecture

This is the environment everything else in my portfolio runs on. I built it to mirror the patterns I see in enterprise networks: segmentation, a proper firewall, an IDS, and centralised logging, so I could practice detection and investigation on infrastructure I understand end to end, and keep building on as my projects grow.

Topology

Network topology

At a high level, an appliance running OPNsense sits at the edge as the firewall and router, a Netgear managed switch handles VLAN tagging, and a UniFi access point provides wireless, managed from a UniFi controller I self-host on an Ubuntu server.

Why segmentation

The whole network is carved into VLANs rather than sitting on one flat LAN, and that was the first decision I made. A flat network means anything that gets onto it can reach everything else. Segmenting by trust level gives me real boundaries to enforce at the firewall, and it gives me meaningful traffic to watch: when something on a low-trust segment tries to reach a high-trust one, that’s a signal worth alerting on.

The segments break down roughly as:

I created rules on the OPNsense firewall to deny inter-VLAN traffic, and I only open the specific paths each segment genuinely needs.

Core network services

OPNsense handles DHCP and DNS across the VLANs, with Unbound as the resolver. I have it forward queries over DNS over TLS to Quad9, so lookups are encrypted in transit and filtered against known-malicious domains by default. It’s a small bit of config for a worthwhile gain in privacy and security.

Why OPNsense

My ISP’s router was reliable but not suitable for a home lab, so replacing it was one of the first things I did. I wanted a firewall I could actually configure and inspect, not one that hides everything behind a friendly UI. OPNsense gives me granular rules, proper logging, and the freedom to shape the network how I want, and running it on a dedicated appliance keeps it isolated from anything I’m experimenting on.

Suricata (IDS)

Suricata runs on OPNsense and inspects traffic as it crosses the firewall. Rather than letting those alerts sit in a separate console, I forward Suricata’s eve.json into Wazuh so network detections land in the same place as my endpoint detections. That single-pane approach is deliberate: it’s how a real SOC works, correlating host and network signals together instead of swivel-chairing between tools.

Centralised logging

I set up forwarding so everything that generates logs sends them to Wazuh: the Windows endpoints via Sysmon, plus OPNsense, Suricata, and the firewall from the edge. Centralising them is what turns a pile of separate devices into one environment I can monitor and investigate. There’s more I could forward (the UniFi controller, for instance), but some sources need a custom decoder before Wazuh can parse them, so part of the ongoing work is deciding which logs are actually worth adding.

What’s next

Some of what’s planned or in progress:

Detection and monitoring

Adversary simulation and analysis

Automation

Infrastructure