TYPO3 on Kubernetes under IT-Grundschutz, part 1: Which modules actually apply
Running a single TYPO3 container on Kubernetes is a solved problem. Running TYPO3 as a real cluster with several replicas is not: no shared filesystem, and sessions, caches and locks that have to survive a pod going away. It gets harder still when operations must meet the German BSI IT-Grundschutz, with a high protection need. A working cluster is then no longer enough. Every decision needs a requirement it can be measured against.
This series shows step by step how that works. From the hardened image through mTLS and secrets to high availability and hardening TYPO3 itself. The examples come from practice. The approach fits any Kubernetes, not one particular provider.
This post opens the series "TYPO3 on Kubernetes under IT-Grundschutz". The overview of all fourteen parts follows further down.
01 — Protection needs first, technology second
IT-Grundschutz does not start with the cluster, it starts with the information. For every application, the protection need is assessed for three basic values: confidentiality, integrity and availability. The categories are normal, high and very high.
For a TYPO3 platform it often looks like this:
| Object | Confidentiality | Integrity | Availability |
|---|---|---|---|
| TYPO3 website with forms | high | high | normal to high |
| Website database | high | high | high |
| CI/CD and container registry | high | very high | normal |
| Kubernetes cluster | inherits the maximum of its applications | ||
The maximum principle shapes the cluster
A cluster carries several applications. Under the maximum principle it takes on the highest protection need of every application running on it. A single website with a high need therefore lifts the whole platform. That is why tenant separation gets so much room in this series.
The opposite is the distribution effect. If an application is spread across several independent nodes, the availability need of a single node can drop. That only holds if the distribution really is independent.
A typical pitfall
In practice, availability is often set to high by reflex. That is expensive. High availability pulls in high availability for the control plane, the nodes and the database. Clarify early how long an outage is really acceptable. For a CMS holding personal data, confidentiality and integrity are almost always high.
02 — Modelling: which modules for TYPO3 on Kubernetes
Modelling assigns each object the matching modules from the IT-Grundschutz Compendium. This series refers to the 2023 edition. For TYPO3 on Kubernetes a fairly stable core emerges:
| Layer | Module | What it covers |
|---|---|---|
| Container | SYS.1.6 Containerisation | images, runtime privileges, resources, configuration |
| Orchestration | APP.4.4 Kubernetes | separation, automation, networks, service accounts |
| Application | APP.3.1 Web applications and web services | TYPO3 itself: backend access, input, sessions |
| Web server | APP.3.2 Web server | FrankenPHP or the proxy in front of it |
| Database | APP.4.3 Relational databases | the site's MariaDB or MySQL |
| Concepts | CON.1 Crypto concept, CON.3 Data backup concept | TLS and mTLS, backup and restore |
| Operations | OPS.1.1.3 Patch and change management, OPS.1.1.5 Logging | updates, deployments, logs |
| Detection | DER.1 Detection of security-relevant events | alerts, runtime detection |
| Network | NET.1.1 Network architecture and design | zones, segmentation, access paths |
On top come the process modules such as ISMS.1 and the ORP layer. They apply to the whole organisation and are not the subject of this series.
With Grundschutz++ the BSI is rebuilding IT-Grundschutz, with a machine-readable catalogue instead of modules. How an ISMS can be checked against it today is the subject of the series Grundschutz++ as code.
SYS.1.6 and APP.4.4 belong together
A common mistake is to model only one of the two. SYS.1.6 deals with the individual container. It explicitly excludes orchestration, virtual networks and registries and points to APP.4.4 for them. Running Kubernetes means you need both modules.
TYPO3 is more than a container
APP.3.1 is easily overlooked because the focus is on the platform. Yet backend access, multi-factor login, extensions and TYPO3 security updates are application topics. A perfectly hardened cluster helps little if the backend is open to the internet. Part 13 shows how TYPO3 itself is hardened. More on the typical misconceptions in five misconceptions about TYPO3 on Kubernetes.
03 — What a high protection need adds
Every module distinguishes three levels: basic (B), standard (S) and requirements for increased protection needs (H). Basic and standard together form the standard protection. The H requirements come into consideration as soon as a basic value is high or very high.
The H requirements for Kubernetes and containers
- APP.4.4.A13 Automated auditing of the configuration
- APP.4.4.A14 Use of dedicated nodes
- APP.4.4.A15 Separation of applications at node and cluster level
- APP.4.4.A17 Attestation of nodes
- APP.4.4.A18 Use of micro-segmentation
- APP.4.4.A19 High availability of Kubernetes
- APP.4.4.A20 Encrypted data storage for pods
- APP.4.4.A21 Regular restart of pods
- SYS.1.6.A21 Extended security policies
- SYS.1.6.A22 Provisions for investigations
- SYS.1.6.A23 Immutability of containers
- SYS.1.6.A24 Host-based intrusion detection
- SYS.1.6.A25 High availability of containerised applications
- SYS.1.6.A26 Further isolation and encapsulation of containers
The list does not contain every H requirement of the modules, but the ones that change operations the most. The titles are translated from the German original.
Suggestions, not a checklist
H requirements are suggestions. Which of them get implemented is decided by a risk analysis following BSI standard 200-3. It looks specifically at the objects with high or very high protection needs. Anything not implemented needs a justification and a consciously accepted residual risk.
The IT-Grundschutz check as evidence
The IT-Grundschutz check records for every requirement whether it is met: yes, partially, no or dispensable. Only this check turns a good platform into a demonstrably secure one. In practice it pays to maintain it with every change rather than writing it at the end. The following parts therefore name the requirement each measure fulfils.
04 — The series at a glance
The series follows the path of a request and a release through the platform. Each part stands on its own and names the requirements it covers.
- Which modules actually apply: protection needs, modelling, high protection needs. This post.
- The hardened TYPO3 image: minimal base, FrankenPHP, runtime privileges.
- Code as a signed artefact: OCI artefact, signature, verification before start.
- No CVEs above 7: a scan gate that actually blocks.
- mTLS on every hop: a CA per tenant, short-lived certificates.
- Network and tenant separation: NetworkPolicies and admission rules.
- Secrets without Git: External Secrets and workload identity.
- Making TYPO3 stateless: sessions, fileadmin, caches and locks.
- Autoscaling and probes: HPA, PodDisruptionBudget, rolling updates.
- Database, backup and restore: MariaDB in the cluster or as a service, immutable backups.
- Evidence and operations: logging, audit, CIS checks, runtime detection.
- Availability with a high protection need: high availability for control plane, nodes and database.
- Hardening TYPO3 itself: backend access, permissions, WAF, headers and updates.
- The reference chart: every building block as an open Helm chart, and why it is not an operator.
The parts are published one after another. Links to parts not yet published become active once the post is online.
Frequently asked questions
Is a hardened Kubernetes enough for IT-Grundschutz?+
No. Hardening is the prerequisite, but IT-Grundschutz asks for evidence per requirement. That includes the protection-needs assessment, the modelling and the IT-Grundschutz check. Without these documents even a very well secured cluster remains formally unassessed.
Does every requirement for increased protection needs have to be implemented?+
No. H requirements are suggestions. A risk analysis following BSI standard 200-3 makes the selection. Requirements that are not implemented are justified, and the remaining risk is accepted consciously.
Which edition of the compendium does the series refer to?+
The 2023 edition of the IT-Grundschutz Compendium. Before an IT-Grundschutz check, confirm which edition your procedure is based on. Numbers and titles of requirements can change between editions.
Does TYPO3 itself need measures of its own besides the platform?+
Yes. TYPO3 is modelled as a web application under APP.3.1. That includes restricted backend access, multi-factor login, maintained extensions and timely security updates. The platform cannot replace these application topics.
Conclusion
IT-Grundschutz for TYPO3 on Kubernetes starts with the protection need. It decides whether standard protection is enough or whether H requirements are added. SYS.1.6 and APP.4.4 form the core, and APP.3.1 keeps TYPO3 itself in view. The IT-Grundschutz check makes the implementation verifiable.
Continue with part 2: the hardened TYPO3 image.
I model your TYPO3 operations on Kubernetes under IT-Grundschutz and show where a high protection need really applies.
Protection-needs assessment, modelling and IT-Grundschutz check for platform and application, with a clear list of the requirements still open.
Platform operations rather than advice on paper: if you want, I also implement the measures and keep the evidence current.
About the author

Kai Ole Hartwig
Programming since 2002 – self-taught, set up my own business with KO-Web in 2012. Over 100 projects, with a focus on security, performance, automation and quality. Today freelance: DevSecOps consulting, training and software development.