Skip to content

Commit a60d2f4

Browse files
JocLRojasylladamjabascal10CopilotAlexSanchez-bit
authored
Release/v11 (#1426)
* feat(action): add UTMStack Collector build step and update Dockerfile * feat(utmstack-collector): implement DownloadVersion function for dependency management * Update frontend/src/app/data-management/alert-management/alert-view/alert-view.component.html Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update frontend/src/app/data-management/alert-management/alert-view/alert-view.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update frontend/src/app/data-management/alert-management/shared/components/data-field-render/data-field-render.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat(utmstack): update installation and uninstallation commands for UTMStack Collector Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * Update frontend/src/app/app-module/guides/guide-utmstack/guide-utmstack.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix[frontend](alert_management): marked as false positive on create false positive tag rule * Update frontend/src/app/data-management/alert-management/shared/components/alert-rule-create/alert-rule-create.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update frontend/src/app/data-management/alert-management/shared/components/alert-actions/alert-apply-tags/alert-tags-apply.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update frontend/src/app/data-management/alert-management/shared/components/alert-actions/alert-apply-tags/alert-tags-apply.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor(action-sidebar): improve layout and optimize scroll handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * refactor(action-sidebar): improve layout and optimize scroll handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix(collector-ops): update deleteCollector method to use module enum value * fix(logstash): update logstash filter resource URL to use UTM filters Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * refactor(guide-utmstack): simplify ngOnInit and enhance token retrieval logic Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(alert): add new fields for Host and User in alert display Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(alert): add countAllAlertsByStatus method for improved alert counting * feat(alert): introduce ALERT_ECHOES_FIELDS and enhance dynamic table with initialExpandedId Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix(alert): adjust layout for alert host detail and improve conditional rendering Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix[frontend](app_settings): added GMT+12 and daylight saving options on date settings * fix[frontend](web_console): sanitized password parameter to admit all utf8 characters even url structure ones * feat[backend](api-keys): added api keys dto, controllers and entities * feat[backend](api_keys): added api keys * feat(api_keys): create api_keys table with user_id and add foreign key constraint * feat(api_keys): implement API key management with CRUD operations and validation * refactor(api_keys): simplify API key management by removing user ID dependency in service methods * feat(api_keys): implement API key filtering and usage logging for enhanced security * feat[frontend](api_key): added api key list/creation components * refactor(api_keys): remove unused ApplicationEventService from ApiKeyFilter * refactor(api_keys): update API key table schema and change ID type to BIGINT * feat(config): introduce constants for configuration data types and refactor validation logic * refactor(UtmDataInputStatus, UtmNetworkScan): remove unused relationships and update queries to use source field * feat(api_keys): enhance API key management UI Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): enhance API key management UI Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(config): introduce constants for configuration data types and refactor validation logic * refactor(UtmDataInputStatus, UtmNetworkScan): remove unused relationships and update queries to use source field * feat(api_keys): implement API key filtering and usage logging for enhanced security * feat(api_keys): enhance API key management with new fields and logging improvements * feat(api_keys): enhance IP address management with validation and error handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): add API key generation and expiration handling with user feedback Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): update API key modal for editing and improved deletion confirmation Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix(agent): ensure proper closure of TCP and UDP listeners on disable * refactor(api_keys): change API key identifier type from UUID to Long for consistency * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): improve API key listing with pagination, loading states, and expiration indicators Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix(login): prevent error when checking for blocked user JWT authorization Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * refactor(events): remove unused meter initialization in Analyze and startQueue functions * fix(alert): remove debug logs from ngOnInit method in alert entity display Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(agent): add TLS connection option and update command generation for syslog integrations Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * Update frontend/src/app/app-management/api-keys/shared/components/api-key-modal/api-key-modal.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKeyFilter.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): enhance clipboard functionality with fallback support and feedback Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * fix[frontend](web_console): sanitized password parameter to admit all utf8 characters even url structure ones * feat[backend](api-keys): added api keys dto, controllers and entities * feat[backend](api_keys): added api keys * feat(api_keys): create api_keys table with user_id and add foreign key constraint * feat(api_keys): implement API key management with CRUD operations and validation * refactor(api_keys): simplify API key management by removing user ID dependency in service methods * feat(api_keys): implement API key filtering and usage logging for enhanced security * feat[frontend](api_key): added api key list/creation components * refactor(api_keys): remove unused ApplicationEventService from ApiKeyFilter * refactor(api_keys): update API key table schema and change ID type to BIGINT * feat(api_keys): enhance API key management UI Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): enhance API key management UI Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): implement API key filtering and usage logging for enhanced security * feat(api_keys): enhance API key management with new fields and logging improvements * feat(api_keys): enhance IP address management with validation and error handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): add API key generation and expiration handling with user feedback Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): update API key modal for editing and improved deletion confirmation Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * refactor(api_keys): change API key identifier type from UUID to Long for consistency * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): improve API key listing with pagination, loading states, and expiration indicators Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * Update frontend/src/app/app-management/api-keys/shared/components/api-key-modal/api-key-modal.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKeyFilter.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): enhance clipboard functionality with fallback support and feedback Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * refactor(agent): remove unused TLS certificate validation and related functions; * Update frontend/src/app/core/auth/account.service.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat(agent): validate TLS certificates before enabling TLS for integrations * feat(agent): add TLS support for syslog command generation and update argument handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(agent): add TLS support for syslog command generation and update argument handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * refactor(agent): remove unused TLS certificate validation and related functions; * fix[frontend](web_console): sanitized password parameter to admit all utf8 characters even url structure ones * Update frontend/src/app/core/auth/account.service.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix[frontend](app_settings): added GMT+12 and daylight saving options on date settings * feat(agent): validate TLS certificates before enabling TLS for integrations * fix[frontend](web_console): sanitized password parameter to admit all utf8 characters even url structure ones * feat[backend](api-keys): added api keys dto, controllers and entities * feat[backend](api_keys): added api keys * feat(api_keys): create api_keys table with user_id and add foreign key constraint * feat(api_keys): implement API key management with CRUD operations and validation * refactor(api_keys): simplify API key management by removing user ID dependency in service methods * feat(api_keys): implement API key filtering and usage logging for enhanced security * feat[frontend](api_key): added api key list/creation components * refactor(api_keys): remove unused ApplicationEventService from ApiKeyFilter * refactor(api_keys): update API key table schema and change ID type to BIGINT * feat(api_keys): enhance API key management UI Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): enhance API key management UI Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): implement API key filtering and usage logging for enhanced security * feat(api_keys): enhance API key management with new fields and logging improvements * feat(api_keys): enhance IP address management with validation and error handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): add API key generation and expiration handling with user feedback Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): update API key modal for editing and improved deletion confirmation Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * refactor(api_keys): change API key identifier type from UUID to Long for consistency * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): improve API key listing with pagination, loading states, and expiration indicators Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * Update frontend/src/app/app-management/api-keys/shared/components/api-key-modal/api-key-modal.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKeyFilter.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): enhance clipboard functionality with fallback support and feedback Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * feat(api_key): enhance ApiKeyFilter with improved logging and validation checks * feat[backend](api-keys): added api keys dto, controllers and entities * feat[backend](api_keys): added api keys * feat(api_keys): create api_keys table with user_id and add foreign key constraint * feat(api_keys): implement API key management with CRUD operations and validation * feat[frontend](api_key): added api key list/creation components * refactor(api_keys): remove unused ApplicationEventService from ApiKeyFilter * refactor(api_keys): update API key table schema and change ID type to BIGINT * feat(api_keys): enhance API key management UI Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(api_keys): implement API key filtering and usage logging for enhanced security * feat(api_keys): enhance API key management with new fields and logging improvements * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * feat(api_keys): simplify API key listing endpoint and enhance expiration handling * Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKeyFilter.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat: improve asset source sorting and display in assets view Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance loading state handling in chart and view components Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance alert rule modal presentation and improve alert completion messaging Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance asset detail interaction and add trackBy function for performance Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add isEcho input to data field render for conditional rendering of alert status and action components Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add adversary field rendering to alert view detail component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add adversary field rendering to alert view detail component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: rename UtmLogstashFilterResource to UtmFilterResource and update API endpoints * feat: enhance logstash filters component with loading state and quick create functionality Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(agent): update TLS command generation for syslog integrations to use concatenation Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update database schema and properties for v11 release * feat: update database schema and properties for v11 release * feat: refactor constants for log event data and update Elasticsearch query * feat: refactor event handling to use Event type and update related components Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance agent console UI and improve password input handling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: refactor layout and styling for active directory components Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance add rule component with after events section and modal styling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: improve layout and styling for active directory event component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add changelogs to hide compliance menu items and update filters visualization * feat: filter compliance standards by ID in the HTTP response Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: implement search functionality for fields in condition item component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: remove duplicate alert badge fields and clean up HTML structure Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: remove loading spinner from visualization preview tooltip Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update aggregation field mappings in filters visualization * feat: comment out documentation alert in logstash filter create component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add changelog to disable correlation rules with regex * feat: update placement attribute to support multiple positions in alert action select component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: condition builder visibility based on fields availability Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add system owner field to alert response rules and update related logic * feat: add systemOwner filter to playbooks component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add system owner field to alert response rules and update related logic * feat: enhance playbook component with improved layout and functionality Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance playbook component with improved layout and functionality Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance playbook component with improved layout and functionality Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add system owner field to alert response rules and update related logic * feat: enhance playbook component with improved layout and functionality Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update agent handling strategy description for clarity and context Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update agent handling strategy description for clarity and context Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix: change PostgreSQL logger level from WARN to ERROR * feat: update log handling and display logic for improved clarity and consistency Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update log filter selection to improve user experience Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix: handle potential null value in audits length check Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix: update filterBySelect method to accept a generic field type Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update workflows and send to new cm in gcp * feat: include script to compile installer * fix: resolve workflow errors and improve cross-platform compatibility * fix problem with agent SIGN KEY * feat: implement service to automatically assign asset groups to alerts * feat: add asset group fields to alert constants and configuration Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(agent/syslog): add RFC 5424 octet counting framing support and improve message handling * fix: always update pending versions * improve v11 changelog * feat: enhance playbook UI and loading behavior, add new alert fields Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add CrowdStrike plugin core implementation * feat: add gRPC configuration management for CrowdStrike * refactor: update version info handling and clean up community module display Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * refactor: remove deprecated standalone plugin architecture * feat: enhance timezone handling by dynamically generating timezone list Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance timezone handling by dynamically generating timezone list Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * update changelog --------- Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> Co-authored-by: Yadian Llada Lopez <yadian.llada@gmail.com> Co-authored-by: Manuel Abascal <mjabascal10@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: AlexSanchez-bit <sanchez.saez.alex01@gmail.com> Co-authored-by: Osmany Montero <osmontero@icloud.com> Co-authored-by: Yorjander Hernandez Vergara <yorjaKbayero@gmail.com>
1 parent 4cc9e37 commit a60d2f4

File tree

16 files changed

+345
-186
lines changed

16 files changed

+345
-186
lines changed

CHANGELOG.md

Lines changed: 3 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,4 @@
1-
# UTMStack 11.0.0 Release Notes
2-
3-
This is the release notes for **UTMStack v11**, a major update from v10. This version introduces significant improvements and new features aimed at enhancing performance, scalability, and security.
4-
5-
## ⚠️ BREAKING CHANGE - Migration Required
6-
7-
**IMPORTANT:** UTMStack v11 introduces fundamental architectural changes that make it **incompatible with v10**.
8-
9-
- **Direct upgrades from v10 to v11 are NOT supported**
10-
- A **complete migration** is required to move from v10 to v11
11-
- We are currently developing a **migration tool** to facilitate this process
12-
- **Do not attempt to upgrade** your v10 installation to v11 until the migration tool is available
13-
14-
Please contact our support team for guidance on migration planning and timeline.
15-
16-
## Key Highlights
17-
18-
### Performance and Resource Optimization
19-
- **EventProcessor Integration:** Replaced the resource-intensive Logstash with the new **EventProcessor** from Threatwinds, drastically reducing resource usage for data processing.
20-
- **Plugin Architecture:** Introduced a new **plugin system** for official integrations, improving scalability and maintainability.
21-
- **Scalable Processing:** Previous versions required one container per data input. Now, v11 uses two EventProcessor containers—a manager and a worker—allowing each to run its plugins and process logs in parallel. Additional workers can be added as needed to avoid bottlenecks.
22-
23-
### Security Enhancements
24-
- **TLS Improvements:** Strengthened TLS handling across all components.
25-
- **Mandatory Multi-Factor Authentication (MFA):** Added as a required security measure to protect access.
26-
27-
### SOC-AI Enhancements
28-
- **Custom Models Support:** Users can now utilize their own models in SOC-AI integrations, in addition to officially supported models.
29-
30-
### User Interface and Usability
31-
- **UI Overhaul:** Major improvements to visual interfaces for enhanced user experience.
32-
- **SOAR (formerly Incident Response):** Renamed and upgraded to provide automated alert response workflows.
33-
- **Rule Creation Improvements:** Simplified graphical interface for rule creation while maintaining YAML-based configuration options.
34-
- **Log Filter Format Update:** Simplified from complex Logstash syntax to easy-to-use YAML format.
35-
36-
### Centralization and Deployment
37-
- **Central Server:** All instances can now connect to a central server for improved support, enabling remote log submission.
38-
- **Cross-Platform Installation:** Added support for **Red Hat** installations in addition to Ubuntu.
39-
- **Offline On-Premise Installation:** Supported with guided assistance from our engineers for more complex setups.
40-
- **Automatic Updates:** Updates can now be automatically applied from the central server. Users can schedule updates to run at convenient times, ensuring the system remains current without manual checks.
41-
42-
## Summary
43-
UTMStack v11 represents a major leap forward in performance, scalability, security, and usability. The new architecture, plugin system, and central server support ensure that deployments can grow with your organization's needs while simplifying management and operations.
1+
# UTMStack 11.0.1 Release Notes
442

3+
- Enriched the TIMEZONES constant to include additional IANA zones for broader coverage.
4+
- Support for additional syslog framing methods (RFC 5424 octet counting).

frontend/src/app/app-module/shared/components/app-module-card/app-module-card.component.html

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<div class="module-card card text-center p-2 m-0 d-flex flex-column align-items-center justify-content-between">
22
<div class="d-flex flex-column w-100">
3-
<div *ngIf="version === versionType.COMMUNITY && ModulesEnterprise.includes(module.moduleName)" class="d-flex justify-content-end">
3+
<!--<div *ngIf="version === versionType.COMMUNITY && ModulesEnterprise.includes(module.moduleName)" class="d-flex justify-content-end">
44
<span class="badge p-1 border-1 m-1 bg-success-300"> Enterprise </span>
5-
</div>
5+
</div>-->
66
<div class="d-flex justify-content-center">
77
<img class="p-3 mb-3 mt-1"
88
[alt]="module.prettyName"
@@ -18,16 +18,15 @@ <h6 class="card-title font-weight-semibold">{{module.prettyName}}</h6>
1818
</p>
1919
</div>
2020

21-
<button *ngIf="version === versionType.COMMUNITY && !ModulesEnterprise.includes(module.moduleName)"
22-
class="btn utm-button mb-3 " (click)="showIntegration()"
21+
<button class="btn utm-button mb-3 " (click)="showIntegration()"
2322
[ngClass]="module.moduleActive?'utm-button-success':'utm-button-primary'">
2423
<i class="mr-1 icon-puzzle2"></i>
2524
{{module.moduleActive ? 'Enabled' : 'View integration'}}
2625
</button>
2726

28-
<button *ngIf="version === versionType.COMMUNITY && ModulesEnterprise.includes(module.moduleName)"
27+
<!--<button *ngIf="version === versionType.COMMUNITY && ModulesEnterprise.includes(module.moduleName)"
2928
class="btn utm-button utm-button-primary mb-3" (click)="showMessage()">
3029
<i class="mr-1 icon-lock2"></i>
3130
Upgrade to Enterprise
32-
</button>
31+
</button>-->
3332
</div>

frontend/src/app/incident-response/playbooks/playbooks.component.html

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,20 +102,20 @@ <h5 class="card-title mb-0 label-header">FLOWS</h5>
102102
</div>
103103
</div>
104104
</div>
105-
</div>
106105

107-
<div class="col-12 text-center py-5">
108106
<ng-container *ngIf="{ loading: playbookService.loading$ | async,
109107
totalItems: playbookService.totalItems$ | async
110108
} as data">
111109
<ng-container *ngIf="!data.loading && data.totalItems === 0">
112-
<i class="icon-play text-muted mb-3" style="font-size: 48px;"></i>
113-
<h4 class="mb-1 font-weight-semibold text-muted">Start building</h4>
114-
<p class="text-muted mb-4">Begin with a template, or start from scratch.</p>
115-
<a (click)="newPlaybook()" class="btn utm-button utm-button-primary">
116-
<i class="icon-plus2 mr-1"></i>
117-
New Flow
118-
</a>
110+
<div class="d-flex flex-column align-items-center justify-content-center">
111+
<i class="icon-play text-muted mb-3" style="font-size: 48px;"></i>
112+
<h4 class="mb-1 font-weight-semibold text-muted">Start building</h4>
113+
<p class="text-muted mb-4">Begin with a template, or start from scratch.</p>
114+
<a (click)="newPlaybook()" class="btn utm-button utm-button-primary">
115+
<i class="icon-plus2 mr-1"></i>
116+
New Flow
117+
</a>
118+
</div>
119119
</ng-container>
120120
<app-utm-spinner
121121
class="position-absolute right-50"
@@ -129,6 +129,8 @@ <h4 class="mb-1 font-weight-semibold text-muted">Start building</h4>
129129

130130

131131

132+
133+
132134
<div *ngIf="playbookService.totalItems$ | async as totalItems" class="mt-3">
133135
<div class="row justify-content-center">
134136
<ngb-pagination (pageChange)="loadPage($event)"

frontend/src/app/incident-response/shared/services/playbook.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export class PlaybookService {
2020
playbooks$ = this.request$.pipe(
2121
filter(request => !!request),
2222
switchMap(request => {
23-
this.loading.next(true);
23+
setTimeout(() => this.loading.next(true), 300);
2424
return this.incidentResponseRuleService.query(request).pipe(
2525
map(response => {
2626
this.totalItems.next(Number(response.headers.get('X-Total-Count')));
@@ -30,7 +30,7 @@ export class PlaybookService {
3030
this.utmToastService.showError('Error', 'An error occurred while fetching playbooks.');
3131
return of([]);
3232
}),
33-
finalize(() => this.loading.next(false))
33+
finalize(() => setTimeout(() => this.loading.next(false), 200))
3434
);
3535
})
3636
);

frontend/src/app/shared/components/layout/header/shared/components/utm-version-info/utm-version-info.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<ng-container *ngIf="currentVersion$ | async as currentVersion">
1+
<ng-container *ngIf="versionInfo as currentVersion">
22
<span *ngIf="currentVersion.build"
33
[ngClass]="'badge-success-800'"
44
class="badge badge-pill version-info cursor-pointer text-white">

frontend/src/app/shared/components/layout/header/shared/components/utm-version-info/utm-version-info.component.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,35 +12,38 @@ import {VersionInfo} from '../../../../../../types/updates/updates.type';
1212
styleUrls: ['./utm-version-info.component.css']
1313
})
1414
export class UtmVersionInfoComponent implements OnInit {
15-
currentVersion$: Observable<VersionInfo> = EMPTY;
16-
destroy$ = new Subject<void>();
15+
versionInfo: VersionInfo;
1716

1817
constructor(private checkForUpdatesService: CheckForUpdatesService,
1918
private utmToastService: UtmToastService,
2019
private versionTypeService: VersionTypeService) {
2120
}
2221

2322
ngOnInit() {
24-
this.getVersionInfo();
25-
}
26-
27-
getVersionInfo() {
28-
this.currentVersion$ = this.checkForUpdatesService.getVersion()
23+
this.checkForUpdatesService.getVersion()
2924
.pipe(
3025
map(response => response.body || null),
3126
tap((versionInfo: VersionInfo) => {
32-
console.log('versionInfo', versionInfo);
3327
const version = versionInfo && versionInfo.build && versionInfo.build.version || '';
34-
const versionType = version.includes('community') || version === '' ? VersionType.COMMUNITY : VersionType.ENTERPRISE;
28+
const versionType = version.includes('community') || version === ''
29+
? VersionType.COMMUNITY
30+
: VersionType.ENTERPRISE;
3531

3632
if (versionType !== this.versionTypeService.versionType()) {
3733
this.versionTypeService.changeVersionType(versionType);
3834
}
3935
}),
4036
catchError(() => {
41-
this.utmToastService.showError('Error fetching version info', 'An error occurred while fetching version info.');
37+
this.utmToastService.showError(
38+
'Error fetching version info',
39+
'An error occurred while fetching version info.'
40+
);
4241
return EMPTY;
4342
})
44-
);
43+
)
44+
.subscribe(versionInfo => {
45+
this.versionInfo = versionInfo;
46+
});
4547
}
48+
4649
}

frontend/src/app/shared/constants/alert/alert-field.constant.ts

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,36 @@ export const ALERT_FILTERS_FIELDS: UtmFieldType[] = [
488488
type: ElasticDataTypesEnum.STRING,
489489
visible: false,
490490
},
491+
{
492+
label: 'Category',
493+
field: ALERT_CATEGORY_FIELD,
494+
type: ElasticDataTypesEnum.STRING,
495+
visible: true,
496+
},
497+
{
498+
label: 'Sensor',
499+
field: ALERT_SENSOR_FIELD,
500+
type: ElasticDataTypesEnum.STRING,
501+
visible: true,
502+
},
503+
{
504+
label: 'Time',
505+
field: ALERT_TIMESTAMP_FIELD,
506+
type: ElasticDataTypesEnum.DATE,
507+
visible: false,
508+
},
509+
{
510+
label: 'Incident Name',
511+
field: ALERT_INCIDENT_NAME_FIELD,
512+
type: ElasticDataTypesEnum.STRING,
513+
visible: true,
514+
},
515+
{
516+
label: 'Tags',
517+
field: ALERT_TAGS_FIELD,
518+
type: ElasticDataTypesEnum.STRING,
519+
visible: true,
520+
},
491521
{
492522
label: 'Adversary IP',
493523
field: ALERT_ADVERSARY_IP_FIELD,
@@ -583,36 +613,6 @@ export const ALERT_FILTERS_FIELDS: UtmFieldType[] = [
583613
field: ALERT_TARGET_GEOLOCATION_LONGITUDE_FIELD,
584614
type: ElasticDataTypesEnum.STRING,
585615
visible: false,
586-
},
587-
{
588-
label: 'Category',
589-
field: ALERT_CATEGORY_FIELD,
590-
type: ElasticDataTypesEnum.STRING,
591-
visible: true,
592-
},
593-
{
594-
label: 'Sensor',
595-
field: ALERT_SENSOR_FIELD,
596-
type: ElasticDataTypesEnum.STRING,
597-
visible: true,
598-
},
599-
{
600-
label: 'Time',
601-
field: ALERT_TIMESTAMP_FIELD,
602-
type: ElasticDataTypesEnum.DATE,
603-
visible: false,
604-
},
605-
{
606-
label: 'Incident Name',
607-
field: ALERT_INCIDENT_NAME_FIELD,
608-
type: ElasticDataTypesEnum.STRING,
609-
visible: true,
610-
},
611-
{
612-
label: 'Tags',
613-
field: ALERT_TAGS_FIELD,
614-
type: ElasticDataTypesEnum.STRING,
615-
visible: true,
616616
}
617617
];
618618

frontend/src/app/shared/constants/date-timezone-date.const.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import moment from 'moment-timezone';
2+
13
export const DATE_SECTION_ID = 5;
24

35
export const DEFAULT_DATE_SETTING_TIMEZONE = 'UTC';
@@ -6,7 +8,19 @@ export const DEFAULT_DATE_SETTING_DATE = 'medium';
68
export const DATE_SETTING_TIMEZONE_SHORT = 'utmstack.time.zone';
79
export const DATE_SETTING_FORMAT_SHORT = 'utmstack.time.dateformat';
810

9-
export const TIMEZONES: Array<{ label: string; timezone: string, zone: string }> = [
11+
export const TIMEZONES: Array<{ label: string; timezone: string; zone: string }> =
12+
moment.tz.names().map((tz) => {
13+
const parts = tz.split('/');
14+
const zone = parts[0] || 'Other';
15+
const label = tz.replace(/_/g, ' ');
16+
return {
17+
label,
18+
timezone: tz,
19+
zone
20+
};
21+
});
22+
23+
/*export const TIMEZONES: Array<{ label: string; timezone: string, zone: string }> = [
1024
{label: 'UTC', timezone: 'UTC', zone: 'UTC'},
1125
{label: 'Eastern Standard Time (New York)', timezone: 'America/New_York', zone: 'America'},
1226
{label: 'Pacific Standard Time (Los Angeles)', timezone: 'America/Los_Angeles', zone: 'America'},
@@ -38,7 +52,8 @@ export const TIMEZONES: Array<{ label: string; timezone: string, zone: string }>
3852
{label: 'Jerusalem (IST)', timezone: 'Asia/Jerusalem', zone: 'Asia'},
3953
{label: 'Buenos Aires (ART)', timezone: 'America/Argentina/Buenos_Aires', zone: 'America'},
4054
{label: 'São Paulo (BRT)', timezone: 'America/Sao_Paulo', zone: 'America'},
41-
];
55+
];*/
56+
4257
export const DATE_FORMATS: Array<{ label: string; format: string; equivalentTo: string }> = [
4358
{label: 'Short', format: 'short', equivalentTo: 'M/d/yy, h:mm a'},
4459
{label: 'Medium', format: 'medium', equivalentTo: 'MMM d, y, h:mm:ss a'},

plugins/modules-config/config/config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ func (s *ConfigServer) NotifyUpdate(moduleName string, section *ConfigurationSec
128128
pluginType = PluginType_SOC_AI
129129
case "SOPHOS":
130130
pluginType = PluginType_SOPHOS
131+
case "CROWDSTRIKE":
132+
pluginType = PluginType_CROWDSTRIKE
131133
default:
132134
_ = catcher.Error("unknown module name", fmt.Errorf("module: %s", moduleName), nil)
133135
return
@@ -165,6 +167,7 @@ func (s *ConfigServer) SyncConfigs(backend string, internalKey string) {
165167
"O365": PluginType_O365,
166168
"SOC_AI": PluginType_SOC_AI,
167169
"SOPHOS": PluginType_SOPHOS,
170+
"CROWDSTRIKE": PluginType_CROWDSTRIKE,
168171
}
169172

170173
for name, t := range AllModules {

0 commit comments

Comments
 (0)