Solidaritet med Ukraine. Tjenesten tilbydes gratis til ukrainske virksomheder, så længe krigen varer. Anmod om gratis adgang
01 / Udrulning · Selvhosting

Selvhosting ARDNTECH
frit, komplet, dokumenteret.

ARDNTECH leveres som en enkelt AGPL-3.0-kildekode, der kan køre lige så vel på ARDNTECH's infrastruktur som på din egen. Self-host-tilstanden dækker samtlige Team-, Business- og Enterprise-funktioner uden begrænsning : granulær RBAC, SCIM 2.0, SSO SAML 2.0 og OIDC, langtids-auditlog. Du drifter din instans på det datacenter, du ønsker, i Docker Compose, i managed Kubernetes hos en SecNumCloud-kvalificeret operatør eller i streng air-gap-udrulning.

AGPL-3.0 Docker Compose Kubernetes Air-gap understøttet Ingen udgående telemetri
02 / Motivationer

Hvorfor selvhoste en adgangskodemanager ?

Fire forskellige motivationer får en organisation til selv at drifte sin B2B-boks frem for at abonnere på SaaS Cloud ARDNTECH. Alle forbliver kompatible med et senere skifte, hvis de interne begrænsninger ændrer sig.

Radikal kontrol over data

Air-gap muligt, streng netværksisolation, intern DMZ, total fravær af udgående telemetri. De krypterede data forlader aldrig den perimeter, du definerer. Ingen tredjepart kan kræve adgang til din instans.

Sektorspecifik compliance gjort lettere

Udrulning hos en hostingudbyder, der allerede er SecNumCloud- eller HDS-kvalificeret eller opfylder NIS2- og OIV-kravene. Applikationslaget forbliver identisk, hosting-compliancen bæres af den infrastruktur, du vælger.

Verificerbar AGPL-3.0-kode

Det offentlige repository dækker hele applikationskoden, helt ned til de kryptografiske primitiver. OpenPGP.js v6, Argon2id, AES-256-GCM SEIPDv2, HMAC-SHA-256 : hvert algoritmevalg er læsbart og auditbart.

Nul softwareomkostning

AGPL-3.0-licensen er gratis. Du betaler kun for infrastrukturen (compute, lagring, båndbredde) og den interne driftstid. For strukturer, hvis ops-team allerede er dimensioneret, bliver TCO konkurrencedygtig allerede fra nogle få snese aktive sæder.

03 / Sammenligning

Self-host vs SaaS Cloud ARDNTECH.

Ingen softwarefunktion er forbeholdt Cloud-tilstanden. Det, der adskiller sig, er, hvem der driver infrastrukturen, og hvem der bærer de kontraktlige garantier. Tabellen nedenfor opsummerer de femten dimensioner, der strukturerer beslutningen.

Dimension Self-host SaaS Cloud ARDNTECH
Kildekode AGPL-3.0, fuld adgang, fork tilladt AGPL-3.0, fuld adgang, fork tilladt
Softwarepris 0 € 0 € til 7 €/sæde/måned afhængigt af plan
Hosting Kunden (egen infra, IaaS efter eget valg, dedikeret datacenter) ARDNTECH (europæisk suveræn hostingudbyder)
Indledende setup Kundens ansvar (Docker Compose eller Kubernetes) Inkluderet, automatiseret (provisioning på få minutter)
OS- og runtime-vedligeholdelse Kundens ansvar Inkluderet
Backups Kundens ansvar (dokumenteret procedure) Inkluderet, daglige krypterede snapshots
Opdateringer Kundens ansvar (tagget Docker-image, upgrade-plan leveret) Inkluderet, annonceret vedligeholdelsesvindue
Tilgængeligheds-SLA Ingen (kunden drifter sin infra) Best effort (Free), 99,5 % (Business), forhandlet (Enterprise)
Support Fællesskab (forum, GitHub issues) Fællesskab + e-mail dag+1 hverdag (Business) + telefon (Enterprise)
Multi-organisation Ja (pivot-konto, granulær RBAC) Ja (pivot-konto, granulær RBAC)
DPA Ikke relevant (kunden er dataansvarlig) Standardiseret DPA (Business) eller forhandlet (Enterprise)
Compliance Kundens ansvar Kvalificeret hostingudbyder, tilstræbt SecNumCloud-kurs
Typisk målgruppe Cybersikkerhedsfirmaer med moden ops, OIV, organisationer der allerede har et dimensioneret ops-team Mikrovirksomheder, SMV'er, mellemstore virksomheder, firmaer uden dedikeret ops-team, organisationer der foretrækker at betale frem for at drifte
Samlede ejeromkostninger Variable : 0 € licens + intern tid + infra Forudsigelige : abonnement pr. sæde, alt inkluderet
Air-gap Understøttet (ingen udgående telemetri som standard) Ikke relevant (instans drevet af ARDNTECH)

Læsning af tabellen. For et team på under halvtreds aktive sæder uden et dedikeret ops-team er SaaS Cloud ofte det rationelle valg. Derudover, eller hvis infrastruktursuverænitet er et lovgivnings- eller kontraktkrav, bliver self-host relevant. Begge migrationer er forudset og dokumenteret.

04 / Forudsætninger

Tekniske forudsætninger.

Kun tre forudsætninger, alle standard i et moderne servermiljø. Ingen obligatorisk tredjepartstjeneste ved eksekvering, ingen ikke-standard udgående port, ingen proprietær protokol.

Linux-server og container-runtime

En Linux-server x86_64 eller ARM64 med Docker 24 eller højere og Docker Compose v2. Debian, Ubuntu LTS, Red Hat Enterprise Linux og deres derivater testes løbende. Container-runtime fungerer lige så vel på en dedikeret virtuel maskine som på managed Kubernetes.

Dimensionering

2 vCPU og 4 GB RAM er nok til halvtreds aktive brugere. Til fem hundrede brugere skal du regne med 8 vCPU og 16 GB RAM. Lagringen afhænger af antallet af hemmeligheder : regn med cirka 100 MB base pr. tusinde hemmeligheder, plus opbevaringen af auditloggene afhængigt af din plan.

Domænenavn og TLS-certifikat

Et domænenavn og et gyldigt TLS-certifikat. Let's Encrypt er dokumenteret og fungerer uden specifik konfiguration. Ingen ikke-standard udgående port er påkrævet. En air-gap-udrulning er mulig uden ændring af applikationskoden : instansen konsulterer ingen ekstern tjeneste ved runtime.

05 / Installation

Installation på fem minutter.

Tre understøttede udrulningsvarianter, fra det uafhængige firmas POC til en operatør af vital betydnings multi-AZ-produktion. Den samme kode, tre orkestreringer.

Variant 1 - Docker Compose

Anbefales til POC'er, små teams og udviklingsmiljøer. En enkelt maskine, lokal persistens eller netværksvolumen, udrulning med en enkelt kommando.

git clone https://github.com/aegirex/aegirex.git
cd aegirex
make install
# genererer hemmelighederne, bygger imaget fra repoens Dockerfile,
# anvender migrationerne og starter alle tjenester.
# Instansen er tilgængelig på http://localhost:8280

Build fra kilde som standard. Det, der kører i produktion, er nøjagtigt det, der findes i git log : ingen registry-blackbox, ingen afhængighed af en tredjeparts-Docker Hub-konto. Filerne composer.lock og importmap.lock pinner versionerne og SHA-fingeraftrykkene af afhængighederne ; en kompromitteret Packagist eller CDN ville bryde buildet i stedet for lydløst at introducere en payload. For travle ops puller en variant make install-from-registry det forbyggede image signeret af vores CI.

Variant 2 - Kubernetes

Anbefales i produktion, på managed eller self-managed cluster. Officielle manifester og Helm-chart leveret. Kompatibel med Kubernetes-clusterne hos de SecNumCloud-kvalificerede operatører (OVHcloud, Outscale, Cloud Temple, NumSpot).

helm repo add aegirex https://charts.aegirex.eu
helm repo update
helm install aegirex aegirex/aegirex \
  --namespace aegirex --create-namespace \
  --values values.production.yaml
kubectl -n aegirex rollout status deployment/aegirex-app
kubectl -n aegirex exec deploy/aegirex-app -- bin/console doctrine:migrations:migrate

Variant 3 - Air-gap

Anbefales til miljøer med radikal suverænitet : OIV, forsvar, klassificeret forskning. Ingen udgående forbindelse, manuelle backups, opdateringer via internt spejlregistry.

# på tilsluttet arbejdsstation
docker pull ghcr.io/aegirex/aegirex:v1.4.2
docker save ghcr.io/aegirex/aegirex:v1.4.2 -o aegirex-v1.4.2.tar
# fysisk overførsel til air-gap-netværket (forseglet USB, netværksdiode)
# på air-gap-instans
docker load -i aegirex-v1.4.2.tar
docker tag ghcr.io/aegirex/aegirex:v1.4.2 registry.internal/aegirex:v1.4.2
docker compose -f docker-compose.airgap.yml up -d
bin/console doctrine:migrations:migrate
06 / Arkitektur

Teknisk arkitektur af stacken.

En moderne PHP-stack, uden SPA, uden npm, uden runtime-afhængighed af en tredjepartstjeneste. Hver byggesten er dokumenteret og kan auditeres uafhængigt.

Backend

PHP 8.4, Symfony 7.4, Doctrine ORM 3, MariaDB 11. FPM eller FrankenPHP efter eget valg. Ingen proprietær PHP-udvidelse. Versionerede Doctrine-migrationer, testet rollback.

Frontend

Twig på serversiden + Stimulus på klientsiden. AssetMapper til leveringen (ingen npm, ingen tredjeparts-bundler). Modulær custom CSS. Ingen SPA, ingen proprietær JavaScript-framework.

Kryptografi på klientsiden

OpenPGP.js v6 med X25519, Ed25519 og AES-256-GCM SEIPDv2. Argon2id-afledning af hovedadgangskoden (RFC 9106, 5 passes, 256 MiB, parallelism 4). De private nøgler forlader aldrig browseren.

HMAC-SHA-256 audit chain

Audit chain forseglet og kædet kryptografisk med HMAC-SHA-256. Uafhængig verifikation via en offentlig CLI-kommando til kontrol af kæden. Detektering af ethvert forsøg på retroaktiv forfalskning, retsgyldig over for både dommer og CISO.

Autentificering

Symfony Security + scheb/2fa-bundle : e-mail, TOTP (RFC 6238), gendannelseskoder. SSO SAML 2.0 og OIDC (RFC 6749 og RFC 7519). WebAuthn-passkeys (W3C WebAuthn Level 2) som option.

Lagring og kø

Alt i MariaDB 11 : relationelt skema, blobs begrænset til 1 MB. Intet eksternt objektlager påkrævet. Kø via Symfony Messenger + Doctrine-transport, uden Redis-afhængighed i V1.

07 / Drift

Backups, vedligeholdelse, opdateringer.

Tre industrialiserede og dokumenterede procedurer. Self-host-tilstanden overfører det operationelle ansvar til kunden uden at gøre det til en byrde : kommandoerne er scriptbare, idempotente og testet i continuous integration.

Krypteret backup

En CLI-backupkommando producerer en eksporterbar fil krypteret i OpenPGP-format, med automatisk rotation. Modtageren af backuppen er konfigurerbar (organisatorisk arkiveringsnøgle). Gendannelsen er dokumenteret og testet ved hver release.

Blue-green-opdateringer uden downtime

Docker-image tagget med semantic versioning på ghcr.io/aegirex/aegirex. Alle Doctrine-migrationer er struktureret i tre trin (ADD nullable, backfill, ALTER NOT NULL) for at muliggøre en blue-green-udrulning uden serviceafbrydelse, selv på store databaser. Breaking changes annonceres mindst en minor-version i forvejen.

Rollback på mindre end fem minutter

Kombinationen af et database-snapshot plus det foregående Docker-image gør det muligt at rulle tilbage på mindre end fem minutter. Doctrine-migrationerne leverer deres testede down()-metode. Ingen manuel indgriben i SQL-skemaet er påkrævet.

Modstandsdygtig asynkron worker

Udgående e-mails og audit-webhooks dispatches asynkront via Symfony Messenger. Hvis en ekstern leverandør falder ud (e-mail, modtager-webhook), blokeres HTTP-forespørgslerne aldrig : jobbene genforsøges med eksponentielt backoff og lagres derefter i en persistent kø, hvis fejlen vedvarer. Workeren kører i en systemd-tjeneste eller en dedikeret container, automatisk genstart uden tab.

Sundheds-endpoints klar til LB og Kubernetes

GET /health offentligt til liveness-prober (load balancer, UptimeRobot, Kubernetes-prober). GET /health/deep beskyttet af en allowlist af IP-adresser, til dybdegående kontroller fra din interne monitoreringsstack (ping af database, cache, kø). Ingen følsom information eksponeret.

07bis / Suveræn observabilitet

En monitoreringsstack 100 % europæisk.

Suveræniteten stopper ikke ved applikations-hostingudbyderen. ARDNTECH udsender sine logs i struktureret JSON-format og eksponerer standard Prometheus-metrikker for at integreres i en fuldt europæisk eller self-hostet observabilitetsstack. Intet obligatorisk proprietært SDK, ingen udgående telemetri som standard.

Suveræn fejltracking

Kompatibel med Bugsink (Holland, MIT, self-hostbar på din SecNumCloud-instans), GlitchTip (US, MIT, self-hostbar) eller Sentry self-host. Symfonys standard Sentry-SDK er kompatibel med disse tre backends uden kodeændring. Dine fejl forlader aldrig din infrastruktur.

Logs og metrikker managed i Frankrig

JSON-logs der kan indtages af Loki + Grafana self-hostet, OVHcloud Logs Data Platform (managed Graylog, Frankrig) eller Scaleway Cockpit (managed Loki, Mimir, Tempo, Frankrig). Prometheus-metrikker der kan eksponeres på et dedikeret endpoint, begrænset af en allowlist af IP-adresser.

Daglig integritetsverifikation

En offentlig CLI-kommando gør det muligt at verificere integriteten af HMAC-SHA-256 audit chain. Kan planlægges i et dagligt cron-job og udløser en alarm (PagerDuty, intern webhook, suveræn Slack), hvis kæden er korrumperet. Enhver retroaktiv ændring af loggen opdages i O(1), uden at afhænge af en ekstern binær.

Lokal IP-geolokalisering (suveræn EU)

E-mailsene «Ny forbindelse opdaget» beriges med land og by takket være basen DB-IP Lite (belgisk udgiver, licens CC-BY 4.0), opslået lokalt på din instans : brugerens IP-adresse overføres aldrig til en tredjepartstjeneste. Basen opdateres automatisk hver måned via cron.

08 / Compliance

Sektorspecifik compliance gjort lettere.

Self-host-tilstanden gør det muligt at løfte compliance til niveauet for den hostingudbyder, du har valgt. Fire gængse regimer er dokumenteret nedenfor, uden at forpligte ARDNTECH ud over applikationskoden under AGPL-3.0.

SecNumCloud

Kan udrulles hos OVHcloud Hosted Private Cloud, Outscale 3DS, Cloud Temple eller NumSpot, operatører kvalificeret af ANSSI. SecNumCloud-kursen forbliver et tilstræbt mål for SaaS Cloud ARDNTECH ; i self-host afhænger den faktiske kvalifikation af din hostingudbyder.

HDS · sundhed

Kan udrulles hos en HDS-certificeret hostingudbyder for sundhedsoperatører. Applikationskoden indgår i HDS-kæden fra ende til anden, så snart den underliggende infrastruktur er kvalificeret. Langtids-auditloggen er nativt tilgængelig.

OIV og NIS2

Air-gap-udrulning understøttet. AGPL-3.0-kode auditbar af din CISO, helt ned til de kryptografiske primitiver. HMAC-SHA-256 audit chain producerer en sporbarhed, der er retsgyldig over for sektortilsynsmyndighederne.

GDPR

I self-host-tilstand forbliver du eneste dataansvarlig. Ingen ARDNTECH-underdatabehandler indgår i dataforløbet. ARDNTECH er aldrig databehandler i GDPR's forstand : forholdet begrænser sig til tilrådighedsstillelsen af AGPL-3.0-kildekoden.

09 / Målgrupper

Typiske anvendelsestilfælde.

Tre organisationsprofiler vælger hyppigt self-host-tilstanden. Det fælles træk : et allerede dimensioneret Linux ops-team, der er i stand til at drifte en Symfony-tjeneste med en relationel database i produktion.

Profil 1

Cybersikkerhedsfirmaer med moden drift

Sikkerheds-IT-virksomheder, cybersikkerhedsrådgivningsfirmaer, internaliserede pentest-teams. De drifter allerede et hærdet IT-system, råder over et senior ops-team og vil internt anvende de kriterier, de auditerer hos deres kunder. Self-host gør det muligt for dem at bevise sammenhængen mellem ord og værktøjer.

Profil 2

Offentlig sektor med radikal suverænitet

Kommuner, agenturer, væsentlige operatører i NIS2's forstand, organisationer under tilsyn. Intern politik om afvisning af enhver SaaS, selv en fransk kvalificeret. Self-host garanterer, at de krypterede data og deres audit chain forbliver strengt inden for den ønskede administrative perimeter.

Profil 3

IT-integratorer og managed-forhandlere

IT-virksomheder, der videresælger en ARDNTECH-instans, de selv drifter, til deres egne kunder. Self-host-tilstanden bliver en byggesten i deres kommercielle tilbud : de drifter platformen, fakturerer deres kunder og bevarer relationen. AGPL-3.0-licensen tillader udtrykkeligt denne kommercielle anvendelse.

10 / Teknisk FAQ

Hyppige spørgsmål fra ops-teams.

Otte tilbagevendende spørgsmål stillet af CISO'er og DevOps-teams under evalueringen af self-host-tilstanden. Hvis dit mangler, så skriv til os.

Er koden virkelig identisk mellem Self-host og Cloud ?

Ja. Repositoryet aegirex/aegirex indeholder hele applikationskoden under AGPL-3.0. Ingen Team-, Business- eller Enterprise-funktion er forbeholdt Cloud-tilstanden. De eneste forskelle ligger i runtime-konfigurationen (miljøvariabler, ANSSI-track-hemmeligheder, hostingudbyder-parametrering) og i tilknytningen af Cloud-instansen til den overvågnings- og faktureringsinfrastruktur, som ARDNTECH drifter. Intet proprietært softwaremodul tilføjes på Cloud-siden.

Hvordan migrerer jeg min self-host til SaaS Cloud (og omvendt) ?

Migrationen hviler på den komplette eksport af boksen via de integrerede værktøjer (JSON-eksport dekrypteret på brugersiden, i overensstemmelse med GDPR-artikel 17 og 20) og importen i en frisk målorganisation. Migrationen bevarer ikke audithistorikken som den er : audit chain genstarter på importdatoen, kildeloggen bevares i et arkiv, der kan downloades. Rotationen af HMAC-auditnøglerne på målinstansen starter en ny kæde. Da koden er identisk, er skemakompatibiliteten garanteret.

Hvad er de typiske samlede årlige omkostninger ved en self-host (infra + ops) ?

AGPL-3.0-softwarelicensen er gratis. For et firma på tredive personer med tre interne Linux-servere skal du typisk regne med 50 til 150 € om måneden til suveræn hosting til compute og lagring, plus 500 til 2 000 € om måneden i marginale driftsomkostninger (0,1 til 0,3 FTE til opdateringer, backups og overvågning). Self-host bliver økonomisk interessant fra et medarbejderantal, hvor de marginale ops-omkostninger bliver ubetydelige, og hvor ops-teamet allerede er dimensioneret. Under halvtreds aktive sæder er Cloud meget ofte det rationelle valg, undtagen ved strenge krav om infrastruktursuverænitet.

Hvordan integreres SSO LDAP, Keycloak eller Authentik ?

Symfony Security-bundlen eksponerer SAML 2.0 og OpenID Connect. Konfigurationen sker via miljøvariabler, uden genkompilering. En gyldig OIDC-konnektor for Keycloak, Authentik eller enhver udbyder, der overholder RFC 6749 og RFC 7519. For LDAP er direkte binding dokumenteret med mapping af grupper til RBAC-roller. SCIM 2.0 (RFC 7644) er tilgængelig i Business til automatiseret provisioning.

Kører ARDNTECH i managed Kubernetes (EKS, GKE, AKS, Kapsule) ?

Ja, Kubernetes-udrulningen er dokumenteret for standarddistributioner. Manifesterne inkluderer de nødvendige Deployment, Service, Ingress, PersistentVolumeClaim og ConfigMap. Et officielt Helm-chart leveres med standardværdier tilpasset managed clusters. Af hensyn til datasuverænitet anbefales brug af managed Kubernetes hos en SecNumCloud-kvalificeret operatør (OVHcloud, Outscale, Cloud Temple, NumSpot) ; eksteuropæiske managed clusters forbliver teknisk kompatible, men falder uden for de suveræne anbefalinger.

Hvilken monitorering anbefales (Prometheus, OpenTelemetry, ELK) ?

Instansen eksponerer Prometheus-kompatible metrikker på et dedikeret endpoint og udsender OpenTelemetry-traces på kritiske forespørgsler. Applikationsloggene udsendes i struktureret JSON-format, der kan indtages direkte af ELK, Loki eller enhver standard Syslog-collector. Auditbegivenhederne kan eksporteres i formaterne CEF, LEEF og OCSF til SIEM Splunk, Elastic, QRadar og Microsoft Sentinel. Ingen telemetri sendes til en tredjepartstjeneste som standard.

Hvad er planen for fællesskabssupport vs betalt support ?

Fællesskabssupporten foregår via det offentlige forum og GitHub issues : uden tidsforpligtelse, drevet af bidragyderne og ARDNTECH-teamet. En betalt ledsagelse er tilgængelig for organisationer, der ønsker en auditeret udrulning, en kompleks SSO-integration, opsætning af en højtilgængelig cluster eller et arkitekturreview før produktionssætning. Ingen SLA er knyttet til self-host-tilstanden : per konstruktion er det kunden, der drifter infrastrukturen.

Hvordan skifter man til air-gap efter en standardinstallation ?

Air-gap består i at fjerne enhver udgående konnektivitet fra ARDNTECH-instansen. Forudsætningerne er : et internt Docker-spejlregistry til image-opdateringer, et spejl-pakkerepository til OS-afhængigheder, en manuel kanal til eksport og import af de krypterede backups. Da ingen telemetri udsendes som standard, har selve applikationen ingen runtime-afhængighed af en ekstern tjeneste. Udgående webhooks kan deaktiveres via konfiguration eller routes til et internt relæ. Den fulde procedure er dokumenteret i repositoryets air-gap-guide.

12 / Kom i gang

Self-host ARDNTECH,
din infrastruktur, din perimeter.

Læs den komplette tekniske dokumentation på GitHub eller anmod om en auditeret ledsagelse til en produktionsudrulning. Ingen aggressiv kommerciel opfølgning : en teknisk udveksling om løsningens relevans i din kontekst.

AGPL-3.0-kode, fuld adgang, fork tilladt
Docker Compose på mindre end fem minutter
Managed Kubernetes hos SecNumCloud-kvalificeret operatør
Air-gap understøttet, ingen udgående telemetri
HMAC-SHA-256 audit chain uafhængigt verificerbar