Підтримка України. Сервіс надається українським компаніям безкоштовно на час війни. Отримати безкоштовний доступ
01 / Розгортання · Самостійний хостинг

Самостійний хостинг ARDNTECH
вільний, повний, задокументований.

ARDNTECH постачається під єдиним вихідним кодом AGPL-3.0, виконуваним як на інфраструктурі ARDNTECH, так і на вашій. Режим self-host охоплює всі функції Team, Business та Enterprise без обмежень : гранулярний RBAC, SCIM 2.0, SSO SAML 2.0 та OIDC, довгостроковий журнал аудиту. Ви експлуатуєте свій інстанс у датацентрі на ваш вибір, у Docker Compose, у керованому Kubernetes у кваліфікованого оператора SecNumCloud чи у суворому air-gap розгортанні.

AGPL-3.0 Docker Compose Kubernetes Air-gap підтримується Без вихідної телеметрії
02 / Мотивації

Чому самостійно хостити менеджер паролів ?

Чотири окремі мотивації спонукають організацію експлуатувати своє B2B-сховище самостійно, а не підписуватися на SaaS Cloud ARDNTECH. Усі залишаються сумісними з пізнішим переходом у разі зміни внутрішніх обмежень.

Радикальний контроль над даними

Air-gap можливий, сувора мережева ізоляція, внутрішня DMZ, повна відсутність вихідної телеметрії. Зашифровані дані ніколи не покидають периметр, який ви визначаєте. Жодна третя сторона не може вимагати доступу до вашого інстансу.

Спрощена галузева відповідність

Розгортання у хостера, вже кваліфікованого SecNumCloud, HDS чи за вимогами NIS2 та OIV. Застосунковий шар залишається ідентичним, відповідність хостингу несе інфраструктура на ваш вибір.

Верифіковний код AGPL-3.0

Публічний репозиторій охоплює увесь застосунковий код, аж до криптографічних примітивів. OpenPGP.js v6, Argon2id, AES-256-GCM SEIPDv2, HMAC-SHA-256 : кожен вибір алгоритму читабельний і аудитовний.

Нульова вартість ПЗ

Ліцензія AGPL-3.0 безкоштовна. Ви платите лише за інфраструктуру (compute, сховище, пропускну здатність) та внутрішній час експлуатації. Для структур, чия ops-команда вже відмасштабована, TCO стає конкурентним уже з кількох десятків активних місць.

03 / Порівняння

Self-host проти SaaS Cloud ARDNTECH.

Жодна програмна функція не зарезервована для режиму Cloud. Різниться те, хто експлуатує інфраструктуру і хто несе договірні гарантії. Таблиця нижче підсумовує п'ятнадцять вимірів, що структурують рішення.

Вимір Self-host SaaS Cloud ARDNTECH
Вихідний код AGPL-3.0, повний доступ, форк дозволено AGPL-3.0, повний доступ, форк дозволено
Тариф на ПЗ 0 € Від 0 € до 7 €/місце/міс залежно від плану
Хостинг Клієнт (власна інфраструктура, IaaS на свій вибір, виділений датацентр) ARDNTECH (європейський суверенний хостер)
Початкове налаштування На відповідальність клієнта (Docker Compose чи Kubernetes) Включено, автоматизовано (провізіонінг за кілька хвилин)
Обслуговування ОС та рантайму На відповідальність клієнта Включено
Резервні копії На відповідальність клієнта (задокументована процедура) Включено, щоденні зашифровані знімки
Оновлення На відповідальність клієнта (тегований образ Docker, наданий план оновлення) Включено, оголошене вікно обслуговування
SLA доступності Немає (клієнт експлуатує свою інфраструктуру) Best effort (Free), 99,5 % (Business), узгоджено (Enterprise)
Підтримка Спільнотна (форум, issues GitHub) Спільнотна + email Д+1 робочий (Business) + телефон (Enterprise)
Мультиорганізація Так (акаунт-стрижень, гранулярний RBAC) Так (акаунт-стрижень, гранулярний RBAC)
DPA Не застосовується (клієнт є контролером даних) Стандартизований DPA (Business) або узгоджений (Enterprise)
Відповідність На відповідальність клієнта Кваліфікований хостер, намічена траєкторія SecNumCloud
Типова ціль Кібербезпекові фірми зі зрілими ops, OIV, організації, що вже мають відмасштабовану ops-команду Мікробізнес, МСП, середній бізнес, фірми без виділеної ops-команди, структури, що воліють платити, аби не експлуатувати
Загальна вартість володіння Змінна : 0 € ліцензія + внутрішній час + інфраструктура Передбачувана : підписка за місце, усе включено
Air-gap Підтримується (без вихідної телеметрії за замовчуванням) Не застосовується (інстанс експлуатується ARDNTECH)

Як читати таблицю. Для команди до п'ятдесяти активних місць без виділеної ops-команди SaaS Cloud часто є раціональним вибором. Понад це, або якщо суверенітет інфраструктури є регуляторною чи договірною вимогою, self-host стає доречним. Обидві міграції передбачено та задокументовано.

04 / Передумови

Технічні передумови.

Лише три передумови, усі стандартні в сучасному серверному середовищі. Жодного обов'язкового стороннього сервісу під час виконання, жодного нестандартного вихідного порту, жодного пропрієтарного протоколу.

Сервер Linux та контейнерний рантайм

Сервер Linux x86_64 чи ARM64 з Docker 24 чи вище та Docker Compose v2. Debian, Ubuntu LTS, Red Hat Enterprise Linux та їхні похідні тестуються безперервно. Контейнерний рантайм працює як на виділеній віртуальній машині, так і на керованому Kubernetes.

Масштабування

2 vCPU та 4 ГБ RAM достатньо для п'ятдесяти активних користувачів. Для п'ятисот користувачів передбачте 8 vCPU та 16 ГБ RAM. Сховище залежить від кількості секретів : розраховуйте приблизно на 100 МБ бази на тисячу секретів, плюс зберігання логів аудиту відповідно до вашого плану.

Доменне ім'я та TLS-сертифікат

Доменне ім'я та дійсний TLS-сертифікат. Let's Encrypt задокументовано і працює без специфічної конфігурації. Жодного нестандартного вихідного порту не потрібно. Air-gap розгортання можливе без зміни застосункового коду : інстанс не звертається до жодного зовнішнього сервісу під час виконання.

05 / Встановлення

Встановлення за п'ять хвилин.

Три підтримувані варіанти розгортання, від POC незалежної фірми до multi-AZ продакшну оператора життєво важливого значення. Той самий код, три оркестрації.

Варіант 1 - Docker Compose

Рекомендовано для POC, малих команд та середовищ розробки. Одна машина, локальне зберігання чи мережевий том, розгортання однією командою.

git clone https://github.com/aegirex/aegirex.git
cd aegirex
make install
# генерує секрети, збирає образ із Dockerfile репозиторію,
# застосовує міграції та запускає всі сервіси.
# Екземпляр доступний за адресою http://localhost:8280

Збірка з вихідних кодів за замовчуванням. Те, що працює у продакшні, - це точно те, що міститься в git log : жодної чорної скриньки реєстру, жодної залежності від стороннього акаунта Docker Hub. Файли composer.lock та importmap.lock закріплюють версії та відбитки SHA залежностей ; скомпрометований Packagist чи CDN зламав би збірку замість того, щоб тихо ввести payload. Для поспішних ops варіант make install-from-registry підтягує попередньо зібраний образ, підписаний нашим CI.

Варіант 2 - Kubernetes

Рекомендовано у продакшні, на керованому чи self-managed кластері. Надано офіційні маніфести та чарт Helm. Сумісно з кластерами Kubernetes операторів, кваліфікованих SecNumCloud (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

Варіант 3 - Air-gap

Рекомендовано для середовищ радикального суверенітету : OIV, оборона, класифіковані дослідження. Жодного вихідного з'єднання, ручні резервні копії, оновлення через внутрішній дзеркальний реєстр.

# на під'єднаному робочому місці
docker pull ghcr.io/aegirex/aegirex:v1.4.2
docker save ghcr.io/aegirex/aegirex:v1.4.2 -o aegirex-v1.4.2.tar
# фізична передача до air-gap мережі (запечатаний USB, мережевий діод)
# на air-gap екземплярі
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 / Архітектура

Технічна архітектура стека.

Сучасний стек PHP, без SPA, без npm, без рантайм-залежності від стороннього сервісу. Кожна складова задокументована і аудитовна незалежно.

Бекенд

PHP 8.4, Symfony 7.4, Doctrine ORM 3, MariaDB 11. FPM чи FrankenPHP на вибір. Жодного пропрієтарного розширення PHP. Версіоновані міграції Doctrine, протестований відкат.

Фронтенд

Twig на боці сервера + Stimulus на боці клієнта. AssetMapper для доставки (без npm, без стороннього бандлера). Модульний кастомний CSS. Без SPA, без пропрієтарного JavaScript-фреймворку.

Клієнтська криптографія

OpenPGP.js v6 з X25519, Ed25519 та AES-256-GCM SEIPDv2. Виведення Argon2id майстер-пароля (RFC 9106, 5 проходів, 256 MiB, паралелізм 4). Приватні ключі ніколи не покидають браузер.

Ланцюг аудиту HMAC-SHA-256

Ланцюг аудиту, скріплений і зчеплений криптографічно через HMAC-SHA-256. Незалежна перевірка публічною CLI-командою контролю ланцюга. Виявлення будь-якої спроби ретроактивної фальсифікації, протиставне як судді, так і RSSI.

Автентифікація

Symfony Security + scheb/2fa-bundle : email, TOTP (RFC 6238), резервні коди. SSO SAML 2.0 та OIDC (RFC 6749 та RFC 7519). Паскі WebAuthn (W3C WebAuthn Level 2) опційно.

Сховище та черга

Усе в MariaDB 11 : реляційна схема, блоби обмежені 1 МБ. Жодного зовнішнього об'єктного сховища не потрібно. Черга через Symfony Messenger + транспорт Doctrine, без залежності Redis для V1.

07 / Операції

Резервні копії, обслуговування, оновлення.

Три індустріалізовані та задокументовані процедури. Режим self-host передає операційну відповідальність клієнтові, не роблячи з неї тягаря : команди скриптовні, ідемпотентні та протестовані у безперервній інтеграції.

Зашифрована резервна копія

CLI-команда резервного копіювання створює експортовний зашифрований файл у форматі OpenPGP, з автоматичною ротацією. Одержувача резервної копії можна налаштувати (організаційний архівний ключ). Відновлення задокументовано та протестовано в кожному релізі.

Blue-green оновлення без простою

Образ Docker, тегований у semantic versioning на ghcr.io/aegirex/aegirex. Усі міграції Doctrine структуровані у три кроки (ADD nullable, backfill, ALTER NOT NULL), щоб дозволити blue-green розгортання без переривання сервісу навіть на об'ємних базах. Breaking-зміни оголошуються щонайменше на одну мінорну версію наперед.

Відкат менш ніж за п'ять хвилин

Поєднання знімка бази даних і попереднього образу Docker дозволяє відкат менш ніж за п'ять хвилин. Міграції Doctrine надають свій протестований метод down(). Жодного ручного втручання у схему SQL не потрібно.

Стійкий асинхронний воркер

Вихідні листи та вебхуки аудиту диспетчеризуються асинхронно через Symfony Messenger. Якщо зовнішній постачальник падає (email, одержувач вебхука), HTTP-запити ніколи не блокуються : завдання повторюються з експоненційним backoff, а потім зберігаються в персистентній черзі, якщо збій триває. Воркер працює як служба systemd чи виділений контейнер, автоматичний перезапуск без втрат.

Ендпойнти стану, готові для LB та Kubernetes

GET /health публічно для liveness-проб (балансувальник навантаження, UptimeRobot, проби Kubernetes). GET /health/deep захищений allowlist IP-адрес, для поглиблених перевірок з вашого внутрішнього стека моніторингу (ping бази даних, кеш, черга). Жодної чутливої інформації не експоновано.

07bis / Суверенна спостережуваність

Стек моніторингу на 100 % європейський.

Суверенітет не обмежується застосунковим хостером. ARDNTECH емітує свої логи у структурованому форматі JSON та експонує стандартні метрики Prometheus, щоб інтегруватися у повністю європейський чи self-hosted стек спостережуваності. Жодного обов'язкового пропрієтарного SDK, жодної вихідної телеметрії за замовчуванням.

Суверенне відстеження помилок

Сумісно з Bugsink (Нідерланди, MIT, з можливістю self-host на вашому інстансі SecNumCloud), GlitchTip (US, MIT, з можливістю self-host) чи Sentry self-host. Стандартний SDK Sentry для Symfony сумісний із цими трьома бекендами без зміни коду. Ваші помилки ніколи не покидають вашу інфраструктуру.

Логи та метрики, керовані у Франції

Логи JSON, придатні для поглинання Loki + Grafana self-hosted, OVHcloud Logs Data Platform (керований Graylog, Франція) чи Scaleway Cockpit (керовані Loki, Mimir, Tempo, Франція). Метрики Prometheus, експоновні на спеціальному ендпойнті, обмеженому allowlist IP-адрес.

Щоденна перевірка цілісності

Публічна CLI-команда дозволяє перевірити цілісність ланцюга аудиту HMAC-SHA-256. Планована як щоденний cron, вона запускає сповіщення (PagerDuty, внутрішній вебхук, суверенний Slack), якщо ланцюг пошкоджено. Будь-яка ретроактивна зміна журналу виявляється за O(1), не залежачи від зовнішнього бінарника.

Локальна IP-геолокація (суверенна ЄС)

Листи «Виявлено новий вхід» збагачуються країною та містом завдяки базі DB-IP Lite (бельгійський видавець, ліцензія CC-BY 4.0), що резолвиться локально на вашому інстансі : IP-адреса користувача ніколи не передається сторонньому сервісу. База автоматично оновлюється щомісяця через cron.

08 / Відповідність

Галузева відповідність спрощена.

Режим self-host дозволяє вам перенести відповідність на рівень обраного вами хостера. Чотири поширені режими задокументовано нижче, не зобов'язуючи ARDNTECH понад застосунковий код під AGPL-3.0.

SecNumCloud

Розгортається в OVHcloud Hosted Private Cloud, Outscale 3DS, Cloud Temple чи NumSpot, операторах, кваліфікованих ANSSI. Траєкторія SecNumCloud залишається наміченою метою для SaaS Cloud ARDNTECH ; у self-host фактична кваліфікація залежить від вашого хостера.

HDS · охорона здоров'я

Розгортається у сертифікованого хостера HDS для операторів охорони здоров'я. Застосунковий код вписується у наскрізний ланцюг HDS, щойно базова інфраструктура є кваліфікованою. Довгостроковий журнал аудиту доступний нативно.

OIV та NIS2

Air-gap розгортання підтримується. Код AGPL-3.0, аудитовний вашим RSSI, аж до криптографічних примітивів. Ланцюг аудиту HMAC-SHA-256 створює простежуваність, протиставну галузевим наглядовим органам.

RGPD

У режимі self-host ви залишаєтеся єдиним контролером даних. Жоден субпідрядник ARDNTECH не втручається у шлях даних. ARDNTECH ніколи не є субпідрядником у розумінні RGPD : відносини обмежуються наданням вихідного коду AGPL-3.0.

09 / Цілі

Типові сценарії використання.

Три профілі організацій часто обирають режим self-host. Спільне : уже відмасштабована Linux ops-команда, здатна експлуатувати сервіс Symfony з реляційною базою у продакшні.

Профіль 1

Кібербезпекові фірми зі зрілими операціями

ESN безпеки, консалтингові фірми з кібербезпеки, внутрішні pentest-команди. Вони вже експлуатують посилену ІС, мають senior ops-команду і хочуть застосувати всередині критерії, які аудитують у своїх клієнтів. Self-host дозволяє їм довести узгодженість між словами та інструментарієм.

Профіль 2

Публічний сектор радикального суверенітету

Громади, агенції, оператори, суттєві у розумінні NIS2, організації під опікою. Внутрішня політика відмови від будь-якого SaaS, навіть кваліфікованого французького. Self-host гарантує, що зашифровані дані та їхній ланцюг аудиту залишаються строго в бажаному адміністративному периметрі.

Профіль 3

ESN-інтегратори та керовані реселери

ESN, що перепродають своїм власним клієнтам інстанс ARDNTECH, керований ними. Режим self-host стає складовою їхньої комерційної пропозиції : вони експлуатують платформу, виставляють рахунки своїм клієнтам і зберігають відносини. Ліцензія AGPL-3.0 прямо дозволяє це комерційне використання.

10 / Технічний FAQ

Поширені запитання ops-команд.

Вісім поширених запитань, що ставлять RSSI та DevOps-команди під час оцінки режиму self-host. Якщо вашого бракує, напишіть нам.

Чи справді код ідентичний між Self-host та Cloud ?

Так. Репозиторій aegirex/aegirex містить увесь застосунковий код під AGPL-3.0. Жодна функція Team, Business чи Enterprise не зарезервована для режиму Cloud. Єдині відмінності полягають у конфігурації рантайму (змінні середовища, секрети ANSSI-track, налаштування хостера) та у прив'язці Cloud-інстансу до інфраструктури моніторингу й білінгу, що експлуатується ARDNTECH. Жодного пропрієтарного програмного модуля не додано на боці Cloud.

Як мігрувати мій self-host до SaaS Cloud (і навпаки) ?

Міграція спирається на повний експорт сховища через вбудовані інструменти (експорт JSON, розшифрований на боці користувача, відповідно до статей RGPD 17 та 20) та імпорт у свіжу цільову організацію. Міграція не зберігає історію аудиту в наявному стані : ланцюг аудиту перезапускається з дати імпорту, вихідний журнал зберігається у завантажуваному архіві. Ротація ключів HMAC аудиту на боці цільового інстансу запускає новий ланцюг. Оскільки код ідентичний, сумісність схеми гарантовано.

Якою є типова річна загальна вартість self-host (інфраструктура + ops) ?

Програмна ліцензія AGPL-3.0 безкоштовна. Для фірми на тридцять осіб із трьома внутрішніми серверами Linux розраховуйте зазвичай на 50-150 € на місяць суверенного хостера за compute та сховище, плюс 500-2 000 € на місяць маржинального операційного коштування (0,1-0,3 ETP на оновлення, резервні копії та нагляд). Self-host стає економічно вигідним починаючи з чисельності, де маржинальне ops-коштування стає незначним і де ops-команда вже відмасштабована. Нижче п'ятдесяти активних місць Cloud дуже часто є раціональним вибором, окрім суворої вимоги суверенітету інфраструктури.

Як інтегрувати SSO LDAP, Keycloak чи Authentik ?

Бандл Symfony Security надає SAML 2.0 та OpenID Connect. Конфігурація здійснюється через змінні середовища, без перекомпіляції. Конектор OIDC дійсний для Keycloak, Authentik чи будь-якого провайдера, сумісного з RFC 6749 та RFC 7519. Для LDAP пряме прив'язування задокументовано з мапінгом груп до ролей RBAC. SCIM 2.0 (RFC 7644) доступний у Business для автоматизованого провізіонінгу.

Чи працює ARDNTECH у керованому Kubernetes (EKS, GKE, AKS, Kapsule) ?

Так, розгортання Kubernetes задокументовано для стандартних дистрибутивів. Маніфести включають необхідні Deployment, Service, Ingress, PersistentVolumeClaim та ConfigMap. Офіційний чарт Helm надається з усталеними значеннями, адаптованими до керованих кластерів. Для суверенітету даних рекомендовано використання керованого Kubernetes у кваліфікованого оператора SecNumCloud (OVHcloud, Outscale, Cloud Temple, NumSpot) ; позаєвропейські керовані кластери залишаються технічно сумісними, але виходять за рамки суверенних рекомендацій.

Який моніторинг рекомендовано (Prometheus, OpenTelemetry, ELK) ?

Інстанс надає метрики, сумісні з Prometheus, на спеціальному ендпойнті, та емітує трейси OpenTelemetry на критичних запитах. Застосункові логи емітуються у структурованому форматі JSON, придатні для прямого поглинання ELK, Loki чи будь-яким стандартним колектором Syslog. Події аудиту експортовні у форматах CEF, LEEF та OCSF для SIEM Splunk, Elastic, QRadar та Microsoft Sentinel. Жодна телеметрія не надсилається до стороннього сервісу за замовчуванням.

Яким є план спільнотної проти платної підтримки ?

Спільнотна підтримка здійснюється через публічний форум та issues GitHub : без зобов'язань щодо строків, керована контрибуторами та командою ARDNTECH. Платний супровід доступний для організацій, що бажають аудитованого розгортання, складної інтеграції SSO, встановлення кластера високої доступності чи огляду архітектури перед введенням у продакшн. Жоден SLA не прив'язаний до режиму self-host : за конструкцією інфраструктуру експлуатує клієнт.

Як перейти в air-gap після стандартного встановлення ?

Air-gap полягає в усуненні будь-якої вихідної зв'язності інстансу ARDNTECH. Передумови такі : внутрішній дзеркальний реєстр Docker для оновлень образів, дзеркальний репозиторій пакетів для залежностей ОС, ручний канал експорту та імпорту зашифрованих резервних копій. Оскільки телеметрія не емітується за замовчуванням, сам застосунок не має жодної рантайм-залежності від зовнішнього сервісу. Вихідні вебхуки можна вимкнути конфігурацією або маршрутизувати на внутрішній реле. Повну процедуру задокументовано в air-gap гайді репозиторію.

11 / Поглиблено

Режим self-host вписується в продуктову архітектуру, узгоджену з іншими довідковими сторінками сайту. Ресурси нижче детально описують кожен окремий аспект.

12 / Почати

Self-host ARDNTECH,
ваша інфраструктура, ваш периметр.

Прочитайте повну технічну документацію на GitHub або замовте аудитований супровід для продакшн-розгортання. Жодних агресивних комерційних нагадувань : технічна розмова про доречність рішення у вашому контексті.

Код AGPL-3.0, повний доступ, форк дозволено
Docker Compose менш ніж за п'ять хвилин
Керований Kubernetes у кваліфікованого оператора SecNumCloud
Air-gap підтримується, без вихідної телеметрії
Ланцюг аудиту HMAC-SHA-256, верифіковний незалежно