From 4fc0938bea037f456ff0439ed876d8502395ad68 Mon Sep 17 00:00:00 2001 From: "chantal.kelm" Date: Fri, 18 Oct 2024 10:49:42 -0300 Subject: [PATCH 1/6] create agents management menu and move sections --- plugins/main/public/utils/applications.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/main/public/utils/applications.ts b/plugins/main/public/utils/applications.ts index 76ecbc060c..c703f651d5 100644 --- a/plugins/main/public/utils/applications.ts +++ b/plugins/main/public/utils/applications.ts @@ -83,10 +83,10 @@ export const fileIntegrityMonitoring = { }; export const endpointSummary = { - category: 'wz-category-server-management', + category: 'wz-category-agents-management', id: 'endpoints-summary', title: i18n.translate('wz-app-endpoints-summary-title', { - defaultMessage: 'Endpoints Summary', + defaultMessage: 'Summary', }), breadcrumbLabel: i18n.translate('wz-app-endpoints-summary-breadcrumbLabel', { defaultMessage: 'Endpoints', @@ -542,7 +542,7 @@ export const cdbLists = { }; export const endpointGroups = { - category: 'wz-category-server-management', + category: 'wz-category-agents-management', id: 'endpoint-groups', title: i18n.translate('wz-app-endpoint-groups-title', { defaultMessage: 'Endpoint Groups', @@ -905,6 +905,14 @@ export const Categories = [ order: 600, euiIconType: 'indexRollupApp', }, + { + id: 'wz-category-agents-management', + label: i18n.translate('wz-app-category-agents-management', { + defaultMessage: 'Agents management', + }), + order: 700, + euiIconType: 'indexRollupApp', + }, { id: 'wz-category-dashboard-management', label: i18n.translate('wz-app-category-dashboard-management', { From d61c4fa867bc920095c791dd948380f91b33936c Mon Sep 17 00:00:00 2001 From: "chantal.kelm" Date: Fri, 18 Oct 2024 11:02:36 -0300 Subject: [PATCH 2/6] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3867436451..ad0f2ac6c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,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) ### Changed From 1e106ace081d9821ad1b350dfb1a9214c1bd2412 Mon Sep 17 00:00:00 2001 From: "chantal.kelm" Date: Fri, 18 Oct 2024 12:45:17 -0300 Subject: [PATCH 3/6] move sections to a different location --- plugins/main/public/utils/applications.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/main/public/utils/applications.ts b/plugins/main/public/utils/applications.ts index c703f651d5..c37c3d0615 100644 --- a/plugins/main/public/utils/applications.ts +++ b/plugins/main/public/utils/applications.ts @@ -898,17 +898,17 @@ export const Categories = [ euiIconType: 'watchesApp', }, { - id: 'wz-category-server-management', - label: i18n.translate('wz-app-category-server-management', { - defaultMessage: 'Server management', + id: 'wz-category-agents-management', + label: i18n.translate('wz-app-category-agents-management', { + defaultMessage: 'Agents management', }), order: 600, euiIconType: 'indexRollupApp', }, { - id: 'wz-category-agents-management', - label: i18n.translate('wz-app-category-agents-management', { - defaultMessage: 'Agents management', + id: 'wz-category-server-management', + label: i18n.translate('wz-app-category-server-management', { + defaultMessage: 'Server management', }), order: 700, euiIconType: 'indexRollupApp', From a023e18f9240199ce5386f88f30e8534a930e1e3 Mon Sep 17 00:00:00 2001 From: "chantal.kelm" Date: Tue, 22 Oct 2024 09:26:04 -0300 Subject: [PATCH 4/6] Changes in the categories --- plugins/main/public/utils/applications.ts | 27 ++++++++++++----------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/plugins/main/public/utils/applications.ts b/plugins/main/public/utils/applications.ts index c37c3d0615..65315fe4c1 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 */ @@ -497,7 +498,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 +517,7 @@ export const decoders = { defaultMessage: 'Manage your cluster decoders.', }), euiIconType: 'indexRollupApp', - order: 603, + order: 701, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=decoders', @@ -535,7 +536,7 @@ export const cdbLists = { defaultMessage: 'Manage your cluster CDB list.', }), euiIconType: 'indexRollupApp', - order: 604, + order: 702, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=lists', @@ -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,7 +631,7 @@ export const logs = { defaultMessage: 'Logs from your cluster.', }), euiIconType: 'indexRollupApp', - order: 608, + order: 706, showInOverviewApp: false, showInAgentMenu: false, redirectTo: () => '/manager/?tab=logs', @@ -668,7 +669,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 +688,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 +707,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,7 +727,7 @@ 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', From 4c7b3060debaeacbd35a9d64a76e3ea11b73183c Mon Sep 17 00:00:00 2001 From: "chantal.kelm" Date: Tue, 22 Oct 2024 10:25:05 -0300 Subject: [PATCH 5/6] changes in the categories --- plugins/main/public/utils/applications.ts | 288 +++++++++++----------- 1 file changed, 144 insertions(+), 144 deletions(-) diff --git a/plugins/main/public/utils/applications.ts b/plugins/main/public/utils/applications.ts index 65315fe4c1..d53ab9e825 100644 --- a/plugins/main/public/utils/applications.ts +++ b/plugins/main/public/utils/applications.ts @@ -55,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-agents-management', - id: 'endpoints-summary', - title: i18n.translate('wz-app-endpoints-summary-title', { - defaultMessage: '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', @@ -127,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}` : '' @@ -258,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}` : '' @@ -358,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', @@ -375,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: () => @@ -400,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: () => @@ -425,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: () => @@ -449,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: () => @@ -460,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 = { @@ -542,25 +561,6 @@ export const cdbLists = { redirectTo: () => '/manager/?tab=lists', }; -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 serverStatus = { category: 'wz-category-server-management', id: 'server-status', @@ -637,25 +637,6 @@ export const logs = { 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', @@ -733,25 +714,6 @@ export const security = { 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', @@ -771,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', From b7949425e9f4ba2655e3bfc868a3f587d655d565 Mon Sep 17 00:00:00 2001 From: "chantal.kelm" Date: Tue, 22 Oct 2024 13:13:17 -0300 Subject: [PATCH 6/6] changes in the categories --- plugins/main/public/utils/applications.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/main/public/utils/applications.ts b/plugins/main/public/utils/applications.ts index d53ab9e825..9b07810efd 100644 --- a/plugins/main/public/utils/applications.ts +++ b/plugins/main/public/utils/applications.ts @@ -919,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', }, ];