Athena — hosting-security-research.md

Hosting Security Research — Athena

Date: 2026-09-02
Scope: Dutch/EU data-sovereignty analysis for a Dutch financial-audit SaaS at MVP/pre-revenue stage
Status: Research only — no hosting changes proposed


1. Current Setup

Athena runs on a self-hosted k3s cluster on a single Leaseweb VPS (IP block 136.144.174.0/24, registered to AS60781 LeaseWeb Netherlands B.V.). The kubectl context is named transip-k3s but the IP block is definitively Leaseweb Netherlands. The data center is AMS-01 (Haarlem, Noord-Holland).

Security controls already in place (as of September 2026):

| Control | Status | |---|---| | TLS everywhere (Let's Encrypt, cert-manager) | ✅ Enforced | | k3s NetworkPolicy enforcement | ✅ Active | | Egress-restricted NetworkPolicy (DNS + postgres only) | ✅ Deployed | | Non-root containers, runAsUser: 1000 | ✅ Enforced | | Read-only root filesystem | ✅ Enforced | | All Linux capabilities dropped | ✅ Enforced | | SealedSecrets (1Password-backed) | ✅ In use | | Two-user PostgreSQL (admin/Flyway + DML-only app role) | ✅ In use | | Field-level AES-256-GCM encryption for sensitive data | ✅ Implemented | | Trivy container image scanning in CI | ✅ Active | | XSS/XXE/zip-bomb hardening in parsers | ✅ Implemented | | Secret scanning in CI | ✅ Active |


2. Leaseweb: Actual Certifications and Guarantees

Source: Leaseweb Knowledge Base — Compliance and Security Certifications

Certifications held (Netherlands entity)

| Certification | Entity | Scope | |---|---|---| | ISO/IEC 27001:2022 | Leaseweb Netherlands B.V. | VPS, bare metal, private cloud, colocation — certified by EY CertifyPoint | | NEN 7510 | Leaseweb Netherlands B.V. | AMS-01 data center (Haarlem) | | PCI DSS v4.0 | Leaseweb Global B.V. | Physical security at AMS-01 | | SOC1 Type II | Leaseweb Netherlands B.V. | Logical/physical security, incident management | | ISO 27017 (cloud security controls) | Not held | — | | ISO 27018 (cloud PII protection) | Not held | — |

Data residency

Leaseweb Netherlands B.V. is Dutch-incorporated. The AMS-01 data center is in Haarlem, the Netherlands. Leaseweb does not fall under the US CLOUD Act (unlike AWS, Azure, and GCP European regions, which are subsidiaries of US entities subject to US government data requests). Data processed on the Athena VPS stays in the Netherlands under Dutch and EU law.

What NEN 7510 means in this context

NEN 7510 is a Dutch national standard for information security in healthcare (patient records, BSN numbers). It is legally mandated under the Wabvpz for healthcare providers since 2008 and extended to hospitals by 2023.

NEN 7510 is not legally required for Dutch financial-audit data. Dutch accountancy data is governed by:

  • GDPR/AVG (EU-wide, implemented in NL via UAVG)
  • Dutch AP (Autoriteit Persoonsgegevens) guidelines for accountants, tax consultants, and payroll professionals (approved code of conduct, 2019)
  • No sector-specific standard equivalent to NEN 7510 exists for accountancy

That said, Leaseweb's NEN 7510 certification signals a mature ISMS and a security bar above the minimum ISO 27001 baseline — a positive indicator even outside the healthcare context.

What ISO 27017/27018 absence means

ISO 27017 adds cloud-specific controls to ISO 27001 (e.g. shared responsibility clarity, customer data deletion procedures). ISO 27018 adds PII-specific controls for cloud processors.

Leaseweb does not hold these certifications. For a self-managed k3s deployment this is a partial gap: since Athena manages its own k8s control plane, the cloud-service responsibility model is less relevant (Leaseweb only provides the bare VPS). The gap matters more if Athena were using Leaseweb's managed cloud services directly.


3. Is the Current Setup Sufficient?

GDPR/AVG compliance checklist for hosting

| Requirement | Current Status | |---|---| | Data stored in EU/EEA | ✅ Netherlands (AMS-01) | | Hosting provider ISO 27001 certified | ✅ Leaseweb Netherlands | | TLS in transit | ✅ Enforced | | Encryption at rest (field-level) | ✅ AES-256-GCM implemented | | Verwerkersovereenkomst (DPA agreement) with hosting provider | ❓ Needs to be in place with Leaseweb | | Not subject to non-EU jurisdiction (CLOUD Act, FISA) | ✅ Dutch entity | | Adequate breach detection / logging | ⚠️ Partial — no runtime IDS yet | | Disk-at-rest encryption at VPS level | ❓ Needs confirmation via Leaseweb control panel |

Remaining hardening gaps (cost-effective to address on current setup)

These do not require a hosting migration:

  1. Confirm VPS disk encryption. Leaseweb's VPS offering may or may not enable disk-at-rest encryption by default. Verify in the Leaseweb control panel. If not active, this is the single most impactful remaining gap for data-at-rest.

  2. k3s etcd encryption at rest. k3s supports --encryption-provider-config to encrypt Kubernetes Secrets (including SealedSecret contents before unsealing) stored in etcd. Enabling this closes the disk-dump attack surface.

  3. Runtime security monitoring. Adding Falco to the k3s cluster provides rule-based alerting on anomalous container behavior (unexpected syscalls, privilege escalation attempts). Falco has a Helm chart and negligible resource overhead.

  4. Dedicated domain. Running production on app.athena.glorylabs.nl (a shared glorylabs.nl subdomain) presents a trust issue with clients. A dedicated athena.nl or athena.io domain signals professional ownership and allows independent TLS certificate management.

  5. Formalize the DPA agreement with Leaseweb. Under GDPR Art. 28, a data processing agreement with the hosting provider is required where they process personal data on your behalf. Leaseweb provides a standard DPA — ensure it is signed and on file.

Assessment

The current Leaseweb setup is adequate for a Dutch financial-audit MVP with appropriate supplementary technical controls. The critical boxes (EU data residency, ISO 27001 certified provider, Dutch-sovereign entity, TLS, field encryption, pod hardening, NetworkPolicy) are checked. The remaining gaps (disk encryption confirmation, etcd encryption, runtime monitoring, DPA formalization) are addressable on the current infrastructure without a hosting change.


4. Alternative Providers Survey

This section surveys realistic alternatives for context, not as an immediate recommendation.

Option A: Leaf.cloud (Amsterdam) — Managed Kubernetes

leaf.cloud/managed/kubernetes

  • Certifications: ISO 27001, SOC2 — no NEN 7510
  • Data residency: Amsterdam, Netherlands; EU-sovereign (Dutch-owned, no CLOUD Act exposure)
  • Managed Kubernetes: Gardener-based; €84.50/month per cluster + separate compute costs
  • Key benefit: Eliminates k3s self-management overhead; rolling k8s upgrades, auto-healing
  • Tradeoff: Cluster fee alone is €84.50/month before any compute — meaningfully higher than the current bare VPS cost at pre-revenue stage. Missing NEN 7510.

Option B: Cyso Cloud (Amsterdam) — Managed Kubernetes

cyso.cloud/trust-centre | cyso.cloud/services/managed-kubernetes

  • Certifications: ISO/IEC 27001 (valid to Feb 2028), NEN 7510 (valid to Feb 2027), KCSP (Kubernetes Certified Service Provider)
  • Data residency: Amsterdam + Frankfurt (EU-only); Dutch-owned; no CLOUD Act exposure
  • Managed Kubernetes: Fully managed; pay-per-use pricing (LB from €10.95/month, storage €0.095/GB/month; compute pricing requires a quote)
  • Key benefit: Best certification profile of any Dutch native provider — ISO 27001 + NEN 7510 + KCSP. If Athena expands into healthcare-adjacent clients where NEN 7510 becomes a procurement requirement, Cyso is the most direct upgrade path.
  • Tradeoff: Compute pricing not fully public; total cost unclear without a quote. Managed k8s migration has non-trivial operational effort (PVC migration, Ingress setup, CI/CD pipeline changes).

Option C: OVHcloud (EU) — Managed Kubernetes

ovhcloud.com

  • Certifications: ISO 27001, HDS (French healthcare data equivalent to NEN 7510), SecNumCloud (French ANSSI)
  • Data residency: 30+ EU data centers; control plane and data can be pinned to Netherlands (AMS region)
  • Managed Kubernetes: Free control plane (no cluster fee); pay for worker nodes; mature catalogue (managed databases, S3-compatible object storage)
  • Key benefit: Lowest managed-k8s entry cost (no cluster management fee). French entity under EU jurisdiction (CLOUD Act does not apply).
  • Tradeoff: French-owned, not Dutch-owned — weaker Dutch-sovereign story. Dutch clients may prefer a Dutch company. HDS certification is French; NEN 7510 is not held. Larger provider = more complex billing, potentially more lock-in.

Comparison matrix

| Criterion | Leaseweb (current) | Leaf.cloud | Cyso Cloud | OVHcloud | |---|---|---|---|---| | ISO 27001 | ✅ (2022) | ✅ | ✅ | ✅ | | NEN 7510 | ✅ (AMS-01) | ❌ | ✅ | ❌ | | Dutch-owned entity | ✅ | ✅ | ✅ | ❌ (French) | | No CLOUD Act | ✅ | ✅ | ✅ | ✅ | | Data in Netherlands | ✅ | ✅ | ✅ | ✅ (opt-in) | | Managed Kubernetes | ❌ (self-hosted k3s) | ✅ | ✅ | ✅ | | Managed PostgreSQL | ❌ | ❌ | ❌ | ✅ | | Estimated monthly overhead vs current | €0 | +€85+/month | Quote needed | ~€0 for control plane | | KCSP certified | ❌ | ❌ | ✅ | N/A |


5. Recommendation

Short term (now, pre-revenue MVP)

Stay on the current Leaseweb VPS. The provider has genuine, verified certifications (ISO 27001:2022, NEN 7510 at AMS-01) that satisfy the applicable regulatory environment for Dutch financial-audit data (GDPR/AVG, AP guidelines for accountants). The hosting is Dutch-sovereign, data stays in the Netherlands, and the cost is appropriate for the project's stage.

Execute the following hardening steps on the current infrastructure (no migration required):

  1. Confirm VPS disk-at-rest encryption in the Leaseweb control panel — if disabled, enable it or request it.
  2. Enable k3s etcd encryption at rest (--encryption-provider-config) for Kubernetes Secrets.
  3. Deploy Falco via Helm for runtime anomaly detection.
  4. Formalize the DPA agreement with Leaseweb — required under GDPR Art. 28.
  5. Register a dedicated domain for Athena (not glorylabs.nl) before onboarding paying clients.

Medium term (first paying clients or regulated-sector expansion)

Evaluate Cyso Cloud as the upgrade path if either condition is met:

  • Athena onboards clients who explicitly require a certified, SLA-backed managed platform (Cyso is ISO 27001 + NEN 7510 + KCSP)
  • Athena targets Dutch healthcare-adjacent organizations where NEN 7510 becomes a procurement prerequisite

The migration effort (Helm chart adaptation, PVC migration, CI/CD pipeline update) is roughly a 2–3 day engineering effort once Athena has capacity for it.

What not to do at this stage

Migrating to a managed Kubernetes provider now adds €80–150+/month in platform overhead, CI/CD migration work, and operational complexity — none of which improves the security posture meaningfully over the hardened Leaseweb setup. The current provider already holds the relevant certifications. A migration is a business decision (SLA guarantees, client-facing compliance narrative), not a technical security necessity at this scale.


Sources

Reacties

Nog geen reacties