Дилемма On-Premise
Распространение PHP-приложений на серверы клиентов исторически было кошмаром безопасности. Исходный код открыт, что позволяет украсть интеллектуальную собственность, обойти лицензирование или неавторизованно тиражировать инсталляции. IronClad меняет парадигму с «Исполнения скриптов» на «Бинарную среду выполнения».
Классический подход
- ✖ Тысячи .php файлов видны на диске клиента.
- ✖ Лицензионная проверка отключается комментированием строки.
- ✖ Один купленный экземпляр легко копируется на 10 серверов.
- ✖ Обфускаторы несовместимы с Reflection и PHP 8 features.
- ✖ IonCube/Zend Guard требуют расширений — запрещены в 90% госконтуров.
IronClad Studio
- ✔ Единый ELF-бинарь — код живёт зашифрованным внутри.
- ✔ Лицензия встроена в бинарь, обойти нельзя без полной пересборки.
- ✔ Node-locked: бинарь работает только на железе клиента по HWID.
- ✔ Air-Gapped: проверка ключа без интернета — работает в любом контуре.
- ✔ Нет зависимостей: клиент делает
./server— и готово.
Рабочий процесс Studio
От оплаты до работающего сервера у клиента — семь шагов. Вендор управляет всем процессом из единого интерфейса.
Интерфейс Studio
Веб-приложение, запускаемое локально на машине вендора. Все операции — проекты, сборки, лицензии — в одном месте.
Dashboard — обзор проектов и лицензий
| Project | Client | Source | Created | |
|---|---|---|---|---|
| CRM Pro | ООО «Альфа-Трейд» | git | 23.04.2026 | Open → |
| MedSystem 2.0 | ФГБУ «Мед. центр» | zip | 15.03.2026 | Open → |
| BillingX | ПАО «Регион Банк» | git | 01.02.2026 | Open → |
Build — сборка бинаря с реалтайм-логом
Step 2/6: Encrypting VFS blob (AES-256-GCM)...
Step 3/6: Compiling Engine runtime (musl static)...
Step 4/6: Patching binary — injecting VFS + license...
Step 5/6: Applying binary hardening...
Step 6/6: Generating license.key + ironclad.state...
──────────────────────
✓ BUILD SUCCESSFUL (47.2s)
Licenses — управление и продление
| License ID | Build | Status | Expires | Days Left | Actions |
|---|---|---|---|---|---|
a4f2c8d1 |
e9b31... |
Active | 23.04.2027 | 365d | 🔄 Extend⬇ Key |
b8e10f23 |
7ac12... |
Active | 11.05.2026 | 18d | 🔄 Extend⬇ Key |
c2d34e56 |
3fb88... |
Expired | 01.01.2026 | — | 🔄 Extend⬇ Key |
Подписочная модель для On-Premise
Исторически продажа «коробки» означала единовременный платёж без продлений. IronClad меняет экономику: клиент вынужден продлевать лицензию — без этого сервер перестаёт обрабатывать запросы.
Node-Locked
Бинарь работает только на сервере с совпадающим Hardware ID. Перенос на другую машину — фатальная ошибка при старте.
Air-Gapped
Проверка лицензии полностью локальная — Ed25519 криптография внутри процесса. Не требует интернета, работает в ФСТЭК-контурах, банках, госструктурах.
Продление за 2 КБ
Renew = один клик в Studio, пересылка нового license.key клиенту. Пересборка бинаря не нужна. Клиент заменяет файл — сервер оживает.
Защита от отката часов
Самый распространённый взлом On-Premise лицензий — откат системного времени назад. IronClad ведёт зашифрованный счётчик реального времени работы. Манипуляции с часами ОС обнаруживаются и приводят к блокировке.
Скрытые переменные
ENV-переменные (ключи API, адреса БД, внутренние алгоритмы) вшиваются внутрь бинаря при сборке. Клиент никогда не увидит логины к облакам или секреты архитектуры.
CLI-консоль внутри
Symfony bin/console работает через защищённый токен, встроенный в бинарь. Команды доступны клиенту, исходники — нет.
Что Studio производит
Результат каждой сборки — единый статически скомпилированный ELF-файл. Внутри: интерпретатор PHP 8.4 со всеми расширениями, C++ HTTP-сервер, VFS с зашифрованным кодом вендора, встроенный лицензионный движок. Клиент получает один файл и запускает его без каких-либо зависимостей.
[INFO] IronClad Engine v1.0
[VFS] Initializing encrypted storage...
[LIC] License valid · 365 days remaining
[NET] Listening on 0.0.0.0:8080
Состав бинарного файла (~65 МБ)
Гибридная виртуальная файловая система
Сердцем Engine является двухзонная VFS. Она перехватывает все файловые вызовы PHP и направляет их либо в зашифрованное хранилище исходников, либо на RAM-диск для кэша и сессий.
Исходный код (Read-Only)
RAM-диск (Read/Write)
Производительность: RAM против Диска
Symfony-кэш и логи полностью живут на RAM-диске (wmnt). Дисковый I/O исключён — это даёт значительное снижение TTFB по сравнению с классическим PHP-FPM на SSD.