4 Project 1 Architecture Notes
Matt C edited this page 2025-09-12 14:04:38 -04:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Architecture

Component Overview:

Headless Server (Backend)

  • Harden/Lock down server to collect data/info from endpoints
  • Database involved?
  • TCP Proto SSL?
  • Python so we don’t go insane
  • Talk to hypervisor API when dispatching jobs to virtualized endpoint
  • AKA “snapshot before apt-upgrade or config change”

Endpoint Client (service)

  • Some compiled language (for funny + portability)
  • Talk to backend to get and execute jobs
    • Similar to C2 Beacon → Need to defend + check in w/ Backend Server periodically
  • Auto-enroll with backend server (for ease of automation)

Management Client (and/or web panel?? (maybe not)

  • Dispatch jobs to clients via backend server
  • Get job results
  • Get inventory data on endpoints
    • OS type, version
    • Service type/versions
    • Outdated things?
    • Outstanding config issues / auth failures etc

OS targets:

Linux

  • Systemd-based (Debian, Rocky, etc)
  • Non-systemd? (Gentoo, Devuan etc)

BSD

  • FreeBSD
  • OpenBSD

MacOS ???

Windows

  • WKS
  • Server (core)

Demo/Testing Tools:

  • Proxmox - Deployment Test Scripts + Terraform/Ansible
  • VMs for sample env
    • Backend server - Debian
    • Mgmt box w/ mgmt client installed - Xubuntu etc
    • Sample hosts: 1x Linux, 1x BSD, 1x Windows (maybe Mac if we’re brave?)
  • Github → Suggested Setups
    • Auto Updates
    • Harden
    • Installing the service (based on the latest tagged release on github)
      • Install Scripts based on OS type (apt, dnf/yum, Windows Whatever)
      • Setup host as Endpoint “0”

Diagrams:

image image

==

References:

==

Test Automation Resources: