Core Security Principles
Talos is built on three foundational security principles:1. Minimal Attack Surface
Talos dramatically reduces the attack surface by:- No SSH access - SSH is completely absent from the system
- No shell access - No interactive shell or console access
- Immutable root filesystem - The OS is read-only and cannot be modified at runtime
- API-only management - All system operations happen through a secure gRPC API
- Minimal binaries - Only essential components are included
- No SSH key compromise
- No unauthorized shell access
- No runtime tampering with system files
- No privilege escalation through traditional shell exploits
2. Zero Trust by Default
Every interaction with Talos requires explicit authentication and authorization:- Mutual TLS (mTLS) for all API communications
- Certificate-based authentication - No passwords or shared secrets
- Role-based access control (RBAC) - Fine-grained permissions via roles
- Cryptographic identity - Every node and client has a cryptographic identity
3. Defense in Depth
Multiple layers of security controls:- PKI-based trust hierarchy - Separate CAs for Talos, Kubernetes, and etcd
- API authorization - Role-based access control for all operations
- Secure defaults - Security is the default configuration, not opt-in
- Automated certificate rotation - Built-in certificate lifecycle management
Threat Model
Talos is designed to protect against:Network-Level Threats
- Man-in-the-middle attacks - Prevented by mandatory mTLS
- Unauthorized API access - Prevented by certificate authentication
- Credential theft - No passwords or static credentials to steal
- Network eavesdropping - All communications are encrypted
System-Level Threats
- Privilege escalation - No shell access means no traditional escalation paths
- Runtime tampering - Immutable filesystem prevents modification
- Malicious binaries - Limited attack surface and read-only system
- Container breakout - Minimal host surface area to exploit
Operational Threats
- Credential leakage - Certificate-based authentication with short TTLs
- Insider threats - RBAC limits damage from compromised credentials
- Configuration drift - Immutable infrastructure prevents unauthorized changes
Architecture Components
Talos security is implemented through several key components:apid - API Gateway
Theapid service is the sole entry point for external communication:
- Enforces mTLS authentication on all connections
- Routes API requests to appropriate backend services
- Verifies client certificates and roles
- Located at
internal/app/apid/main.go:95- implements certificate verification
machined - System Controller
Themachined service manages system state:
- Implements the machine API
- Generates and manages node certificates
- Enforces authorization policies
- Maintains the security state of the system
trustd - Certificate Management
Thetrustd service handles certificate operations:
- Issues node certificates during bootstrap
- Manages certificate lifecycle
- Provides CSR (Certificate Signing Request) functionality
Public Key Infrastructure (PKI)
Talos uses a multi-tier PKI architecture with separate certificate authorities:Talos OS CA
Manages identity and authentication for the Talos API:- Signs client certificates for
talosctlaccess - Signs server certificates for Talos nodes
- Organization:
talos(seepkg/machinery/config/generate/secrets/ca.go:58)
Kubernetes CA
Manages Kubernetes control plane identity:- Signs Kubernetes component certificates
- Independent from Talos OS CA
- Organization:
kubernetes(seepkg/machinery/config/generate/secrets/ca.go:32)
etcd CA
Manages etcd cluster identity:- Signs etcd peer and client certificates
- Isolated from other PKI components
- Organization:
etcd(seepkg/machinery/config/generate/secrets/ca.go:20)
Kubernetes Aggregator CA
Manages front-proxy authentication:- Signs aggregator certificates
- Used for API server aggregation
- Common name:
front-proxy(seepkg/machinery/config/generate/secrets/ca.go:45)
Security Bundle
During cluster initialization, Talos generates a comprehensive secrets bundle containing:No SSH Philosophy
The absence of SSH is not an oversight—it’s a deliberate security decision: Why no SSH?- SSH is a common attack vector and requires constant patching
- SSH keys are often poorly managed and long-lived
- Shell access provides broad system access that’s hard to audit
- Interactive shells enable lateral movement after compromise
- Secure gRPC API with mTLS authentication
- Declarative configuration instead of imperative commands
- Structured API operations that can be audited
- Short-lived certificates with automatic rotation
- Role-based access control for fine-grained permissions
If you need to access node logs or inspect the system, use
talosctl commands like talosctl logs, talosctl dmesg, and talosctl dashboard instead of SSH.API-Only Management
All Talos operations happen through the gRPC API:- talosctl - Primary CLI tool for cluster management
- Machine API - Node lifecycle and configuration
- OS API - System diagnostics and operations
- Cluster API - Cluster-wide operations
- Requires a valid client certificate
- Is encrypted with TLS 1.3
- Is authorized based on client roles
- Can be audited and logged
Immutable Infrastructure
Talos implements true immutability:- Root filesystem is read-only (squashfs)
- System binaries cannot be modified
- No package manager or system updates via apt/yum
- Updates happen by replacing the entire OS image
- Prevents runtime tampering
- Ensures consistency across nodes
- Simplifies security auditing
- Enables atomic updates and rollbacks
Security Defaults
Talos ships with secure defaults:- mTLS enabled on all APIs
- No default passwords or credentials
- Encrypted etcd (via TLS)
- Certificate-based authentication only
- Minimal exposed network services
- SELinux enforcement (when available)
Compliance and Standards
Talos security design aligns with industry standards:- Zero Trust Architecture - Inspired by BeyondCorp and NIST 800-207
- Defense in Depth - Multiple independent security layers
- Least Privilege - Role-based access control limits permissions
- Immutable Infrastructure - Aligns with cloud-native security best practices
Next Steps
Certificates
Learn about PKI architecture and certificate management
Authentication
Understand mTLS authentication and talosconfig
Hardening
Security best practices and hardening guidelines