Skip to content

DEF CON 34 talks are here: 354 talks, summarized and searchable.

Browse DEF CON 34

Building Automated System for Deploying Lots of SA Systems for When SHTF

EeroHenri

CloudTalks39 minIntermediateOpen on YouTube ↗

Where

Talks
Disobey 2024

Duration

39 min

Describes how a volunteer team automates cloud deployments and certificate-based user enrollment for a situational awareness server.

Summary

The talk describes a volunteer project in Finland that builds an automated system for quickly deploying situational awareness tools, using the TAK server as the example product. The speakers explain how the plan shifted during development. An early Kubernetes approach on Azure Kubernetes Service did not work for a small volunteer team, and a network load balancer that could not handle TCP and UDP on the same port blocked one product. The team moved to virtual machines, then to Azure Container Apps as it matured, and used Pulumi to manage infrastructure state in place of an older Terraform pipeline.

The middle of the talk covers the enrollment design. An internal certificate authority service, built on CFSSL behind a Python API, issues mutual TLS certificates. Each deployment gets a single-use administrator login, and new users are approved by an administrator who checks a validation code after scanning a QR code. Revocation is handled centrally, because the products do not manage their own enrollment. The speakers also outline the state of the official TAK client builds and how packages were rebuilt from public releases. A live demo let attendees try enrollment during the session, and at least one person completed the flow.

The closing section focuses on the project's needs. It runs on volunteer time with a small number of key people, so it is at risk if those people leave. The speakers listed missing roles: integration developers, DevOps engineers, QA and test specialists, PKI experts, and frontend and UX designers. They noted that a professional UX designer made the enrollment flow much easier to use, and that testing coverage is still thin outside the core API.

Related talks