diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bd848e047..774ae6eaf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ All notable changes to the Wazuh app project will be documented in this file. - Support for Wazuh 4.10.0 - Added sample data for YARA [#6964](https://github.com/wazuh/wazuh-dashboard-plugins/issues/6964) - Added a custom filter and visualization for vulnerability.under_evaluation field [#6968](https://github.com/wazuh/wazuh-dashboard-plugins/issues/6968) [#7044](https://github.com/wazuh/wazuh-dashboard-plugins/pull/7044) [#7046](https://github.com/wazuh/wazuh-dashboard-plugins/issues/7046) +- Added an "Agents management" menu and moved the sections: "Endpoint Groups" and "Endpoint Summary" which changed its name to "Summary".[#7112](https://github.com/wazuh/wazuh-dashboard-plugins/pull/7112) - Added ability to filter from File Integrity Monitoring registry inventory [#7119](https://github.com/wazuh/wazuh-dashboard-plugins/pull/7119) - Added new field columns and ability to select the visible fields in the File Integrity Monitoring Files and Registry tables [#7119](https://github.com/wazuh/wazuh-dashboard-plugins/pull/7119) diff --git a/plugins/main/public/utils/applications.ts b/plugins/main/public/utils/applications.ts index 76ecbc060c..9b07810efd 100644 --- a/plugins/main/public/utils/applications.ts +++ b/plugins/main/public/utils/applications.ts @@ -24,8 +24,9 @@ Endpoint security: 200 Threat intelligence: 300 Security operations: 400 Cloud security: 500 -Server management: 600 -Dashboard management: 700 +Agents management: 600 +Server management: 700 +Dashboard management Indexer management (added to Wazuh dashboard default categories): 9000 */ @@ -54,53 +55,34 @@ export const overview = { }`, }; -export const fileIntegrityMonitoring = { +export const configurationAssessment = { category: 'wz-category-endpoint-security', - id: 'file-integrity-monitoring', - title: i18n.translate('wz-app-file-integrity-monitoring-title', { - defaultMessage: 'File Integrity Monitoring', + id: 'configuration-assessment', + title: i18n.translate('wz-app-configuration-assessment-title', { + defaultMessage: 'Configuration Assessment', }), breadcrumbLabel: i18n.translate( - 'wz-app-file-integrity-monitoring-breadcrumbLabel', + 'wz-app-configuration-assessment-breadcrumbLabel', { - defaultMessage: 'File Integrity Monitoring', + defaultMessage: 'Configuration Assessment', }, ), - description: i18n.translate('wz-app-file-integrity-monitoring-description', { + description: i18n.translate('wz-app-configuration-assessment-description', { defaultMessage: - 'Alerts related to file changes, including permissions, content, ownership, and attributes.', + 'Scan your assets as part of a configuration assessment audit.', }), - euiIconType: 'sqlApp', + order: 200, + euiIconType: 'managementApp', showInOverviewApp: true, showInAgentMenu: true, - order: 202, redirectTo: () => - `/overview/?tab=fim&tabView=dashboard${ + `/overview/?tab=sca&tabView=dashboard${ store.getState()?.appStateReducers?.currentAgentData?.id ? `&agentId=${store.getState()?.appStateReducers?.currentAgentData?.id}` : '' }`, }; -export const endpointSummary = { - category: 'wz-category-server-management', - id: 'endpoints-summary', - title: i18n.translate('wz-app-endpoints-summary-title', { - defaultMessage: 'Endpoints Summary', - }), - breadcrumbLabel: i18n.translate('wz-app-endpoints-summary-breadcrumbLabel', { - defaultMessage: 'Endpoints', - }), - description: i18n.translate('wz-app-endpoints-summary-description', { - defaultMessage: 'Summary of agents and their status.', - }), - euiIconType: 'spacesApp', - order: 600, - showInOverviewApp: false, - showInAgentMenu: false, - redirectTo: () => '/agents-preview/', -}; - export const malwareDetection = { category: 'wz-category-endpoint-security', id: 'malware-detection', @@ -126,28 +108,28 @@ export const malwareDetection = { }`, }; -export const configurationAssessment = { +export const fileIntegrityMonitoring = { category: 'wz-category-endpoint-security', - id: 'configuration-assessment', - title: i18n.translate('wz-app-configuration-assessment-title', { - defaultMessage: 'Configuration Assessment', + id: 'file-integrity-monitoring', + title: i18n.translate('wz-app-file-integrity-monitoring-title', { + defaultMessage: 'File Integrity Monitoring', }), breadcrumbLabel: i18n.translate( - 'wz-app-configuration-assessment-breadcrumbLabel', + 'wz-app-file-integrity-monitoring-breadcrumbLabel', { - defaultMessage: 'Configuration Assessment', + defaultMessage: 'File Integrity Monitoring', }, ), - description: i18n.translate('wz-app-configuration-assessment-description', { + description: i18n.translate('wz-app-file-integrity-monitoring-description', { defaultMessage: - 'Scan your assets as part of a configuration assessment audit.', + 'Alerts related to file changes, including permissions, content, ownership, and attributes.', }), - order: 200, - euiIconType: 'managementApp', + euiIconType: 'sqlApp', showInOverviewApp: true, showInAgentMenu: true, + order: 202, redirectTo: () => - `/overview/?tab=sca&tabView=dashboard${ + `/overview/?tab=fim&tabView=dashboard${ store.getState()?.appStateReducers?.currentAgentData?.id ? `&agentId=${store.getState()?.appStateReducers?.currentAgentData?.id}` : '' @@ -257,50 +239,50 @@ const pciDss = { }`, }; -const hipaa = { +const gdpr = { category: 'wz-category-security-operations', - id: 'hipaa', - title: i18n.translate('wz-app-hipaa-title', { - defaultMessage: 'HIPAA', + id: 'gdpr', + title: i18n.translate('wz-app-gdpr-title', { + defaultMessage: 'GDPR', }), - breadcrumbLabel: i18n.translate('wz-app-hipaa-breadcrumbLabel', { - defaultMessage: 'HIPAA', + breadcrumbLabel: i18n.translate('wz-app-gdpr-breadcrumbLabel', { + defaultMessage: 'GDPR', }), - description: i18n.translate('wz-app-hipaa-description', { + description: i18n.translate('wz-app-gdpr-description', { defaultMessage: - 'Health Insurance Portability and Accountability Act of 1996 (HIPAA) provides data privacy and security provisions for safeguarding medical information.', + 'General Data Protection Regulation (GDPR) sets guidelines for processing of personal data.', }), - euiIconType: 'monitoringApp', - order: 402, + euiIconType: 'visBarVertical', + order: 401, showInOverviewApp: true, showInAgentMenu: true, redirectTo: () => - `/overview/?tab=hipaa&tabView=dashboard${ + `/overview/?tab=gdpr&tabView=dashboard${ store.getState()?.appStateReducers?.currentAgentData?.id ? `&agentId=${store.getState()?.appStateReducers?.currentAgentData?.id}` : '' }`, }; -const gdpr = { +const hipaa = { category: 'wz-category-security-operations', - id: 'gdpr', - title: i18n.translate('wz-app-gdpr-title', { - defaultMessage: 'GDPR', + id: 'hipaa', + title: i18n.translate('wz-app-hipaa-title', { + defaultMessage: 'HIPAA', }), - breadcrumbLabel: i18n.translate('wz-app-gdpr-breadcrumbLabel', { - defaultMessage: 'GDPR', + breadcrumbLabel: i18n.translate('wz-app-hipaa-breadcrumbLabel', { + defaultMessage: 'HIPAA', }), - description: i18n.translate('wz-app-gdpr-description', { + description: i18n.translate('wz-app-hipaa-description', { defaultMessage: - 'General Data Protection Regulation (GDPR) sets guidelines for processing of personal data.', + 'Health Insurance Portability and Accountability Act of 1996 (HIPAA) provides data privacy and security provisions for safeguarding medical information.', }), - euiIconType: 'visBarVertical', - order: 401, + euiIconType: 'monitoringApp', + order: 402, showInOverviewApp: true, showInAgentMenu: true, redirectTo: () => - `/overview/?tab=gdpr&tabView=dashboard${ + `/overview/?tab=hipaa&tabView=dashboard${ store.getState()?.appStateReducers?.currentAgentData?.id ? `&agentId=${store.getState()?.appStateReducers?.currentAgentData?.id}` : '' @@ -357,6 +339,31 @@ const tsc = { }`, }; +export const docker = { + category: 'wz-category-cloud-security', + id: 'docker', + title: i18n.translate('wz-app-docker-title', { + defaultMessage: 'Docker', + }), + breadcrumbLabel: i18n.translate('wz-app-docker-breadcrumbLabel', { + defaultMessage: 'Docker', + }), + description: i18n.translate('wz-app-docker-description', { + defaultMessage: + 'Monitor and collect the activity from Docker containers such as creation, running, starting, stopping or pausing events.', + }), + euiIconType: LogoDocker, + order: 500, + showInOverviewApp: true, + showInAgentMenu: true, + redirectTo: () => + `/overview/?tab=docker&tabView=dashboard${ + store.getState()?.appStateReducers?.currentAgentData?.id + ? `&agentId=${store.getState()?.appStateReducers?.currentAgentData?.id}` + : '' + }`, +}; + export const amazonWebServices = { category: 'wz-category-cloud-security', id: 'amazon-web-services', @@ -374,7 +381,7 @@ export const amazonWebServices = { 'Security events related to your Amazon AWS services, collected directly via AWS API.', }), euiIconType: 'logoAWSMono', - order: 500, + order: 501, showInOverviewApp: true, showInAgentMenu: true, redirectTo: () => @@ -399,7 +406,7 @@ export const googleCloud = { 'Security events related to your Google Cloud Platform services, collected directly via GCP API.', }), euiIconType: LogoGoogleCloud, - order: 501, + order: 502, showInOverviewApp: true, showInAgentMenu: true, redirectTo: () => @@ -424,7 +431,7 @@ export const github = { 'Monitoring events from audit logs of your GitHub organizations.', }), euiIconType: LogoGitHub, - order: 502, + order: 503, showInOverviewApp: true, showInAgentMenu: true, redirectTo: () => @@ -448,7 +455,7 @@ export const office365 = { defaultMessage: 'Security events related to your Office 365 services.', }), euiIconType: LogoOffice365, - order: 503, + order: 504, showInOverviewApp: true, showInAgentMenu: true, redirectTo: () => @@ -459,29 +466,42 @@ export const office365 = { }`, }; -export const docker = { - category: 'wz-category-cloud-security', - id: 'docker', - title: i18n.translate('wz-app-docker-title', { - defaultMessage: 'Docker', +export const endpointSummary = { + category: 'wz-category-agents-management', + id: 'endpoints-summary', + title: i18n.translate('wz-app-endpoints-summary-title', { + defaultMessage: 'Summary', }), - breadcrumbLabel: i18n.translate('wz-app-docker-breadcrumbLabel', { - defaultMessage: 'Docker', + breadcrumbLabel: i18n.translate('wz-app-endpoints-summary-breadcrumbLabel', { + defaultMessage: 'Endpoints', }), - description: i18n.translate('wz-app-docker-description', { - defaultMessage: - 'Monitor and collect the activity from Docker containers such as creation, running, starting, stopping or pausing events.', + description: i18n.translate('wz-app-endpoints-summary-description', { + defaultMessage: 'Summary of agents and their status.', }), - euiIconType: LogoDocker, - order: 404, - showInOverviewApp: true, - showInAgentMenu: true, - redirectTo: () => - `/overview/?tab=docker&tabView=dashboard${ - store.getState()?.appStateReducers?.currentAgentData?.id - ? `&agentId=${store.getState()?.appStateReducers?.currentAgentData?.id}` - : '' - }`, + euiIconType: 'spacesApp', + order: 600, + showInOverviewApp: false, + showInAgentMenu: false, + redirectTo: () => '/agents-preview/', +}; + +export const endpointGroups = { + category: 'wz-category-agents-management', + id: 'endpoint-groups', + title: i18n.translate('wz-app-endpoint-groups-title', { + defaultMessage: 'Endpoint Groups', + }), + breadcrumbLabel: i18n.translate('wz-app-endpoint-groups-breadcrumbLabel', { + defaultMessage: 'Endpoint Groups', + }), + description: i18n.translate('wz-app-endpoint-groups-description', { + defaultMessage: 'Manage your agent groups.', + }), + euiIconType: 'usersRolesApp', + order: 601, + showInOverviewApp: false, + showInAgentMenu: false, + redirectTo: () => '/manager/?tab=groups', }; export const rules = { @@ -497,7 +517,7 @@ export const rules = { defaultMessage: 'Manage your cluster rules.', }), euiIconType: 'indexRollupApp', - order: 602, + order: 700, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=ruleset', @@ -516,7 +536,7 @@ export const decoders = { defaultMessage: 'Manage your cluster decoders.', }), euiIconType: 'indexRollupApp', - order: 603, + order: 701, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=decoders', @@ -535,31 +555,12 @@ export const cdbLists = { defaultMessage: 'Manage your cluster CDB list.', }), euiIconType: 'indexRollupApp', - order: 604, + order: 702, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=lists', }; -export const endpointGroups = { - category: 'wz-category-server-management', - id: 'endpoint-groups', - title: i18n.translate('wz-app-endpoint-groups-title', { - defaultMessage: 'Endpoint Groups', - }), - breadcrumbLabel: i18n.translate('wz-app-endpoint-groups-breadcrumbLabel', { - defaultMessage: 'Endpoint Groups', - }), - description: i18n.translate('wz-app-endpoint-groups-description', { - defaultMessage: 'Manage your agent groups.', - }), - euiIconType: 'usersRolesApp', - order: 601, - showInOverviewApp: false, - showInAgentMenu: false, - redirectTo: () => '/manager/?tab=groups', -}; - export const serverStatus = { category: 'wz-category-server-management', id: 'server-status', @@ -573,7 +574,7 @@ export const serverStatus = { defaultMessage: 'Manage your cluster status.', }), euiIconType: 'indexRollupApp', - order: 605, + order: 703, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=status', @@ -592,7 +593,7 @@ export const cluster = { defaultMessage: 'Manage your cluster.', }), euiIconType: 'indexRollupApp', - order: 606, + order: 704, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=monitoring', @@ -611,7 +612,7 @@ export const statistics = { defaultMessage: 'Information about the enviroment.', }), euiIconType: 'indexRollupApp', - order: 607, + order: 705, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=statistics', @@ -630,31 +631,12 @@ export const logs = { defaultMessage: 'Logs from your cluster.', }), euiIconType: 'indexRollupApp', - order: 608, + order: 706, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=logs', }; -export const reporting = { - category: 'wz-category-dashboard-management', - id: 'reporting', - title: i18n.translate('wz-app-reporting-title', { - defaultMessage: 'Reporting', - }), - breadcrumbLabel: i18n.translate('wz-app-reporting-breadcrumbLabel', { - defaultMessage: 'Reporting', - }), - description: i18n.translate('wz-app-reporting-description', { - defaultMessage: 'Check your stored reports.', - }), - euiIconType: 'indexRollupApp', - order: 10002, - showInOverviewApp: false, - showInAgentMenu: false, - redirectTo: () => '/manager/?tab=reporting', -}; - export const settings = { category: 'wz-category-server-management', id: 'dashboards-settings', @@ -668,7 +650,7 @@ export const settings = { defaultMessage: 'Manage your cluster configuration.', }), euiIconType: 'indexRollupApp', - order: 609, + order: 707, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=configuration', @@ -687,7 +669,7 @@ export const devTools = { defaultMessage: 'Test the API endpoints.', }), euiIconType: 'devToolsApp', - order: 610, + order: 708, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/wazuh-dev?tab=devTools', @@ -706,7 +688,7 @@ export const rulesetTest = { defaultMessage: 'Check your ruleset testing logs.', }), euiIconType: 'visualizeApp', - order: 611, + order: 709, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/wazuh-dev?tab=logtest', @@ -726,31 +708,12 @@ export const security = { 'Manage permissions to system resources based on the roles and policies.', }), euiIconType: 'securityAnalyticsApp', - order: 612, + order: 710, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/security?tab=users', }; -export const serverApis = { - category: 'wz-category-dashboard-management', - id: 'server-apis', - title: i18n.translate('wz-app-server-apis-title', { - defaultMessage: 'Server APIs', - }), - breadcrumbLabel: i18n.translate('wz-app-server-apis-breadcrumbLabel', { - defaultMessage: 'Server APIs', - }), - description: i18n.translate('wz-app-server-apis-description', { - defaultMessage: 'Manage and configure the API entries.', - }), - euiIconType: 'indexRollupApp', - order: 10003, - showInOverviewApp: false, - showInAgentMenu: false, - redirectTo: () => '/settings?tab=api', -}; - export const sampleData = { category: 'management', id: 'sample-data', @@ -770,6 +733,44 @@ export const sampleData = { redirectTo: () => '/settings?tab=sample_data', }; +export const reporting = { + category: 'wz-category-dashboard-management', + id: 'reporting', + title: i18n.translate('wz-app-reporting-title', { + defaultMessage: 'Reporting', + }), + breadcrumbLabel: i18n.translate('wz-app-reporting-breadcrumbLabel', { + defaultMessage: 'Reporting', + }), + description: i18n.translate('wz-app-reporting-description', { + defaultMessage: 'Check your stored reports.', + }), + euiIconType: 'indexRollupApp', + order: 10002, + showInOverviewApp: false, + showInAgentMenu: false, + redirectTo: () => '/manager/?tab=reporting', +}; + +export const serverApis = { + category: 'wz-category-dashboard-management', + id: 'server-apis', + title: i18n.translate('wz-app-server-apis-title', { + defaultMessage: 'Server APIs', + }), + breadcrumbLabel: i18n.translate('wz-app-server-apis-breadcrumbLabel', { + defaultMessage: 'Server APIs', + }), + description: i18n.translate('wz-app-server-apis-description', { + defaultMessage: 'Manage and configure the API entries.', + }), + euiIconType: 'indexRollupApp', + order: 10003, + showInOverviewApp: false, + showInAgentMenu: false, + redirectTo: () => '/settings?tab=api', +}; + export const appSettings = { category: 'wz-category-dashboard-management', id: 'app-settings', @@ -897,12 +898,20 @@ export const Categories = [ order: 500, euiIconType: 'watchesApp', }, + { + id: 'wz-category-agents-management', + label: i18n.translate('wz-app-category-agents-management', { + defaultMessage: 'Agents management', + }), + order: 600, + euiIconType: 'indexRollupApp', + }, { id: 'wz-category-server-management', label: i18n.translate('wz-app-category-server-management', { defaultMessage: 'Server management', }), - order: 600, + order: 700, euiIconType: 'indexRollupApp', }, { @@ -910,13 +919,13 @@ export const Categories = [ label: i18n.translate('wz-app-category-dashboard-management', { defaultMessage: 'Dashboard management', }), - order: 6e3, + order: 5e3, euiIconType: 'dashboardApp', }, { id: 'management', label: 'Indexer management', - order: 5e3, + order: 6e3, euiIconType: 'managementApp', }, ];