Требования к инфраструктуре
Требования к аппаратному обеспечению
Серверные компоненты AppSec.Sting должны быть установлены на выделенном сервере, предназначенном исключительно для эксплуатации серверных компонент AppSec.Sting.
Для работы системы обязательно наличие поддержки виртуализации, а именно необходим процессор с поддержкой технологии виртуализации Intel Virtualization Technology (VT, VT-x, vmx) или AMD Virtualization (AMD-V, SVM).
Минимальные технические характеристики серверного оборудования
- 8-ядерный CPU 2 ГГц.
- Оперативная память: 24 Гб.
- Свободное дисковое пространство 100 GB (+ пространство для размещения прикладных систем и баз данных).
Рекомендуемые технические характеристики серверного оборудования
- 16-ядерный CPU 3 ГГц.
- Оперативная память: 32 Гб.
- Свободное дисковое пространство 500 GB (+ пространство для размещения прикладных систем и баз данных).
Для развертывания платформы AppSec.Sting на базе клиентской инфраструктуры требуется следующая минимальная аппаратная или виртуальная конфигурация оборудования:
| Наименование | CPU | RAM, Гб | HDD, Гб |
|---|---|---|---|
| AppSec.Sting (минимальная конфигурация) | 8-ядерный процессор (2 ГГц) с поддержкой технологии виртуализации Intel Virtualization Technology (VT, VT-x, vmx) или AMD Virtualization (AMD-V, SVM) | 24 | 200 |
| AppSec.Sting (рекомендуемая конфигурация) | 16-ядерный процессор (3 ГГц) с поддержкой технологии виртуализации Intel Virtualization Technology (VT, VT-x, vmx) или AMD Virtualization (AMD-V, SVM) | 32 | 500 |
Минимальная конфигурация рассчитана из следующего количества сканирующих агентов:
- Два сканирующих агента Android.
- Два сканирующих агента iOS.
При увеличении количества сканирующих агентов необходимо пересмотреть конфигурацию оборудования из расчета 1 ядро и 4 Гб ОЗУ на каждого дополнительного сканирующего агента при их параллельной работе. Также можно исходить из таблицы ниже.
| Количество сканирующих агентов | Ядер процессора (физических) | Общее количество потоков | RAM, Гб |
|---|---|---|---|
| 2 Android, 2 iOS | 8* | 16 | 24 |
| 4 Android, 4 iOS | 12* | 24 | 24 |
| 6 Android, 6 iOS | 16* | 32 | 32 |
* При виртуализации количество виртуальных процессоров (vCPU) должно соответствовать общему количеству потоков.
Архитектура и ОС
Система поддерживает следующие типы ОС и ПО для полноценного функционирования.
| Операционная система | Архитектура | Платформа |
|---|---|---|
| Linux | 64-bit | Ubuntu 22.04 LTS x64 |
| Linux | 64-bit | Centos / RHEL 8.9 и выше |
Требования к инфраструктуре для Kubernetes
Инфраструктура для Kubernetes включает в себя:
- Сервисы AppSec.Sting.
- Инфраструктурные сервисы.
Сервисы AppSec.Sting
Ресурсы контейнеров (требования и лимиты):
Apricot
| Контейнер | CPU REQ (m) | RAM REQ (Mi) | CPU LIM (m) | RAM LIM (Mi) |
|---|---|---|---|---|
| migration | 50 | 128 | 100 | 256 |
| async | 50 | 512 | 300 | 2200 |
| rest | 50 | 128 | 100 | 256 |
| Итого | 150 | 768 | 500 | 2712 |
Calypso
| Контейнер | CPU REQ (m) | RAM REQ (Mi) | CPU LIM (m) | RAM LIM (Mi) |
|---|---|---|---|---|
| migration | 50 | 128 | 100 | 256 |
| async | 300 | 6144 | 5500 | 22528 |
| rest | 300 | 1024 | 1500 | 4096 |
| Итого | 650 | 7296 | 7100 | 26880 |
Marivanna
| Контейнер | CPU REQ (m) | RAM REQ (Mi) | CPU LIM (m) | RAM LIM (Mi) |
|---|---|---|---|---|
| rest | 300 | 1024 | 1500 | 4096 |
| async | 300 | 6144 | 5500 | 22528 |
| Итого | 600 | 7168 | 7000 | 26624 |
Dittany
| Контейнер | CPU REQ (m) | RAM REQ (Mi) | CPU LIM (m) | RAM LIM (Mi) |
|---|---|---|---|---|
| migration | 50 | 128 | 100 | 256 |
| seed | 50 | 128 | 100 | 256 |
| async | 50 | 128 | 100 | 256 |
| rest | 50 | 128 | 100 | 256 |
| listen | 50 | 128 | 100 | 256 |
| Итого | 250 | 640 | 500 | 1280 |
Umbrella
| Контейнер | CPU REQ (m) | RAM REQ (Mi) | CPU LIM (m) | RAM LIM (Mi) |
|---|---|---|---|---|
| migration | 50 | 128 | 100 | 256 |
| async | 50 | 128 | 100 | 256 |
| rest | 50 | 128 | 100 | 256 |
| listen | 50 | 128 | 100 | 256 |
| Итого | 200 | 512 | 400 | 1024 |
Camellia
| Контейнер | CPU REQ (m) | RAM REQ (Mi) | CPU LIM (m) | RAM LIM (Mi) |
|---|---|---|---|---|
| migration | 50 | 128 | 100 | 256 |
| seed | 50 | 128 | 100 | 256 |
| async | 50 | 128 | 100 | 256 |
| rest | 50 | 128 | 100 | 256 |
| listen | 50 | 128 | 100 | 256 |
| Итого | 250 | 640 | 500 | 1280 |
Сервисы AppSec.Sting - общий итог: 16000 mCPU (16 CPU), 59800 Mi RAM (60 RAM)
Инфраструктурные сервисы
AppSec.Sting может использовать всю перечисленную ниже инфраструктуру как сервис.
В случае необходимости, например, при отсутствии каких-либо компонентов в среде и возможности подключения к ним как к внешним сервисам, возможно их самостоятельное развертывание в следующих параметрах:
| Инфраструктура | Реплики | CPU на реплику (cores) | RAM на реплику (GiB) | SSD на реплику | Итого CPU (cores) | Итого RAM (GiB) | Итого SSD |
|---|---|---|---|---|---|---|---|
| Keycloak | 1 | 1 | 2 | 10 | 1 | 2 | 10 |
| PostgreSQL | 2 | 2 | 4 | 50 | 4 | 8 | 100 |
| Redis | 2 | 0,5 | 1 | 5 | 1 | 2 | 10 |
| Minio | 4 | 1,5 | 3 | 100 | 6 | 12 | 400 |
| Kafka (3) / zookeeper (3) | 6 | 2 | 6 | 200 | 12 | 36 | 1200 |
| DeepTrack | 1 | 4,5 | 7 | 100 | 4,5 | 7 | 100 |
| OAuth2 | 1 | 1 | 2 | 10 | 1 | 2 | 10 |
| Итого: | 29,5 | 69 | 1830 | ||||
| Итого округлено: | 30 CPU | 70 RAM | 2 TB SSD |
Сетевой доступ
Установленные для эксплуатации AppSec.Sting технические средства должны быть совместимы между собой и поддерживать сетевой протокол TCP/IP. Для первоначальной настройки и установки платформы AppSec.Sting и сопутствующих пакетов желателен доступ к следующим ресурсам:
| № | Адрес источника | Адрес приемника | Тип подключения | Порты | Назначение |
|---|---|---|---|---|---|
| 1 | Сетевой адрес AppSec.Sting | https://download.docker.com | Внешний | 80, 443 | Установка docker |
| 2 | Сетевой адрес AppSec.Sting | http://archive.ubuntu.com http://security.ubuntu.com |
Внешний | 80, 443 | Установка сопутствующих пакетов |
| 3 | Сетевой адрес AppSec.Sting | https://cr.yandex/ | Внешний | 80, 443 | Авторизация в хранилище docker и загрузка docker-образов |
| 4 | Сетевой адрес AppSec.Sting | https://container-registry.api.cloud.yandex.net | Внешний | 80, 443 | Авторизация в хранилище docker и загрузка docker-образов |
| 5 | Сетевой адрес AppSec.Sting | https://storage.yandexcloud.net | Внешний | 80, 443 | Авторизация в хранилище docker и загрузка docker-образов |
| 6 | CI/CD система, в которой осуществляется процесс сборки приложения | Сетевой адрес AppSec.Sting | Внутренний | 80, 443 | Загрузка артефакта сборки (мобильного приложения) для анализа в AppSec.Sting |
| 7 | Сетевой адрес системы AppSec.Sting | Backend мобильного приложения | Внутренний | 80, 443 | Сетевая доступность backend для корректной работы мобильного приложения |
| 8 | Рабочее место пользователя AppSec.Sting | Сетевой адрес AppSec.Sting | Внутренний | 80, 443 | Работа пользователей с графическим интерфейсом системы |
| 9 | Рабочее место администратора AppSec.Sting | Сетевой адрес AppSec.Sting | Внутренний | 80, 443, 22 | Администрирование системы AppSec.Sting |