47.42° N · 9.37° E · St. Gallen, CH SG --:--:--

Cloud & network engineering, with a security focus.

Move the cursor across the name ↔ the weights follow

I'm Joel, a cloud and network engineer in St. Gallen. I build and run secure infrastructure for Swiss companies, mostly with Azure, Entra ID and firewalls such as Sophos and FortiGate. For fun, I play CTFs, do digital forensics and run a Kubernetes cluster at home.

01 Profile

Networks, cloud, security.

Short version

I work where networks, identity and cloud meet, with security as the thread through all of it. I like infrastructure that is segmented by default, declared in code where possible, and boring to operate.

EducationCurrently studying for a Bachelor in Computer Science at OST, the Eastern Switzerland University of Applied Sciences.
Now
  • StudyingCisco ENCOR and ENARSI, with CML labs and spaced repetition.
  • PreparingMicrosoft certifications across Azure, Entra ID, security and Intune.
  • LearningPython for network automation, coming from PowerShell.
St. Gallen, right now
--:--:--
 
How I look at a problem
Network lens

Everything is a path. Find where the packets disappear.

Tools I reach for
AzureAzure Virtual DesktopEntra IDIntuneActive DirectorySophosFortiGateArubaUniFiCisco CMLFreeRADIUSPowerShellPythoniperf3ProxmoxKubernetes
02 Stack

How it fits together.

The thinking behind each area, and how they connect. Click a node.

HubJoel
01 / 06

Identity & access

Identity is the new perimeter: decide who and what is trusted before deciding where it can go.

  • 01Prove who the user is and what the device is, not just where it connects from.
  • 02Prefer certificates and conditional sign-in over shared secrets that never expire.
  • 03Give every account the least access that still lets the work get done.
How it fits togetherIdentity decides who gets in. The network decides where they can go, and the cloud is where most of those identities now live.
Entra IDIntuneCloud PKIActive Directory
03 Work

Selected work.

Tools, builds and labs. Filter by theme, then open a row.

A standardised Azure landing zone, deployed consistently for every customer. It provides a solid platform foundation covering governance, networking, identity and monitoring, with integrated connectivity to the customer's on-premises environment.

  • A single reference architecture applied to every customer, so environments are consistent, predictable and straightforward to operate and support.
  • Governance through management groups and dedicated subscriptions, with Azure Policy assigned at the top so that every new subscription inherits the same guardrails.
  • Hub-and-spoke network topology: shared services and connectivity in the hub, with each workload isolated in its own spoke.
  • Hybrid connectivity to on-premises systems, keeping existing applications, users and domain services available alongside Azure.
  • Identity and access management based on Entra ID and role-based access control at the appropriate scope, with centralised logging and security monitoring.
  • Designed and implemented end to end, then rolled out using the same approach for each customer.
Reference build · every customerBuilt with
AzureManagement groupsAzure PolicyEntra IDLog AnalyticsDefender for CloudHybrid connectivity

The workloads hosted on the landing zones: virtual desktops, domain controllers and SQL Server, external access and backup, operated as one coherent environment.

  • Azure Virtual Desktop for users of graphics-intensive applications such as CAD.
  • Active Directory domain controllers and SQL Server hosted in Azure, close to the desktops that depend on them.
  • Secure external access for partner companies over Azure VPN with Entra ID authentication, limited to the resources each company needs (see the external access project).
  • Azure Backup and monitoring with alerting, so issues are identified before they affect users.
Enterprise buildBuilt with
Azure Virtual DesktopActive DirectorySQL ServerAzure BackupAzure Monitor

A Point-to-Site VPN on Azure that lets people from other companies reach only the services they need, signing in with Entra ID instead of certificates.

  • Entra ID sign-in through a custom app registration. Old and new Azure VPN Client app IDs are both authorised, so existing external users keep working.
  • Separation per company without turning guests into Members, because Members risk accidental SharePoint all-users shares. Sophos ZTNA and a PAM-style approach are being weighed.
  • Sophos traffic shaping with three policies (interactive, files, bulk) keeps RDP, DNS, Kerberos and SMB usable.
  • iperf3 baselines showed the on-premises uplink, not the VpnGw1AZ gateway, was the limit.
Build · ongoingBuilt with
Azure VPN GatewayEntra IDSophos Firewalliperf3

A redesign of a company network that mixes office and operational equipment, from five zones to ten, with a default-deny firewall policy and a 12-week migration plan.

  • Found the gaps: printers sharing a VLAN with clients, equipment of mixed trust levels, guests and contractors in one zone, open wall sockets, and no documented inter-VLAN policy.
  • New zones for printers, scanners and terminals, external contractors and a quarantine VLAN, with an IP plan that reserves space for VPN and a possible second site.
  • A 20-rule default-deny matrix, switch port profiles, SSID-to-VLAN mapping, and 802.1X where a RADIUS server is available.
  • Four migration phases over about 12 weeks with gate criteria, starting with hardening that changes no VLAN.
Design · conceptBuilt with
Firewall policyVLANs802.1XIP planning

Wi-Fi with no shared passphrase: devices get certificates from Intune Cloud PKI and prove who they are to a FreeRADIUS server before the access points let them on.

  • The Cloud PKI root and issuing CAs are in place and the Intune side is configured.
  • FreeRADIUS 3.2 validates device certificates, and Aruba Instant On access points act as the authenticators.
  • The RADIUS server's own certificate comes from Let's Encrypt, issued over DNS-01 with acme.sh and acme-dns.
Build · in progressBuilt with
Intune Cloud PKIFreeRADIUSAruba Instant OnLet's Encryptacme.sh

A Python tool that backs up and diffs firewall configurations through the Sophos Central API, built so that one customer's data can never be touched while working on another's.

  • Explicit tenant scoping: there is no back-up-everything mode across customers.
  • Detects configuration changes by diffing the exported Entities.xml between runs.
  • Hardened by default: 0700 directories and 0600 files, a host allow-list for *.central.sophos.com, no secrets or pre-signed URLs in logs, and retention control.
  • Paired with research on tracing a change to an admin: Fusion audit logs, per-firewall identity logging and the local configuration audit log.
Tool · tested on a mock APIBuilt with
PythonSophos Central APIXML diffing

A read-only PowerShell tool for auditing the security of a large, badly degraded Active Directory environment. Scoped to AD only, and built on guidance from CIS, MITRE and Microsoft.

  • About 3,300 lines, compatible with Windows PowerShell 5.1 and statically linted.
  • Read-only by design: it inspects the directory and never changes it.
  • Written for two readers: a technical report that references the frameworks, and a plain-language report for management.
Tool · v2.0Built with
PowerShell 5.1Active DirectoryCISMITRE

An interactive trainer for the Microsoft Azure, Entra, security and Intune certifications, built as a self-contained browser app.

  • Seven tracks from associate to expert level: AZ-104, SC-300, SC-500, MD-102, AZ-305, SC-100 and AZ-400.
  • Hands-on simulations: an RBAC scope picker, subnet sizing, an NSG rule engine and a Conditional Access policy engine.
  • Content checked against the current Microsoft Learn exam outlines. Progress stays in the browser.
Study toolBuilt with
JavaScriptMicrosoft LearnAzureEntra ID

A homelab Kubernetes platform on a single Proxmox host, running Talos Linux, with everything declared in Git and reconciled by Argo CD.

  • Cilium for networking, with an L2 load-balancer pool and Hubble Relay for flow visibility.
  • Argo CD in HA with an app-of-apps layout, Traefik for ingress and Longhorn for storage.
  • Next up: Vault with External Secrets Operator.
Side project · ongoingBuilt with
Talos LinuxProxmox VECiliumArgo CDLonghorn
04 Console

Or just ask.

A small command line instead of a menu. Type a command, or tap one.

joel@sg ~1 line
Console ready. Type "help" or tap a command.
05 Contact

Say hello.

Open to conversations about cloud and platform engineering, networks and security.