wazuh / wazuh-dashboard-plugins

Plugins for Wazuh Dashboard
https://wazuh.com/
GNU General Public License v2.0
424 stars 176 forks source link

Update the new sidebar menu design #5893

Closed Desvelao closed 10 months ago

Desvelao commented 11 months ago

Description

A new sidebar menu design was defined in a recent meeting.

We got a new sidebar menu defined in a recent meeting. There are some changes that we should apply to the previous design.

Requirements update

Category Name ID Section in monolith plugin Changes
Home Overview wz-home Modules directory This is the home (the home icon)
Endpoint security Security Configuration Assessment security-configuration-assessment Modules > Security Configuration Assessment RENAME Configuration assessment
Endpoint security Policy monitoring policy-monitoring Modules > Policy monitoring RENAME to Malware detection (this is rootcheck now)
Endpoint security Integrity monitoring integrity-monitoring Modules > Integrity monitoring RENAME to File integrity monitoring
Endpoint security System auditing system-auditing Modules > System auditing DELETE
Endpoint security OpenSCAP openscap Modules > OpenSCAP DELETE
Endpoint security CIS-CAT ciscat Modules > CIS-CAT DELETE
Threat intelligence Security events security-events Modules > Security events RENAME Threat hunting
Threat intelligence Vulnerabilities vulnerabilities Modules > Vulnerabilities RENAME to Vulnerability detection
Threat intelligence MITRE ATT&CK mitre-attack Modules > MITRE ATT&CK
Threat intelligence Virustotal virustotal Modules > Virustotal
Security operations PCI DSS pci-dss Modules > PCI DSS
Security operations GDPR gdpr Modules > GDPR
Security operations HIPAA hipaa Modules > HIPAA
Security operations NIST 800-53 nist-800-53 Modules > NIST 800-53
Security operations TSC tsc Modules > TSC
Security operations IT Hygiene it-hygiene Agents > {agent_id} -> Inventory
Security operations Osquery osquery Modules > Osquery DELETE
Cloud security AWS amazon-web-services Modules > AWS
Cloud security Google Cloud google-cloud Modules > Google Cloud
Cloud security GitHub github Modules > GitHub
Cloud security Office365 office365 Modules > Office365
Cloud security Docker listener docker-listener Modules > Docker listener RENAME to Docker
Explore Discover - - Renamed from "Openseach dashboards"
Explore Dashboards - -
Explore Visualize - -
Explore Reporting - - Comes from "Opensearch plugins"
Explore Alerting - -
Explore Maps - -
Explore Notifications - -
Server management Endpoints summary endpoints-summary Agents This comes from Endpoint security
Server management Groups groups Management > Groups RENAME to Endpoint groups
Server management Rules rules Management > Rules
Server management Decoders decoders Management > Decoders
Server management CDB lists cdb-lists Management > CDB lists
Server management Status server-status Management > Status
Server management Cluster cluster Management > Cluster
Server management Statistics statistics Management > Statistics
Server management Logs logs Management > Logs
Server management Settings settings Management > Configuration
Server management API console api-console Tools > API console RENAME Dev tools
Server management Ruleset test ruleset-test Tools > Ruleset test
Server management RBAC rbac Security RENAME to Security
Indexer/dashboard Management Reporting reporting Management > Reporting Comes from "server management" REMOVE and use Explore reporting highjacking the download capability of the standard plugin
Indexer/dashboard Management Server API server-api Settings > API configuration
Indexer/dashboard Management Modules modules Settings > Modules DELETE
Indexer/dashboard Management Server data server-data Settings > Sample data
Indexer/dashboard Management Configuration configuration Settings > Configuration RENAME to Wazuh plugin settings
Indexer/dashboard Management Logs app-logs Settings > Logs RENAME to Wazuh plugin logs
Indexer/dashboard Management About about Settings > About RENAME to Wazuh plugin about
Indexer/dashboard Management Dev tools - - Comes from management
Indexer/dashboard Management Stack management - - Comes from management
Indexer/dashboard Management Security - - -> Comes from Opensearch plugins, nice to move it to indexer./dashaboard management
Indexer/dashboard Management Index management - -
Indexer/dashboard Management Snapshot management - -

Tasks

Desvelao commented 11 months ago

Considerations

Desvelao commented 11 months ago

The changes that are not related to the Wazuh applications must be changed by editing the source code of Wazuh dashboard package.

I saw that OpenSearch Dashboards 2.9.0 includes some applications that are not specified in the desired design for Wazuh dashboard. We should decide what to do.

image image

In 2.9.0, the Security is under the Management category.

For another hand, in OpenSearch Dashboards 2.9.0 the Stack management application was renamed to Dashboards management. If we change the name of the category this belongs to, from Management to Indexer/dashboard management this could be redundant.

EDIT:

We will use OpenSearch Dashboards 2.10.0 (that is unreleased at the moment), so we will need the required changes there.

I got some changes that are working in OpenSearch Dashboards 2.9.0 that could be useful for OpenSearch Dashboards 2.10.0

Changes in OpenSearch Dashboards 2.9.0 ```sh ## Define categories category_explore='{id:"explore",label:"Explore",order:5e3,euiIconType:"managementApp"}' category_dashboard_management='{id:"management",label:"Dashboard Management",order:5e3,euiIconType:"managementApp"}' ## Add custom categories (explore) to the built-in sed -i -e "s|DEFAULT_APP_CATEGORIES=Object.freeze({|DEFAULT_APP_CATEGORIES=Object.freeze({explore:${category_explore},|" src/core/target/public/core.entry.js ## Replace management built-in app category sed -i -e "s|management:{id:\"management\",label:external_osdSharedDeps_OsdI18n_\[\"i18n\"\].translate(\"core.ui.managementNavList.label\",{defaultMessage:\"Management\"}),order:5e3,euiIconType:\"managementApp\"}|management:${category_dashboard_management}|" src/core/target/public/core.entry.js # ## Replace app category to Discover app sed -i -e 's|category:core_public_\["DEFAULT_APP_CATEGORIES"\].opensearchDashboards|category:core_public_["DEFAULT_APP_CATEGORIES"].explore|' src/plugins/discover/target/public/discover.plugin.js # ## Replace app category to Dashboard app sed -i -e 's|category:core_public_\["DEFAULT_APP_CATEGORIES"\].opensearchDashboards|category:core_public_["DEFAULT_APP_CATEGORIES"].explore|' src/plugins/dashboard/target/public/dashboard.plugin.js # ## Replace app category to Visualize app sed -i -e 's|category:core_public_\["DEFAULT_APP_CATEGORIES"\].opensearchDashboards|category:core_public_["DEFAULT_APP_CATEGORIES"].explore|' src/plugins/visualize/target/public/visualize.plugin.js # ## Replace app category to Reporting app sed -i -e "s|category:{id:\"opensearch\",label:_i18n.i18n.translate(\"opensearch.reports.categoryName\",{defaultMessage:\"OpenSearch Plugins\"}),order:2e3}|category:${category_explore}|" plugins/reportsDashboards/target/public/reportsDashboards.plugin.js # ## Replace app category to Alerting app sed -i -e "s|category:{id:\"opensearch\",label:\"OpenSearch Plugins\",order:2e3}|category:${category_explore}|" plugins/alertingDashboards/target/public/alertingDashboards.plugin.js # ## Replace app category to Maps app sed -i -e "s|category:{id:\"opensearch\",label:\"OpenSearch Plugins\",order:2e3}|category:${category_explore}|" plugins/customImportMapDashboards/target/public/customImportMapDashboards.plugin.js # ## Replace app category to Notifications app sed -i -e "s|category:DEFAULT_APP_CATEGORIES.management|category:${category_explore}|" plugins/notificationsDashboards/target/public/notificationsDashboards.plugin.js # ## Replace app category to Index Management app sed -i -e "s|category:{id:\"opensearch\",label:\"OpenSearch Plugins\",order:2e3}|category:${category_explore}|g" plugins/indexManagementDashboards/target/public/indexManagementDashboards.plugin.js ```
Desvelao commented 11 months ago

OpenSearch Dashboards 2.10.0 was released recently.

These are the applications that are visible in the side menu: image image

Desvelao commented 11 months ago

I am working on the required changes to the built-in applications according to the current design. In the following days, there will be a meeting to discuss the desired applications for the Wazuh dashboard.

We will need to know the order within the categories.

Desvelao commented 11 months ago

I created a pull request to change the category of built-in applications on the Wazuh dashboard https://github.com/wazuh/wazuh-packages/pull/2496.

JuanGarriuz commented 11 months ago

I created a patch to remove wazuh_modules searching for a more reusable app. Patch to remove WAZUH_MODULES I have conducted a search throughout the code in order to create a constant that can be used throughout the entire Wazuh code to generate reusable code and facilitate editing, whether it's adding or removing access to apps in a simple and straightforward manner. To achieve this, all references to WAZUH_MODULES have been removed and replaced with Applications, whether in the back-end or front-end. We have also added a new attribute to Applications called currentApp to link it with the key of WAZUH_MODULES.

Desvelao commented 10 months ago

To replace the order of the applications could be needed to modiify the order property when register the applications.

I was reviewing the order of the built-in applications:

Application order suggested string to replace in package code
Discover 1e3 order:1e3
Dashboard 2500 order:2500
Visualize 8e3 order:8e3
Reporting 2e3 order:2e3,mount
Alerting 4e3 order:4e3,mount
Maps 5100 order:5100
Notifications 9060 order:9060,mount
Dev tools 9070 order:9070
Dashboard management 9030 order:9030
Security 9050 order:9050
Index management 9010 order:9010
Index management 9020 order:9020

To match the expected menu, it could only be required to modify some of them.

Desvelao commented 10 months ago

I was working to sync the applications built-in into the platform and the Wazuh dashboards plugin.

Related pull requests: