Skip to main content
  1. Posts/
  2. The Solo Stack/
  3. Control Box/

Where should I put my secure controlbox?

·1654 words·8 mins
Controlbox - This article is part of a series.
Part 2: This Article

Location, Location, Location: Where to Deploy Your Secure Controlbox
#

In our previous article, we established why a dedicated controlbox is essential for secure infrastructure management. Now comes the critical question: where should you actually put this controlbox? The location and access method you choose will fundamentally determine whether your security investment pays off or becomes a false sense of security.

Let’s examine the options, their trade-offs, and why the obvious choices are often the wrong ones.

Option 1: Local Virtualization (Hyper-V, VMware, VirtualBox)
#

The first instinct many administrators have is to run the controlbox as a virtual machine on their local workstation using Hyper-V, VMware, or VirtualBox.

Why this seems attractive:

  • Quick to set up
  • No additional hardware required
  • Fast local access
  • Full control over the VM

Why this is a security disaster:

graph TD
    subgraph "Your Local PC (Host)"
        A[Malware/Compromise]
        B[Host OS]
        subgraph "Hypervisor"
            C[Controlbox VM]
            D[SSH Keys]
        end
    end

    A --> B
    B --> C
    C --> D

    style A fill:#ffcccc,stroke:#333,stroke-width:2px
    style C fill:#ffdddd,stroke:#333,stroke-width:2px

The fundamental problem is that a virtual machine cannot be more secure than its host. If your daily-use PC gets compromised:

  • The attacker has full access to the hypervisor
  • They can access VM files directly from the host filesystem
  • They can extract SSH keys from VM memory or disk
  • They can modify the VM or install keyloggers to capture credentials

Running your controlbox locally is like putting your house key in a “secure” lockbox that’s sitting on your front porch. The container might look secure, but the location makes it trivial to compromise.

Option 2: WSL2 (Windows Subsystem for Linux)
#

WSL2 is essentially a lightweight VM running on Windows, so it suffers from all the same problems as Option 1, but with additional concerns:

graph TD
    subgraph "Windows Host"
        A[Windows OS]
        B[Malware/Compromise]
        subgraph "WSL2"
            C[Linux Environment]
            D[SSH Keys]
        end
    end

    B --> A
    A --> C
    C --> D

    style B fill:#ffcccc,stroke:#333,stroke-width:2px
    style C fill:#ffdddd,stroke:#333,stroke-width:2px

Additional WSL2 problems:

  • Shared filesystem access between Windows and Linux
  • Windows processes can interact with WSL2 processes
  • Even tighter integration means even easier compromise
  • No real isolation from the host system

WSL2 for a controlbox is like having a “secure room” inside your house where the walls don’t reach the ceiling and the door doesn’t lock.

Option 3: Dedicated Server or Remote VM (The Right Choice)
#

The only secure approach is to physically or logically separate your controlbox from your daily-use environment. This means either:

  1. A dedicated physical device (like a Raspberry Pi, Intel NUC, or small server)
  2. A VM on a separate host (like Proxmox, ESXi, or a cloud VPS)
graph TD
    subgraph "Your Daily PC"
        A[Browser, Email, etc.]
        B[Potential Malware]
    end

    subgraph "Network Boundary"
        C[Firewall/Router]
    end

    subgraph "Dedicated Host"
        D[Controlbox]
        E[SSH Keys]
    end

    subgraph "Production Servers"
        F[Server 1]
        G[Server 2]
    end

    A -.->|"Limited Access"| C
    C --> D
    D --> E
    E --> F
    E --> G

    style D fill:#cce5ff,stroke:#333,stroke-width:2px
    style E fill:#cce5ff,stroke:#333,stroke-width:2px

Why this works:

  • Physical isolation: Even if your daily PC is compromised, the attacker cannot directly access the controlbox
  • Network boundaries: Additional layers of protection through firewalls and network segmentation
  • Independent operation: The controlbox continues to function even if your main PC is offline or compromised

The Network Security Layer: Don’t Expose SSH to the Internet
#

Here’s where many people make their second critical mistake. They set up a dedicated controlbox (good!) but then expose SSH directly to the internet on a non-standard port (bad!).

The wrong approach:

graph TD
    subgraph "Internet"
        A[Your Daily PC]
        B[Attackers]
    end

    subgraph "Your Network"
        C[Router/Firewall]
        D[Controlbox :2222]
    end

    A -->|SSH to port 2222| C
    B -->|Port scanning/attacks| C
    C --> D

    style B fill:#ffcccc,stroke:#333,stroke-width:2px
    style D fill:#ffdddd,stroke:#333,stroke-width:2px

Problems with direct SSH exposure:

  • Constant attack surface: Your controlbox becomes a target for automated attacks
  • Port scanning: Attackers will find your non-standard SSH port
  • Brute force attacks: Even with strong authentication, constant login attempts create risk
  • Zero-day vulnerabilities: SSH vulnerabilities could directly compromise your controlbox

The Right Approach: VPN + Private Network Access
#

The professional approach is to place your controlbox on a private network and use a VPN (like WireGuard) to access that network first.

graph TD
    subgraph "Internet"
        A[Your Daily PC]
        B[Attackers]
    end

    subgraph "Your Private Network"
        C[VPN Server]
        D[Controlbox :22]
        E[Other Infrastructure]
    end

    subgraph "Production Servers"
        F[Server 1]
        G[Server 2]
    end

    A -->|WireGuard VPN| C
    B -.->|"Can't see controlbox"| C
    C -.->|"After VPN connection"| D
    D --> F
    D --> G

    style C fill:#90EE90,stroke:#333,stroke-width:2px
    style D fill:#cce5ff,stroke:#333,stroke-width:2px

Why this approach is superior:

  1. Hidden attack surface: The controlbox is not visible from the internet at all
  2. Authentication at the network level: Attackers must first break your VPN authentication
  3. Encrypted tunnel: All traffic between your PC and the private network is encrypted
  4. Standard SSH port: You can use port 22 internally since it’s not exposed
  5. Network segmentation: Easy to implement additional internal firewall rules

Recommended Implementation#

For a home or small business setup, here’s the ideal architecture:

Hardware:

  • A small dedicated device (Raspberry Pi 4, Intel NUC, or similar)
  • OR a VM on a separate hypervisor (Proxmox, ESXi)

Network Configuration:

  1. WireGuard VPN server on your router or a dedicated VM
  2. Controlbox on private network (e.g., 192.168.100.0/24)
  3. No direct internet access to the controlbox
  4. Firewall rules allowing only VPN clients to access the controlbox

Access Workflow:

  1. Connect to your WireGuard VPN from your daily PC
  2. SSH to the controlbox using its private IP address
  3. From the controlbox, manage your production infrastructure

Additional Security Considerations
#

Before we dive into specific implementations, here are some critical security enhancements often overlooked:

Multi-Factor Authentication (MFA)
#

Even with VPN protection, your controlbox should require MFA for SSH access. Consider:

  • Hardware tokens (YubiKey, etc.) for the highest security
  • TOTP apps (Google Authenticator, Authy) as a practical alternative
  • SSH certificates with short validity periods

Network Segmentation Beyond VPN
#

Your controlbox should ideally be on its own VLAN, separate from other internal services:

  • Controlbox VLAN (e.g., 192.168.200.0/24)
  • Infrastructure services VLAN (e.g., 192.168.100.0/24)
  • Firewall rules allowing only necessary traffic between VLANs

Backup and Recovery Strategy
#

Your controlbox contains the keys to everything - what happens if it fails?

  • Regular encrypted backups of SSH keys and configuration
  • Documented recovery procedures stored securely offline
  • Secondary controlbox for high-availability environments

Leveraging Existing Proxmox Infrastructure
#

If you’re already running a mini-PC as a router with virtualization capabilities—particularly one running Proxmox with essential services like OPNsense, Pi-hole, WireGuard, and other network tools—this presents an excellent opportunity for your controlbox deployment.

Hardware Note: A cheap mini-PC based on an Intel N100 or N150 processor is typically more than sufficient for this type of setup. These low-power, fanless devices (often available for $150-300) provide enough compute power to run multiple lightweight VMs while consuming minimal electricity and operating silently. As an added bonus, this minimal setup can even serve as a PXE boot server for your more powerful servers, and with tools like OpenMaaS, you can fully automate Proxmox installations and configurations across your entire infrastructure.

Why this setup is ideal:

graph TD
    subgraph "Mini-PC Router/Proxmox Host"
        A[OPNsense Firewall]
        B[Pi-hole DNS]
        C[WireGuard VPN]
        D[Controlbox VM]
        E[Other Services]
    end
    
    subgraph "Internet"
        F[Your Daily PC]
        G[External Threats]
    end
    
    subgraph "Internal Network"
        H[Production Servers]
    end

    F -->|WireGuard| C
    G -.->|Blocked| A
    C --> D
    D --> H
    A --> B
    A --> D

    style A fill:#90EE90,stroke:#333,stroke-width:2px
    style C fill:#90EE90,stroke:#333,stroke-width:2px
    style D fill:#cce5ff,stroke:#333,stroke-width:2px

Benefits of this approach:

  • Integrated security stack: Your controlbox benefits from the same firewall rules and network segmentation protecting your other critical services
  • Shared VPN infrastructure: Leverage your existing WireGuard setup without additional complexity
  • Resource efficiency: A controlbox VM requires minimal resources (512MB RAM, 10GB disk is often sufficient)
  • Centralized management: All your core infrastructure services are managed from a single, hardened platform
  • Hardware isolation: The mini-PC is dedicated to infrastructure services, not daily computing tasks
  • Complete automation potential: This setup allows you to automate the complete setup of other servers starting from boot, including network booting (PXE) scenarios for fully hands-off server provisioning

Additional Proxmox Security Considerations:

  • VM isolation: Use separate storage pools and network bridges for the controlbox
  • Resource limits: Set CPU and memory limits to prevent resource exhaustion attacks
  • Snapshot strategy: Regular VM snapshots before making changes (but don’t rely on them for long-term backup)
  • Host hardening: Ensure the Proxmox host itself is properly secured and updated

Considerations:

  • Resource allocation: Ensure your Proxmox host has sufficient resources for all services plus the controlbox
  • Backup strategy: Include the controlbox VM in your existing Proxmox backup routines
  • Network isolation: Configure proper VLANs or internal firewall rules to isolate the controlbox even within your trusted network
  • Physical security: Since this device likely sits in your home/office, ensure it’s physically secured
  • Update management: Plan for automated security updates without breaking your automation tools

Advanced Setup Option: For ultimate security, consider a “cold” backup controlbox that’s normally powered off and only activated for critical maintenance or when the primary controlbox is compromised.

This setup is particularly attractive because you’re building on proven, existing infrastructure rather than introducing new single points of failure. Your controlbox becomes just another service in your well-orchestrated virtualization environment.

Conclusion
#

The location of your controlbox is just as important as its configuration. By placing it on a dedicated host behind a VPN, you create multiple layers of security that protect your most critical administrative access.

Remember: security is about layers and isolation. Each boundary an attacker must cross reduces their chances of success and increases the likelihood they’ll be detected.

In our next article, we’ll walk through the actual implementation: setting up a hardened Debian 12 controlbox and configuring WireGuard for secure access.


Pro tip: Start with a cloud VPS if you don’t have dedicated hardware yet. Services like Linode, DigitalOcean, or Vultr offer small VMs perfect for a controlbox at around $5-10/month. Just remember to place them behind a VPN endpoint! For cloud deployments, consider using dedicated instances rather than shared virtualization for better isolation.

Marcus Knuth
Author
Marcus Knuth
Controlbox - This article is part of a series.
Part 2: This Article

Related