Эта страница охватывает механизмы, управляющие тем, откуда до AiHummer можно
дотянуться и куда он может дотянуться, что он записывает и из чего собран:
IP-allowlist для админки, режим air-gapped, журнал аудита и состояние цепочки
поставок.
IP-allowlist (ограничение admin по IP)
Вы можете ограничить административную поверхность известными сетями с помощью
IP-allowlist, управляемого по адресу /v1/admin/security/ip-allowlist. Когда
он настроен, доступ к админке ограничивается по исходному IP, поэтому admin API и
UI отвечают только на запросы с адресов, которым вы доверяете.
Для суверенных или изолированных развёртываний задайте AIHUMMER_AIRGAPPED=1,
чтобы заблокировать управляемый моделью публичный egress. В этом режиме
инструменты агента не могут выходить в публичный интернет от имени модели, что
снимает целый класс рисков эксфильтрации и SSRF.
[!WARNING]
Режим air-gapped отключает инструменты, зависящие от публичного egress
(например, открытые веб-запросы). Сочетайте его с self-hosted сайдкарами и
локальными моделями, чтобы развёртывание оставалось полностью функциональным
без внешних вызовов. Для более тонкого контроля без полного air-gap используйте
egress-allowlist, описанные в Guardrails.
Журнал аудита
Административные изменения записываются в журнал аудита с retention и
пагинацией, доступный по адресу /v1/admin/audit. Retention управляется
переменной AIHUMMER_AUDIT_RETENTION_DAYS, поэтому вы можете хранить след
столько, сколько требует ваша политика комплаенса, и позволять старым записям
устаревать.
Журнал аудита естественно сочетается с RBAC и SSO: SSO и IP-allowlist решают,
кто может действовать, scoped-ключи — что им можно, а журнал аудита фиксирует, что
они сделали.
Цепочка поставок и состояние рантайма
Рантайм AiHummer намеренно небольшой и поддающийся инспекции:
Свойство
Состояние
Gateway
Один Go-бинарь (control-plane + turn-движок).
Прямые зависимости
Около 25 прямых Go-модулей — небольшая, аудируемая поверхность.
Упаковка
Host-native: релизный tarball + systemd, без Docker.
Сайдкары
Отдельные HTTP-сервисы по URL, устанавливаются только при необходимости.
[!NOTE]
Host-native упаковка означает, что нет контейнерного рантайма, который нужно
укреплять или патчить вдобавок к приложению — вы запускаете один Go-бинарь под
systemd из /home/.aihummer. Это проверяемое свойство того, как поставляется
продукт, а не заявление об абсолютной безопасности.
Эта страница охватывает механизмы, управляющие тем, *откуда* до AiHummer можно
дотянуться и *куда* он может дотянуться, *что* он записывает и *из чего* собран:
IP-allowlist для админки, режим air-gapped, журнал аудита и состояние цепочки
поставок.
## IP-allowlist (ограничение admin по IP)
Вы можете ограничить административную поверхность известными сетями с помощью
**IP-allowlist**, управляемого по адресу `/v1/admin/security/ip-allowlist`. Когда
он настроен, доступ к админке ограничивается по исходному IP, поэтому admin API и
UI отвечают только на запросы с адресов, которым вы доверяете.
> [!TIP]
> Сочетайте IP-allowlist с [корпоративным SSO](/v1.0/security/enterprise-sso) и
> [scoped API-ключами](/v1.0/security/rbac): сетевое ограничение задаёт
> *откуда*, SSO — *кто*, а scopes — *что*.
## Режим air-gapped
Для суверенных или изолированных развёртываний задайте `AIHUMMER_AIRGAPPED=1`,
чтобы заблокировать **управляемый моделью публичный egress**. В этом режиме
инструменты агента не могут выходить в публичный интернет от имени модели, что
снимает целый класс рисков эксфильтрации и SSRF.
```ini
# /home/.aihummer/etc/gateway.env
AIHUMMER_AIRGAPPED=1
```
> [!WARNING]
> Режим air-gapped отключает инструменты, зависящие от публичного egress
> (например, открытые веб-запросы). Сочетайте его с self-hosted сайдкарами и
> локальными моделями, чтобы развёртывание оставалось полностью функциональным
> без внешних вызовов. Для более тонкого контроля без полного air-gap используйте
> egress-allowlist, описанные в [Guardrails](/v1.0/security/guardrails).
## Журнал аудита
Административные изменения записываются в **журнал аудита** с retention и
пагинацией, доступный по адресу `/v1/admin/audit`. Retention управляется
переменной `AIHUMMER_AUDIT_RETENTION_DAYS`, поэтому вы можете хранить след
столько, сколько требует ваша политика комплаенса, и позволять старым записям
устаревать.
```ini
# /home/.aihummer/etc/gateway.env
AIHUMMER_AUDIT_RETENTION_DAYS=365
```
Журнал аудита естественно сочетается с RBAC и SSO: SSO и IP-allowlist решают,
кто может действовать, scoped-ключи — что им можно, а журнал аудита фиксирует, что
они сделали.
## Цепочка поставок и состояние рантайма
Рантайм AiHummer намеренно небольшой и поддающийся инспекции:
| Свойство | Состояние |
|---|---|
| Gateway | Один Go-бинарь (control-plane + turn-движок). |
| Прямые зависимости | Около 25 прямых Go-модулей — небольшая, аудируемая поверхность. |
| Упаковка | Host-native: релизный tarball + systemd, **без Docker**. |
| Сайдкары | Отдельные HTTP-сервисы по URL, устанавливаются только при необходимости. |
> [!NOTE]
> Host-native упаковка означает, что нет контейнерного рантайма, который нужно
> укреплять или патчить вдобавок к приложению — вы запускаете один Go-бинарь под
> systemd из `/home/.aihummer`. Это проверяемое свойство того, как поставляется
> продукт, а не заявление об абсолютной безопасности.
## Куда дальше
- [Корпоративный SSO](/v1.0/security/enterprise-sso) — кому разрешён вход.
- [RBAC и scoped API-ключи](/v1.0/security/rbac) — что им можно после входа.
- [Guardrails и защита от инъекций](/v1.0/security/guardrails) —
egress-allowlist и защита от SSRF для инструментов, которые всё же выходят
наружу.