
Strelka Web UI para Submissão e Análise de Arquivos
[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]
A Strelka Web UI é um frontend de envio de arquivos baseado em navegador e API para o Strelka Enterprise File Scanner. Ela permite que os usuários enviem arquivos para um cluster Strelka e revisem facilmente os resultados históricos de respostas. A Strelka Web UI oferece suporte à autenticação LDAP e acesso via API, proporcionando uma maneira segura e flexível de interagir com o scanner Strelka. Este documento fornece detalhes sobre como configurar e usar a Strelka Web UI, bem como seus recursos e projetos relacionados.
A interface de envio de arquivos oferece os seguintes recursos:
Por padrão, a Strelka UI está configurada para usar uma implantação mínima de "quickstart" que permite aos usuários testar o sistema. Essa implantação apontará para uma instância Strelka local e iniciará um banco de dados local. Os usuários poderão acessar esse sistema com qualquer nome de usuário / senha que desejarem. Para informações adicionais sobre como apontar para uma instância Strelka remota, banco de dados ou usar LDAP para autenticação, consulte a seção Configuração Adicional:
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
Esta seção fornece detalhes sobre como apontar para uma instância Strelka remota, um banco de dados remoto para armazenamento e um servidor LDAP para autenticação, visando um uso mais seguro. Para habilitá-los, você pode usar variáveis de ambiente para substituir os padrões.
A configuração do backend é fornecida por meio de variáveis de ambiente e pode ser definida estaticamente em ./app/config/config.py.
Executando localmente, a precedência da configuração é: System environment -> .env -> ./app/config/config.py.
Executando no Docker, a precedência da configuração é: Docker environment -> System environment -> ./app/config/config.py.
Consulte ./app/example.env para a configuração das variáveis de ambiente.
A seguir, detalhamos os itens de configuração em ./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 |
Você também pode definir uma referência na tabela de envio da UI para permitir que os usuários naveguem rapidamente para um site externo com base no request.id. Ao modificar ./ui/src/config.js e seguir o exemplo de SEARCH_URL na tabela a seguir, você pode fornecer aos usuários um link para um site externo (por exemplo, SIEM / logger). Certifique-se de que seu link contenha a string <REPLACE> e a UI substituirá essa string pelo ID de requisição do arquivo relevante.
Campos de modificação suportados em ./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 |