Telco edge platforms sit at the intersection of critical infrastructure and cloud-native software. A compromise doesn't just leak data — it can affect radio network operations. This post covers the five-layer security model implemented in the EIB-Customer platform, from immutable OS to network segmentation.

Security Architecture Overview

Layer 1: OS Security (SLE Micro 6.1)
    │  Immutable root filesystem
    │  SELinux enforcing
    │  CIS kernel parameters
    │  Minimal package footprint
    ▼
Layer 2: Kubernetes Security (RKE2)
    │  CIS Benchmark profile
    │  TLS everywhere
    │  etcd encryption at rest
    │  RBAC
    ▼
Layer 3: Pod Security (Admission Control)
    │  Pod Security Standards: restricted
    │  Block non-compliant workloads
    │  Namespace-level enforcement
    ▼
Layer 4: Network Segmentation
    │  Separate management / data / accelerator networks
    │  Calico Network Policies available
    │  VLAN isolation
    ▼
Layer 5: Certificate Management
       Automated lifecycle via cert-manager
       TLS for all internal communications

Layer 1: OS Security

Immutable Root Filesystem

SLE Micro uses an immutable read-only root filesystem. System files cannot be modified at runtime — an attacker who gains code execution cannot persist changes to /usr, /bin, or /lib. Changes require a transactional update and reboot.

SELinux: Enforcing Mode

Mandatory Access Control via SELinux is enabled in enforcing mode. Every process, file, and network socket has a security label. Operations not explicitly permitted by policy are denied at the kernel level, regardless of Unix permissions.

CIS Kernel Parameters

Applied via rke2-cis-sysctl.conf — a subset of CIS benchmark kernel hardening:

Layer 2: Kubernetes Security (RKE2 CIS Profile)

RKE2 is deployed with profile: cis, which enforces the CIS Kubernetes Benchmark. This covers:

ComponentHardening Applied
API ServerTLS client authentication required; anonymous auth disabled
etcdRuns as dedicated non-root user; data encrypted at rest
KubeletClient certificate authentication; read-only port disabled
SchedulerProfiling disabled; bind address restricted
Controller ManagerService account credentials rotated; bind address restricted

etcd Encryption at Rest

RKE2 enables etcd encryption by default. Secrets, ConfigMaps, and other sensitive resources stored in etcd are encrypted using AES-CBC with a randomly generated key at cluster creation time. An attacker with direct access to etcd storage cannot read Kubernetes secrets.

Layer 3: Pod Security Standards

Kubernetes Pod Security Standards (PSS) enforce workload security at the namespace level via built-in admission control. The default policy across all namespaces is restricted:

# cis-pss.yaml — applied via Combustion
apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- name: PodSecurity
  configuration:
    defaults:
      enforce: "restricted"
      enforce-version: "latest"
      audit: "restricted"
      warn: "restricted"

The restricted policy enforces:

System namespaces (kube-system, calico-system, longhorn-system, sriov-system) are exempted — they require privileged access for legitimate reasons (kernel modules, storage drivers, CNI plugins).

Layer 4: Network Segmentation

The multi-tier network architecture provides inherent segmentation. Management, data, and hardware acceleration traffic travel on physically separate networks:

NetworkRangePurpose
Management192.168.41.0/27Cluster control plane, SSH, kubectl
MacVLAN192.168.41.48/28Legacy VNF connectivity
SR-IOV Netdev192.168.27.128/27High-throughput data plane (VLAN 538)
DPDK192.168.27.160/27Userspace packet processing (VLAN 539)

Calico Network Policies can further restrict pod-to-pod communication within the management network. The data plane networks (SR-IOV, DPDK) bypass the Calico datapath entirely — security for those interfaces is enforced at the physical network level via VLAN segmentation.

Layer 5: Certificate Management

cert-manager v1.14.2 is deployed via Helm and handles certificate lifecycle across the cluster:

Known Gaps (Pre-Production Checklist)

Critical — must fix before production:
Also recommended:

Security Posture Summary

ControlStatusStandard
OS immutabilityEnabledSLE Micro default
SELinux enforcingEnabledCIS Level 1
CIS K8s BenchmarkEnabledCIS Kubernetes 1.8
etcd encryptionEnabledRKE2 default
Pod Security Standardsrestricted (default)Kubernetes 1.25+
Network segmentationVLAN + multi-NICCustom
Certificate automationcert-managerCNCF
Audit loggingNot configuredGap — add pre-prod

The multi-layer approach means that a compromise at one layer does not automatically grant access at others. An attacker who escapes a container still faces SELinux, CIS kernel hardening, and network segmentation. This defence-in-depth posture is appropriate for critical telco infrastructure.