
Strelka Web UI для отправки и анализа файлов
[Releases][release] | [Pull Requests][pr] | [Issues][issues]
[![GitHub release][img-version-badge]][repo] [![Build Status][img-actions-badge]][actions-ci] [![Pull Requests][img-pr-badge]][pr] [![Slack][img-slack-badge]][slack] [![License][img-license-badge]][license]
Strelka Web UI — это браузерный и API-ориентированный фронтенд для отправки файлов в Strelka Enterprise File Scanner. Он позволяет пользователям отправлять файлы в кластер Strelka и легко просматривать исторические результаты ответов. Strelka Web UI поддерживает LDAP-аутентификацию и доступ через API, обеспечивая безопасный и гибкий способ взаимодействия со сканером Strelka. В этом документе описано, как настроить и использовать Strelka Web UI, а также его возможности и связанные проекты.
UI для отправки файлов предоставляет следующие возможности:
По умолчанию Strelka UI настроен на использование минимального развёртывания «quickstart», позволяющего пользователям протестировать систему. Это развёртывание будет нацелено на локальный экземпляр Strelka и запустит локальную базу данных. Пользователи смогут получить доступ к этой системе с любым именем пользователя / паролем. Для получения дополнительной информации о нацеливании на удалённый экземпляр Strelka, базу данных или использовании LDAP для аутентификации см. раздел Дополнительная настройка:
Start or ensure Strelka cluster is ready and accessible.
See https://github.com/target/strelka for more information.
# Terminal 1
# From the ./strelka-ui directory
$ docker-compose -f docker-compose.yml up
1) Open A Browser
2) Navigate to 0.0.0.0:8080
3) Login with:
- Username: strelka
- Password: strelka
В этом разделе описано, как нацелиться на удалённый экземпляр Strelka, удалённую базу данных для хранения и LDAP-сервер для аутентификации в целях более безопасного использования. Чтобы включить это, вы можете использовать переменные окружения для переопределения значений по умолчанию.
Конфигурация бэкенда задаётся через переменные окружения и может быть статически установлена в ./app/config/config.py.
При локальном запуске приоритет конфигурации следующий: System environment -> .env -> ./app/config/config.py.
При запуске в Docker приоритет конфигурации следующий: Docker environment -> System environment -> ./app/config/config.py.
Обратитесь к ./app/example.env для настройки переменных окружения.
Ниже описаны элементы конфигурации в ./app/config/config.py.
| Field Name | Value | Required |
|---|---|---|
| STRELKA_HOST | Strelka hostname (e.g., 0.0.0.0) | Yes |
| STRELKA_PORT | Strelka port number (e.g., 57314) | Yes |
| STRELKA_CERT | Path to certificate for Strelka, if needed (e.g., /path/to/cert.pem) | No |
| CA_CERT_PATH | Path to CA certificates for LDAP, if needed (e.g., /path/to/ca_certs) | No |
| VIRUSTOTAL_API_KEY | API Key for VirusTotal Hash Lookup | Yes |
| VIRUSTOTAL_API_LIMIT | Limit how many files should be scanned by VirusTotal (Default: 30) | Yes |
| LDAP_URL | URL to LDAP server (e.g., ldaps://ldap.example.com:636) | No |
| LDAP_SEARCH_BASE | Search base for LDAP queries (e.g., DC=example,DC=com) | No |
| LDAP_USERNAME_ORGANIZATION | Username organization for LDAP queries (e.g., org//) | No |
| LDAP_ATTRIBUTE_ACCOUNT_NAME_FIELD | LDAP attribute for account name (e.g., sAMAccountName) | No |
| LDAP_ATTRIBUTE_FIRST_NAME_FIELD | LDAP attribute for first name (e.g., givenName) | No |
| LDAP_ATTRIBUTE_LAST_NAME_FIELD | LDAP attribute for last name (e.g., sn) | No |
| LDAP_ATTRIBUTE_MEMBER_OF_FIELD | LDAP attribute for member of (e.g., memberOf) | No |
| LDAP_ATTRIBUTE_MEMBER_REQUIREMENT_FIELD | LDAP attribute for member requirement (e.g., AD Attribute) | No |
| STATIC_ASSET_FOLDER | Build folder for UI (e.g., build) | Yes |
| MIGRATION_DIRECTORY | SQLAlchemy migrations directory (e.g., ./migrations) | Yes |
| DATABASE_USERNAME | Database username (e.g., admin) | Yes |
| DATABASE_PASSWORD | Database password (e.g., password123) | Yes |
| DATABASE_HOST | Database hostname (e.g., db.example.com) | Yes |
| DATABASE_PORT | Database port number (e.g., 5432) | Yes |
| DATABASE_DBNAME | Name of the database (e.g., mydb) | Yes |
| API_KEY_EXPIRATION | Duration in days of API key expiration (e.g., 30) | Yes |
Вы также можете задать ссылку в таблице отправок UI, чтобы позволить пользователям быстро переходить на внешний сайт на основе request.id. Изменив ./ui/src/config.js и следуя примеру SEARCH_URL в следующей таблице, вы можете предоставить пользователям ссылку на внешний сайт (например, SIEM / логгер). Убедитесь, что ваша ссылка содержит строку <REPLACE>, и UI заменит эту строку на идентификатор запроса соответствующего файла.
Поддерживаемые поля модификации в ./ui/src/config.js:
| Field Name | Value | Example |
|---|---|---|
| SEARCH_URL | Search URL for the external application | Ex: https://search.com/?q=request.id= |
| SEARCH_NAME | Search name for the external application | Ex: Splunk |
| DEFAULT_EXCLUDED_SUBMITTERS | Default users to be exluded from Submission table view. Useful for hiding automations by default. | Ex: SearchBot |