
Strelka Web UI para el envío y análisis de archivos
[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]
La Interfaz Web de Strelka es un frontend de envío de archivos basado en navegador y API para el Escáner de Archivos Empresarial Strelka. Permite a los usuarios enviar archivos a un clúster de Strelka y revisar fácilmente los resultados históricos de las respuestas. La Interfaz Web de Strelka admite autenticación LDAP y acceso a la API, lo que proporciona una forma segura y flexible de interactuar con el escáner Strelka. Este documento proporciona detalles sobre cómo configurar y usar la Interfaz Web de Strelka, así como sus características y proyectos relacionados.
La interfaz de envío de archivos proporciona las siguientes características:
Por defecto, la Interfaz de Strelka está configurada para usar un despliegue mínimo de "inicio rápido" que permite a los usuarios probar el sistema. Este despliegue apuntará a una instancia local de Strelka e iniciará una base de datos local. Los usuarios podrán acceder a este sistema con el nombre de usuario / contraseña que deseen. Para obtener información adicional sobre cómo apuntar a una instancia remota de Strelka, una base de datos, o usar LDAP para la autenticación, consulte la sección Configuración 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 sección proporciona detalles sobre cómo apuntar a una instancia remota de Strelka, una base de datos remota para almacenamiento, y un servidor LDAP para autenticación para un uso más seguro. Para habilitar esto, puede usar variables de entorno para anular los valores predeterminados.
La configuración del backend se proporciona a través de variables de entorno y se puede establecer estáticamente en ./app/config/config.py.
Ejecutándose localmente, la precedencia de la configuración es: System environment -> .env -> ./app/config/config.py.
Ejecutándose en Docker, la precedencia de la configuración es: Docker environment -> System environment -> ./app/config/config.py.
Consulte ./app/example.env para la configuración de variables de entorno.
A continuación se detallan los elementos de configuración en ./app/config/config.py.
| Nombre del Campo | Valor | Requerido |
|---|---|---|
| STRELKA_HOST | Nombre de host de Strelka (ej., 0.0.0.0) | Sí |
| STRELKA_PORT | Número de puerto de Strelka (ej., 57314) | Sí |
| STRELKA_CERT | Ruta al certificado para Strelka, si es necesario (ej., /path/to/cert.pem) | No |
| CA_CERT_PATH | Ruta a los certificados CA para LDAP, si es necesario (ej., /path/to/ca_certs) | No |
| VIRUSTOTAL_API_KEY | Clave API para la Búsqueda de Hash en VirusTotal | Sí |
| VIRUSTOTAL_API_LIMIT | Limitar cuántos archivos deben ser escaneados por VirusTotal (Predeterminado: 30) | Sí |
| LDAP_URL | URL al servidor LDAP (ej., ldaps://ldap.example.com:636) | No |
| LDAP_SEARCH_BASE | Base de búsqueda para consultas LDAP (ej., DC=example,DC=com) | No |
| LDAP_USERNAME_ORGANIZATION | Organización del nombre de usuario para consultas LDAP (ej., org//) | No |
| LDAP_ATTRIBUTE_ACCOUNT_NAME_FIELD | Atributo LDAP para el nombre de cuenta (ej., sAMAccountName) | No |
| LDAP_ATTRIBUTE_FIRST_NAME_FIELD | Atributo LDAP para el nombre (ej., givenName) | No |
| LDAP_ATTRIBUTE_LAST_NAME_FIELD | Atributo LDAP para el apellido (ej., sn) | No |
| LDAP_ATTRIBUTE_MEMBER_OF_FIELD | Atributo LDAP para miembro de (ej., memberOf) | No |
| LDAP_ATTRIBUTE_MEMBER_REQUIREMENT_FIELD | Atributo LDAP para el requisito de miembro (ej., AD Attribute) | No |
| STATIC_ASSET_FOLDER | Carpeta de compilación para la UI (ej., build) | Sí |
| MIGRATION_DIRECTORY | Directorio de migraciones de SQLAlchemy (ej., ./migrations) | Sí |
| DATABASE_USERNAME | Nombre de usuario de la base de datos (ej., admin) | Sí |
| DATABASE_PASSWORD | Contraseña de la base de datos (ej., password123) | Sí |
| DATABASE_HOST | Nombre de host de la base de datos (ej., db.example.com) | Sí |
| DATABASE_PORT | Número de puerto de la base de datos (ej., 5432) | Sí |
| DATABASE_DBNAME | Nombre de la base de datos (ej., mydb) | Sí |
| API_KEY_EXPIRATION | Duración en días de la expiración de la clave API (ej., 30) | Sí |
También puede establecer una referencia en la tabla de envíos de la UI para permitir a los usuarios pivotar rápidamente a un sitio externo basado en el request.id. Al modificar ./ui/src/config.js y seguir el ejemplo de SEARCH_URL en la siguiente tabla, puede proporcionar a los usuarios un enlace a un sitio externo (ej., SIEM / logger). Asegúrese de que su enlace contenga la cadena <REPLACE> y la UI reemplazará esa cadena con el ID de solicitud del archivo correspondiente.