Merge pull request #278 from wazuh/3.2-dev-design

New metrics, fixed visualizations, new design
This commit is contained in:
Javier Castro 2018-02-27 17:36:06 +01:00 committed by GitHub
commit 16aa78555f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 830 additions and 245 deletions

View File

@ -26,6 +26,155 @@ function ($scope, $location, $q, $rootScope, appState, genericReq, apiReq, Agent
$rootScope.currentImplicitFilter = "";
}
// Metrics Audit
let watcher8, watcher9, watcher10, watcher11;
$scope.auditNewFiles = '';
$scope.auditReadFiles = '';
$scope.auditModifiedFiles = '';
$scope.auditRemovedFiles = '';
const assignWatcher8 = () => {
watcher8 = $scope.$watch(() => {
return $('#Wazuh-App-Agents-Audit-New-files-metric > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditNewFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher9 = () => {
watcher9 = $scope.$watch(() => {
return $('#Wazuh-App-Agents-Audit-Read-files-metric > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditReadFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher10 = () => {
watcher10 = $scope.$watch(() => {
return $('#Wazuh-App-Agents-Audit-Modified-files-metric > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditModifiedFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher11 = () => {
watcher11 = $scope.$watch(() => {
return $('#Wazuh-App-Agents-Audit-Removed-files-metric > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditRemovedFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
// Metrics Vulnerability Detector
let watcher12, watcher13, watcher14, watcher15;
$scope.vulnCritical = '';
$scope.vulnHigh = '';
$scope.vulnMedium = '';
$scope.vulnLow = '';
const assignWatcher12 = () => {
watcher12 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-Critical-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnCritical = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher13 = () => {
watcher13 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-High-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnHigh = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher14 = () => {
watcher14 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-Medium-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnMedium = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher15 = () => {
watcher15 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-Low-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnLow = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignAuditMetrics = () => {
assignWatcher8();
assignWatcher9();
assignWatcher10();
assignWatcher11();
}
const destroyAuditMetrics = () => {
watcher8();
watcher9();
watcher10();
watcher11();
watcher8 = null;
watcher9 = null;
watcher10 = null;
watcher11 = null;
}
const assignVulnMetrics = () => {
assignWatcher12();
assignWatcher13();
assignWatcher14();
assignWatcher15();
}
const destroyVulnMetrics = () => {
watcher12();
watcher13();
watcher14();
watcher15();
watcher12 = null;
watcher13 = null;
watcher14 = null;
watcher15 = null;
}
if ($scope.tab === 'audit' && $scope.tabView === 'panels' && !watcher8) {
assignAuditMetrics();
}
if ($scope.tab === 'vuls' && $scope.tabView === 'panels' && !watcher12) {
assignVulnMetrics();
}
$rootScope.tabVisualizations = {
general : 7,
fim : 8,
@ -51,11 +200,37 @@ function ($scope, $location, $q, $rootScope, appState, genericReq, apiReq, Agent
};
// Switch subtab
$scope.switchSubtab = subtab => $scope.tabView = subtab;
$scope.switchSubtab = subtab => {
$scope.tabView = subtab;
if($scope.tab === 'audit' && subtab === 'panels' && !watcher8){
assignAuditMetrics();
} else if(watcher8) {
destroyAuditMetrics();
}
if($scope.tab === 'vuls' && subtab === 'panels' && !watcher12){
assignVulnMetrics();
} else if(watcher8) {
destroyVulnMetrics();
}
}
$scope.switchTab = tab => {
if($scope.tab === tab) return;
if(tab === 'audit' && $scope.tabView === 'panels' && !watcher8){
assignAuditMetrics();
} else if(watcher8) {
destroyAuditMetrics();
}
if(tab === 'vuls' && $scope.tabView === 'panels' && !watcher12){
assignVulnMetrics();
} else if(watcher8) {
destroyVulnMetrics();
}
if($rootScope.ownHandlers){
for(let h of $rootScope.ownHandlers){
h._scope.$destroy();
@ -233,6 +408,8 @@ function ($scope, $location, $q, $rootScope, appState, genericReq, apiReq, Agent
h._scope.$destroy();
}
}
if(watcher8) destroyAuditMetrics();
if(watcher12) destroyVulnMetrics();
$rootScope.ownHandlers = [];
});

View File

@ -1,9 +1,203 @@
let app = require('ui/modules').get('app/wazuh', []);
const app = require('ui/modules').get('app/wazuh', []);
import $ from 'jquery';
//
app.controller('overviewController', function ($scope, $location, $rootScope, appState, genericReq, errorHandler) {
$rootScope.page = 'overview';
$scope.extensions = appState.getExtensions().extensions;
// Metrics General
let watcher1, watcher2, watcher3, watcher4;
$scope.totalAlerts = '';
$scope.level12 = '';
$scope.authFailure = '';
$scope.authSuccess = '';
const assignWatcher1 = () => {
watcher1 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-General-Metric-alerts > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.totalAlerts = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher2 = () => {
watcher2 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-General-Level-12-alerts > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.level12 = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher3 = () => {
watcher3 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-General-Authentication-failure > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.authFailure = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher4 = () => {
watcher4 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-General-Authentication-success > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.authSuccess = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
// Metrics FIM
let watcher5, watcher6, watcher7;
$scope.fimAdded = '';
$scope.fimModified = '';
$scope.fimDeleted = '';
const assignWatcher5 = () => {
watcher5 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-FIM-Added > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.fimAdded = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher6 = () => {
watcher6 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-FIM-Modified > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.fimModified = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher7 = () => {
watcher7 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-FIM-Deleted > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.fimDeleted = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
// Metrics Audit
let watcher8, watcher9, watcher10, watcher11;
$scope.auditNewFiles = '';
$scope.auditReadFiles = '';
$scope.auditModifiedFiles = '';
$scope.auditRemovedFiles = '';
const assignWatcher8 = () => {
watcher8 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-Audit-New-files > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditNewFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher9 = () => {
watcher9 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-Audit-Read-files > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditReadFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher10 = () => {
watcher10 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-Audit-Modified-files > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditModifiedFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher11 = () => {
watcher11 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-Audit-Removed-files > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.auditRemovedFiles = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
// Metrics Vulnerability Detector
let watcher12, watcher13, watcher14, watcher15;
$scope.vulnCritical = '';
$scope.vulnHigh = '';
$scope.vulnMedium = '';
$scope.vulnLow = '';
const assignWatcher12 = () => {
watcher12 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-Critical-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnCritical = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher13 = () => {
watcher13 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-High-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnHigh = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher14 = () => {
watcher14 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-Medium-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnMedium = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
const assignWatcher15 = () => {
watcher15 = $scope.$watch(() => {
return $('#Wazuh-App-Overview-VULS-Metric-Low-severity > visualize > visualization > div > div > div > div > div.metric-value.ng-binding > span').text();
}, (newVal, oldVal) => {
if (newVal !== oldVal) {
$scope.vulnLow = newVal;
if (!$scope.$$phase) $scope.$digest();
}
});
}
// Check the url hash and retrieve the tabView information
if ($location.search().tabView) {
$scope.tabView = $location.search().tabView;
@ -25,12 +219,12 @@ app.controller('overviewController', function ($scope, $location, $rootScope, ap
// This object represents the number of visualizations per tab; used to show a progress bar
$rootScope.tabVisualizations = {
general : 15,
fim : 17,
general : 11,
fim : 10,
pm : 5,
vuls : 8,
oscap : 14,
audit : 16,
audit : 15,
pci : 6,
aws : 10,
virustotal: 7
@ -49,15 +243,151 @@ app.controller('overviewController', function ($scope, $location, $rootScope, ap
virustotal: { group: 'virustotal' }
};
// Switch subtab
$scope.switchSubtab = subtab => $scope.tabView = subtab;
const assignOverviewMetrics = () => {
assignWatcher1();
assignWatcher2();
assignWatcher3();
assignWatcher4();
}
const destroyOverviewMetrics = () => {
watcher1();
watcher2();
watcher3();
watcher4();
watcher1 = null;
watcher2 = null;
watcher3 = null;
watcher4 = null;
}
const assignFimMetrics = () => {
assignWatcher5();
assignWatcher6();
assignWatcher7();
}
const destroyFimMetrics = () => {
watcher5();
watcher6();
watcher7();
watcher5 = null;
watcher6 = null;
watcher7 = null;
}
const assignAuditMetrics = () => {
assignWatcher8();
assignWatcher9();
assignWatcher10();
assignWatcher11();
}
const destroyAuditMetrics = () => {
watcher8();
watcher9();
watcher10();
watcher11();
watcher8 = null;
watcher9 = null;
watcher10 = null;
watcher11 = null;
}
const assignVulnMetrics = () => {
assignWatcher12();
assignWatcher13();
assignWatcher14();
assignWatcher15();
}
const destroyVulnMetrics = () => {
watcher12();
watcher13();
watcher14();
watcher15();
watcher12 = null;
watcher13 = null;
watcher14 = null;
watcher15 = null;
}
if ($scope.tab === 'general' && $scope.tabView === 'panels' && !watcher1) {
assignOverviewMetrics();
}
if ($scope.tab === 'fim' && $scope.tabView === 'panels' && !watcher5) {
assignOverviewMetrics();
}
if ($scope.tab === 'audit' && $scope.tabView === 'panels' && !watcher8) {
assignAuditMetrics();
}
if ($scope.tab === 'vuls' && $scope.tabView === 'panels' && !watcher12) {
assignVulnMetrics();
}
// Switch subtab
$scope.switchSubtab = subtab => {
$scope.tabView = subtab;
if($scope.tab === 'general' && subtab === 'panels' && !watcher1){
assignOverviewMetrics();
} else if(watcher1) {
destroyOverviewMetrics();
}
if($scope.tab === 'fim' && subtab === 'panels' && !watcher5){
assignFimMetrics();
} else if(watcher5) {
destroyFimMetrics();
}
if($scope.tab === 'audit' && subtab === 'panels' && !watcher8){
assignAuditMetrics();
} else if(watcher8) {
destroyAuditMetrics();
}
if($scope.tab === 'vuls' && subtab === 'panels' && !watcher12){
assignVulnMetrics();
} else if(watcher8) {
destroyVulnMetrics();
}
}
// Switch tab
$scope.switchTab = tab => {
if($scope.tab === tab) return;
if ($scope.tab === tab) return;
for(let h of $rootScope.ownHandlers){
h._scope.$destroy();
if(tab === 'general' && $scope.tabView === 'panels' && !watcher1){
assignOverviewMetrics();
} else if(watcher1) {
destroyOverviewMetrics();
}
if(tab === 'fim' && $scope.tabView === 'panels' && !watcher5){
assignFimMetrics();
} else if(watcher1) {
destroyFimMetrics();
}
if(tab === 'audit' && $scope.tabView === 'panels' && !watcher8){
assignAuditMetrics();
} else if(watcher8) {
destroyAuditMetrics();
}
if(tab === 'vuls' && $scope.tabView === 'panels' && !watcher12){
assignVulnMetrics();
} else if(watcher8) {
destroyVulnMetrics();
}
if ($rootScope.ownHandlers) {
for (let h of $rootScope.ownHandlers) {
h._scope.$destroy();
}
}
$rootScope.ownHandlers = [];
@ -79,12 +409,16 @@ app.controller('overviewController', function ($scope, $location, $rootScope, ap
else $rootScope.currentImplicitFilter = tabFilters[$scope.tab].group;
});
$scope.$on('$destroy',() => {
if($rootScope.ownHandlers){
for(let h of $rootScope.ownHandlers){
$scope.$on('$destroy', () => {
if ($rootScope.ownHandlers) {
for (let h of $rootScope.ownHandlers) {
h._scope.$destroy();
}
}
if(watcher1) destroyOverviewMetrics();
if(watcher5) destroyFimMetrics();
if(watcher8) destroyAuditMetrics();
if(watcher12) destroyVulnMetrics();
$rootScope.ownHandlers = [];
});
@ -93,18 +427,20 @@ app.controller('overviewController', function ($scope, $location, $rootScope, ap
genericReq
.request('GET', '/api/wazuh-api/pci/all')
.then(data => {
for(let key in data.data){
for (let key in data.data) {
tabs.push({
"title": key,
"title": key,
"content": data.data[key]
});
}
})
.catch(error => {
errorHandler.handle(error,'Overview');
if(!$rootScope.$$phase) $rootScope.$digest();
errorHandler.handle(error, 'Overview');
if (!$rootScope.$$phase) $rootScope.$digest();
});
$scope.tabs = tabs;
$scope.selectedIndex = 0;
});

View File

@ -1,4 +1,4 @@
<md-toolbar layout="row" class="wazuh-toolbar md-toolbar-tools" ng-show="(!noscroll && data.items && data.items.length > 0) || (noscroll && data)">
<md-toolbar layout="row" class="wazuh-toolbar md-toolbar-tools wz-table-border" ng-show="(!noscroll && data.items && data.items.length > 0) || (noscroll && data)">
<div ng-repeat="key in keys" flex="{{key.size || ''}}">
<span ng-if="key.sortValue" class="wz-table-header-color" ng-click="data.sort(key.sortValue)">{{key.name}}
<i class="fa cursor-pointer" ng-class="data.sortValue === key.sortValue ? (data.sortDir ? 'fa-sort-asc' : 'fa-sort-desc') : 'fa-sort'"

View File

@ -1,7 +1,7 @@
<div flex ng-if="!isruleset && !isdecoders" layout="column" class="md-padding groupsFixPadding no-padding-bottom" ng-show="(!noscroll && data.items && data.items.length > 0) || (noscroll && data)">
<div ng-if="!noscroll" flex class="clusterScrollable" when-scrolled="data.nextPage('')">
<div layout="row" ng-class-odd="'odd'" ng-class-even="'even'" ng-repeat="item in data.items | filter : searchTerm"
class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding wz-word-wrap" ng-class="!nopointer ? 'cursor-pointer' : '' "
class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding wz-word-wrap wz-table-border" ng-class="!nopointer ? 'cursor-pointer' : '' "
ng-click="clickAction(full ? item : $index)">
<div ng-repeat="key in keys" flex="{{key.size || ''}}">
<span>{{parseItem(item,key) || '---'}}</span>
@ -9,7 +9,7 @@
</div>
</div>
<div ng-if="noscroll" flex class="clusterScrollable">
<div layout="row" ng-class-odd="'odd'" ng-class-even="'even'" ng-repeat="item in data" class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding wz-word-wrap"
<div layout="row" ng-class-odd="'odd'" ng-class-even="'even'" ng-repeat="item in data" class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding wz-word-wrap wz-table-border"
ng-class="!nopointer ? 'cursor-pointer' : '' " ng-click="clickAction($index)">
<div ng-repeat="key in keys" flex="{{key.size || ''}}">
<span>{{parseItem(item,key) || '---'}}</span>
@ -21,7 +21,7 @@
<div flex ng-if="isruleset" layout="column" class="md-padding groupsFixPadding no-padding-bottom" ng-show="(!noscroll && data.items && data.items.length > 0) || (noscroll && data)">
<div ng-if="!noscroll" flex class="clusterScrollable" when-scrolled="data.nextPage('')">
<div layout="row" ng-class-odd="'odd'" ng-class-even="'even'" ng-repeat="item in data.items | filter : searchTerm"
class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding" ng-class="!nopointer && activeitem !== item.id ? 'cursor-pointer' : !nopointer && activeitem === item.id ? 'cursor-pointer wz-active' : ''"
class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding wz-table-border" ng-class="!nopointer && activeitem !== item.id ? 'cursor-pointer' : !nopointer && activeitem === item.id ? 'cursor-pointer wz-active' : ''"
ng-click="clickAction(full ? item : $index)">
<div ng-show="activeitem !== item.id" ng-repeat="key in keys" flex="{{key.size || ''}}">
<span>{{parseItem(item,key) || '---'}}</span>
@ -96,7 +96,7 @@
<div flex ng-if="isdecoders" layout="column" class="md-padding groupsFixPadding no-padding-bottom" ng-show="(!noscroll && data.items && data.items.length > 0) || (noscroll && data)">
<div ng-if="!noscroll" flex class="clusterScrollable" when-scrolled="data.nextPage('')">
<div layout="row" ng-class-odd="'odd'" ng-class-even="'even'" ng-repeat="decoder in data.items | filter : searchTerm"
class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding" ng-class="!nopointer && activeitem !== decoder.name+decoder.file+decoder.position ? 'cursor-pointer' : !nopointer && activeitem === decoder.name+decoder.file+decoder.position ? 'cursor-pointer wz-active' : ''"
class="ownNavBarGroupsPadding agents-groups-preview groups-table groupsFixPadding wz-table-border" ng-class="!nopointer && activeitem !== decoder.name+decoder.file+decoder.position ? 'cursor-pointer' : !nopointer && activeitem === decoder.name+decoder.file+decoder.position ? 'cursor-pointer wz-active' : ''"
ng-click="clickAction(full ? decoder : $index)">
<div ng-show="activeitem !== decoder.name+decoder.file+decoder.position" class="wz-word-wrap" ng-repeat="key in keys" flex="{{key.size || ''}}">
<span>{{parseItem(decoder,key) || '---'}}</span>

View File

@ -3,7 +3,7 @@
}
.agentsPreview .md-whiteframe-z1 {
box-shadow: none;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px;
}
.agents-groups-preview .md-button:not([disabled]):hover {

View File

@ -7,7 +7,7 @@
}
md-card-content .ng-binding {
color: rgb(102, 102, 102);
color: black !important;
}
/* Fix text color from visualizations tooltips */
@ -43,7 +43,7 @@ md-input-container>md-select {
}
span.md-headline {
color: #555;
color:#0079a5 !important;
font-size: 17px;
}
@ -65,22 +65,28 @@ md-input-container>md-select {
border-radius: 0px;
}
md-autocomplete-wrap,
md-input-container.md-whiteframe-z1.flex.md-input-has-value {
box-shadow: none;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px;
background-color: white;
}
input#searchBox,
md-autocomplete-wrap.md-whiteframe-z1.layout-row ,
md-input-container.md-whiteframe-z1.flex-20.md-input-has-value {
box-shadow: none;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px;
}
md-input-container.md-whiteframe-z1.flex-20.md-input-has-value {
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px;
background: white;
}
md-input-container.md-whiteframe-z1.flex-20 {
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px;
background: white;
}
@ -106,7 +112,7 @@ md-input-container ._md-placeholder {
/* Overriding the colour for the navbar */
.md-button.md-accent {
color: rgb(0,121,165);
color: black;
}
md-nav-bar md-nav-ink-bar {

View File

@ -43,3 +43,11 @@
margin-top: 20px;
width: 180px;
}
.md-button:not([disabled]).md-raised:active, .md-button:not([disabled]).md-fab:active,
.md-button.md-raised:not([disabled]) {
box-shadow: none !important;
}
.tabView button._md-nav-button.md-accent.md-button.md-ink-ripple.md-active.md-primary {
background-color:white !important;
}

View File

@ -72,7 +72,7 @@ pre {
position: relative;
height: 25px;
color: #666666;
background-color: #e4e4e4 !important;
background-color: #white !important;
}
/* Wazuh Header */
@ -130,12 +130,12 @@ navbar {
}
.headBar {
background-color: #f7f7f7;
background-color: white !important;
min-width: 463px;
}
.horizontalTabsBar {
background-color: #f7f7f7
background-color: white !important;
}
.tabView md-nav-bar md-nav-ink-bar {
@ -168,7 +168,7 @@ navbar {
/* Input filter box styles */
.input-filter-box {
box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px;
font-size: 14px;
padding: 0px 15px;
margin-top: 18px;
@ -262,7 +262,7 @@ md-progress-linear ._md-bar {
}
.background-e4 {
background-color: #e4e4e4;
background-color: white;
}
.background-e2 {

View File

@ -105,3 +105,7 @@
.width-500 {
width: 500px;
}
.height-30 {
height: 30px !important;
}

View File

@ -53,7 +53,7 @@ border-bottom
}
.kuiLocalNav {
background-color: #e4e4e4 !important;
background-color: white !important;
}
.kbn-vis-value td {
@ -122,7 +122,7 @@ border-bottom
/* Filter bar */
.filter-bar {
background-color: #e4e4e4 !important;
background-color: white !important;
}
.chart {
@ -176,7 +176,7 @@ kbn-dis .euiText {
.legacy-searchbar .typeahead {
padding: 4px 10px 0 !important;
background-color: #e4e4e4 !important;
background-color: white !important;
}

View File

@ -85,7 +85,11 @@ md-content._md.layout-row {
}
md-content {
background-color: #e4e4e4;
background-color: white !important;
}
md-card {
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px !important;
}
md-card md-card-content {
@ -100,6 +104,10 @@ a.pull-right {
visibility: hidden;
}
.wz-no-display {
display: none !important;
}
.visualize-show-spy {
display: none;
}
@ -166,3 +174,7 @@ md-select .md-select-value.md-select-placeholder {
.cursor-pointer {
cursor: pointer !important;
}
.wz-padding-top-5 {
padding-top: 5px !important;
}

View File

@ -8,7 +8,7 @@
}
.manager-background {
background-color: #e4e4e4;
background-color: white;
}
.wazuh-chip {

View File

@ -49,7 +49,7 @@ md-select-menu md-content md-option:not([disabled]):focus,
md-select-menu.md-default-theme md-content md-option:not([disabled]):hover,
md-select-menu md-content md-option:not([disabled]):hover {
background-color: rgba(255, 255, 255, 0.1);
color: #555;
color: black !important;
}
md-select-menu:not(._md-overflow) md-content {
@ -58,7 +58,7 @@ md-select-menu:not(._md-overflow) md-content {
}
.manager-groups-left-panel {
background-color: #E4E4E4;
background-color: white;
overflow: auto;
height: 400px;
box-shadow: 0 0px 0px rgba(10, 16, 20, .15), 0 0 0px rgba(10, 16, 20, .12) !important;
@ -69,6 +69,8 @@ md-select-menu:not(._md-overflow) md-content {
.horizontal-menu-right .md-whiteframe-1dp,
.horizontal-menu-right .md-whiteframe-z1 {
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px;
box-shadow: none !important;
}

View File

@ -115,6 +115,10 @@ md-list-item {
word-wrap: break-word !important;
}
.wz-table-border {
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.137255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.117647) 0px 0px 0px 0px !important;
}
.padding-right-14 {
padding-right: 14px !important;
}

View File

@ -2,7 +2,17 @@
<!-- View: Panels -->
<div ng-if="resultState === 'ready' && tabView === 'panels'">
<div layout="row" layout-align="center stretch" class="height-125">
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>New files:</b> {{auditNewFiles}}</span>
<span flex><b>Read files:</b> {{auditReadFiles}}</span>
<span flex><b>Modified files:</b> {{auditModifiedFiles}}</span>
<span flex><b>Removed files:</b> {{auditRemovedFiles}}</span>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-125 wz-no-display">
<md-card flex>
<md-card-content class="wazuh-column">
<span class="metric-headline md-headline">New files</span>
@ -39,18 +49,21 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Groups</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-Groups'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Directories</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-Directories'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-Files'"></kbn-vis>
</md-card-content>
</md-card>
@ -60,6 +73,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-Alerts-over-time'"></kbn-vis>
</md-card-content>
</md-card>
@ -70,6 +84,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">File read access</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-File-read-access'"></kbn-vis>
</md-card-content>
</md-card>
@ -77,6 +92,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">File write access</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-File-write-access'"></kbn-vis>
</md-card-content>
</md-card>
@ -86,6 +102,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Commands</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-Commands'"></kbn-vis>
</md-card-content>
</md-card>
@ -95,12 +112,14 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Created files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-Created-files'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Removed files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Audit-Removed-files'"></kbn-vis>
</md-card-content>
</md-card>
@ -111,6 +130,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Agents-Audit-Last-alerts'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -7,18 +7,21 @@
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Users</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-FIM-Users'">
</md-card-content>
</md-card>
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Groups</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-FIM-Groups'">
</md-card-content>
</md-card>
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Permissions</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-FIM-Permissions'">
</md-card-content>
</md-card>
@ -28,6 +31,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Events</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-FIM-Events'"></kbn-vis>
</md-card-content>
</md-card>
@ -37,18 +41,21 @@
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Files added</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-FIM-Files-added'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Files modified</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-FIM-Files-modified'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Files deleted</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-FIM-Files-deleted'"></kbn-vis>
</md-card-content>
</md-card>
@ -58,6 +65,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Agents-FIM-Alerts-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -1,83 +1,40 @@
<md-content flex layout="column" ng-if="tab === 'general'" layout-align="start">
<div ng-if="resultState === 'ready' && tabView === 'panels'">
<div layout="row" class="height-100">
<md-card flex>
<md-card-content class="text-center">
<div class="metric-value ng-binding font-size-14-pt">{{agent.name}}</div>
<!--<md-tooltip md-direction="bottom">{{ agent.name }}</md-tooltip>-->
<div class="ng-binding">Name</div>
</md-card-content>
</md-card>
<md-card flex="12">
<md-card-content class="text-center">
<div class="metric-value ng-binding font-size-14-pt">{{agent.ip}}</div>
<!--<md-tooltip md-direction="bottom">{{ agent.ip }}</md-tooltip>-->
<div class="ng-binding">IP Address</div>
</md-card-content>
</md-card>
<md-card ng-if="agent.version" flex="12">
<md-card-content class="text-center">
<div class="metric-value ng-binding font-size-14-pt">{{ agent.version | limitTo: 12 }}{{agent.version.length > 12 ? '...' : ''}}</div>
<!--<md-tooltip md-direction="bottom">{{ agent.version }}</md-tooltip>-->
<div class="ng-binding">Version</div>
</md-card-content>
</md-card>
<md-card ng-if="agent.group" flex="12">
<md-card-content class="text-center cursor-pointer" ng-click="goGroups(agent)">
<div class="metric-value ng-binding font-size-14-pt" >{{ agent.group }}</div>
<!--<md-tooltip md-direction="bottom">{{ agent.version }}</md-tooltip>-->
<div class="ng-binding">Group</div>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="text-center">
<div class="metric-value ng-binding legend-value-truncate font-size-14-pt">{{ agentOS }}</div>
<!--<md-tooltip md-direction="bottom">{{ agentOS }}</md-tooltip>-->
<div class="ng-binding">OS</div>
</md-card-content>
</md-card>
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>Name:</b> {{agent.name}}</span>
<span flex><b>IP:</b> {{agent.ip}}</span>
<span ng-if="agent.version" flex><b>Version:</b> {{ agent.version | limitTo: 12 }}{{agent.version.length > 12 ? '...' : ''}}</span>
<span ng-if="agent.group" flex><b>Group:</b> {{ agent.group }}</span>
<span flex><b>OS:</b> {{ agentOS }}</span>
</md-card-content>
</md-card>
</div>
<div layout="row" class="height-100">
<md-card flex ng-show="agent.id != '000'">
<md-card-content class="text-center">
<div class="metric-value ng-binding font-size-14-pt">{{agent.lastKeepAlive || 'Unknown' }}</div>
<!--<md-tooltip md-direction="bottom">{{ agent.lastKeepAlive }}</md-tooltip>-->
<div class="ng-binding">Last keep alive</div>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="text-center">
<div class="metric-value ng-binding font-size-14-pt">{{agent.dateAdd}}</div>
<!--<md-tooltip md-direction="bottom">{{ agent.dateAdd }}</md-tooltip>-->
<div class="ng-binding">Registration date</div>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="text-center">
<div class="metric-value ng-binding font-size-14-pt" ng-if="agent.syscheck.inProgress">Scan in progress</div>
<div ng-if="!agent.syscheck.inProgress" class="metric-value ng-binding font-size-14-pt">{{agent.syscheck.end || 'Unknown'}}</div>
<md-tooltip ng-if="!agent.syscheck.inProgress && agent.syscheck.start && agent.syscheck.end" md-direction="bottom">
Start time: {{ agent.syscheck.start || 'Unknown'}} <br>
End time: {{ agent.syscheck.end || 'Unknown'}} <br>
Duration time: {{ agent.syscheck.duration +' minutes' || 'Unknown'}}
</md-tooltip>
<div class="ng-binding">Last syscheck scan</div>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="text-center">
<div class="metric-value ng-binding font-size-14-pt" ng-if="agent.rootcheck.inProgress">Scan in progress</div>
<div ng-if="!agent.rootcheck.inProgress" class="metric-value ng-binding font-size-14-pt">{{agent.rootcheck.end || 'Unknown'}}</div>
<md-tooltip ng-if="!agent.rootcheck.inProgress && agent.rootcheck.start && agent.rootcheck.end" md-direction="bottom">
Start time: {{ agent.rootcheck.start || 'Unknown'}} <br>
End time: {{ agent.rootcheck.end || 'Unknown'}} <br>
Duration time: {{ agent.rootcheck.duration + ' minutes' || 'Unknown' }}
</md-tooltip>
<div class="ng-binding">Last rootcheck scan</div>
</md-card-content>
</md-card>
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>Last keep alive:</b> {{agent.lastKeepAlive || 'Unknown' }}</span>
<span flex><b>Registration date:</b> {{agent.dateAdd}}</span>
<span flex ng-if="agent.syscheck.inProgress"><b>Last syscheck scan:</b> Scan in progress</span>
<span flex ng-if="!agent.syscheck.inProgress"><b>Last syscheck scan:</b> {{agent.syscheck.end || 'Unknown'}}
<md-tooltip ng-if="!agent.syscheck.inProgress && agent.syscheck.start && agent.syscheck.end" md-direction="bottom">
Start time: {{ agent.syscheck.start || 'Unknown'}} <br>
End time: {{ agent.syscheck.end || 'Unknown'}} <br>
Duration time: {{ agent.syscheck.duration +' minutes' || 'Unknown'}}
</md-tooltip>
</span>
<span flex ng-if="agent.rootcheck.inProgress"><b>Last rootcheck scan:</b> Scan in progress</span>
<span flex ng-if="!agent.rootcheck.inProgress"><b>Last rootcheck scan:</b> {{agent.rootcheck.end || 'Unknown'}}
<md-tooltip ng-if="!agent.rootcheck.inProgress && agent.rootcheck.start && agent.rootcheck.end" md-direction="bottom">
Start time: {{ agent.rootcheck.start || 'Unknown'}} <br>
End time: {{ agent.rootcheck.end || 'Unknown'}} <br>
Duration time: {{ agent.rootcheck.duration +' minutes' || 'Unknown'}}
</md-tooltip>
</span>
</md-card-content>
</md-card>
</div>
</div>
@ -88,18 +45,21 @@
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Overview-Top-5-alerts'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 groups</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Overview-Top-5-groups'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 PCI DSS Requirements</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Overview-Top-5-PCI-DSS-Requirements'"></kbn-vis>
</md-card-content>
</md-card>
@ -109,12 +69,14 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alert level evolution</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Overview-Alert-level-evolution'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="60">
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-Overview-Alerts'"></kbn-vis>
</md-card-content>
</md-card>
@ -124,12 +86,14 @@
<md-card flex="60">
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Agents-Overview-Alerts-summary'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="40">
<md-card-content class="wazuh-column">
<span class="md-headline">Groups summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Agents-Overview-Groups-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -31,18 +31,21 @@
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Scans</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-OSCAP-Scans'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Profiles</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-OSCAP-Profiles'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Content</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-OSCAP-Content'"></kbn-vis>
</md-card-content>
</md-card>
@ -50,6 +53,7 @@
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Severity</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-OSCAP-Severity'"></kbn-vis>
</md-card-content>
</md-card>
@ -59,6 +63,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Daily scans evolution</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-OSCAP-Daily-scans-evolution'"></kbn-vis>
</md-card-content>
</md-card>
@ -68,16 +73,14 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 - Alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-OSCAP-Top-5-Alerts'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex class="wazuh-column">
<md-card-title>
<md-card-title-text>
<span class="md-headline">Top 5 - High risk alerts</span>
</md-card-title-text>
</md-card-title>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 - High risk alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-OSCAP-Top-5-High-risk-alerts'"></kbn-vis>
</md-card-content>
</md-card>
@ -96,6 +99,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Agents-OSCAP-Last-alerts'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -19,12 +19,14 @@
<md-card flex="70">
<md-card-content class="wazuh-column">
<span class="md-headline">Requirements</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-PCI-Requirements'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="30">
<md-card-content class="wazuh-column">
<span class="md-headline">Groups</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-PCI-Groups'"></kbn-vis>
</md-card-content>
</md-card>
@ -34,6 +36,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Agents-PCI-Last-alerts'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -8,18 +8,21 @@
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-PM-Alerts-over-time'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 CIS Requirements</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-PM-Top-5-CIS-Requirements'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 PCI DSS Requirements</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Agents-PM-Top-5-PCI-DSS-Requirements'"></kbn-vis>
</md-card-content>
</md-card>
@ -29,6 +32,7 @@
<md-card flex="100">
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Agents-PM-Alerts-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -24,12 +24,14 @@
<md-card flex="33">
<md-card-content class="wazuh-column">
<span class="md-headline">Last scanned files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Virustotal-Last-Files-Pie'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Malicious files alerts Evolution</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Virustotal-Malicious-Evolution'"></kbn-vis>
</md-card-content>
</md-card>
@ -38,6 +40,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Last files</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-Virustotal-Files-Table'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -2,8 +2,17 @@
<!-- View: Panels -->
<div ng-if="resultState === 'ready' && tabView === 'panels'">
<div layout="row" layout-align="center stretch" class="height-120">
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>Critical severity alerts:</b> {{vulnCritical}}</span>
<span flex><b>High severity alerts:</b> {{vulnHigh}}</span>
<span flex><b>Medium severity alerts:</b> {{vulnMedium}}</span>
<span flex><b>Low severity alerts:</b> {{vulnLow}}</span>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-120 wz-no-display">
<md-card flex>
<md-card-content class="wazuh-column">
<kbn-vis class="metric" vis-id="'Wazuh-App-Overview-VULS-Metric-Critical-severity'"></kbn-vis>
@ -30,12 +39,14 @@
<md-card flex="60">
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts severity over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-VULS-Alerts-severity-over-time'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="40">
<md-card-content class="wazuh-column">
<span class="md-headline">Affected packages - Top 5</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-VULS-Top-5-affected-packages'"></kbn-vis>
</md-card-content>
</md-card>
@ -45,6 +56,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-VULS-Alerts-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -65,7 +65,7 @@
</md-nav-bar>
</div>
<div ng-show="tab != 'configuration'" class="horizontalTabsBar tabView" layout="column" layout-align="end end">
<div ng-show="tab != 'configuration'" class="horizontalTabsBar" layout="column" layout-align="end end">
<md-nav-bar layout-align="end end" class="padding-right-0" md-selected-nav-item="tabView" nav-bar-aria-label="navigation submenu">
<md-nav-item md-nav-click="switchSubtab('panels')" name="panels">
<i class="fa fa-th agents-head-6" aria-hidden="true"></i>Panels

View File

@ -8,7 +8,8 @@
<div ng-show="!loading" layout="row" layout-align="center start">
<md-card flex class="manager-ruleset-decoders-top-24">
<md-card-content class="wazuh-column">
<span class="md-headline-small">Top 24h - Decoder name</span>
<span class="md-headline">Top 24h - Decoder name</span>
<md-divider></md-divider>
<kbn-vis specific-time-range="true" vis-id="'Wazuh-App-Manager-Ruleset-Decoders-Top-24h-Decoder-name'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -9,24 +9,28 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 24h - Rule ID</span>
<md-divider></md-divider>
<kbn-vis specific-time-range="true" vis-id="'Wazuh-App-Manager-Ruleset-Rules-Top-24h-Rule-ID'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 24h - Groups</span>
<md-divider></md-divider>
<kbn-vis specific-time-range="true" vis-id="'Wazuh-App-Manager-Ruleset-Rules-Top-24h-Groups'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 24h - PCI DSS requirements</span>
<md-divider></md-divider>
<kbn-vis specific-time-range="true" vis-id="'Wazuh-App-Manager-Ruleset-Rules-Top-24h-PCI-DSS-requirements'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 24h - Level</span>
<md-divider></md-divider>
<kbn-vis specific-time-range="true" vis-id="'Wazuh-App-Manager-Ruleset-Rules-Top-24h-Level'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -2,8 +2,17 @@
<!-- View: Panels -->
<div ng-if="resultState === 'ready' && tabView === 'panels'">
<div layout="row" layout-align="center stretch" class="height-125">
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>New files:</b> {{auditNewFiles}}</span>
<span flex><b>Read files:</b> {{auditReadFiles}}</span>
<span flex><b>Modified files:</b> {{auditModifiedFiles}}</span>
<span flex><b>Removed files:</b> {{auditRemovedFiles}}</span>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-125 wz-no-display">
<md-card flex="10">
<md-card-content class="wazuh-column">
<span class="metric-headline md-headline">New files</span>
@ -28,36 +37,34 @@
<kbn-vis class="metric" vis-id="'Wazuh-App-Overview-Audit-Removed-files'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="auto">
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Latest alert</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-Audit-Latest-alert'"></kbn-vis>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-200">
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Groups</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Groups'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Agents</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Agents'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Directories</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Directories'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Files'"></kbn-vis>
</md-card-content>
</md-card>
@ -67,6 +74,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Alerts-over-time'"></kbn-vis>
</md-card-content>
</md-card>
@ -77,12 +85,14 @@
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">File read access</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-File-read-access'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">File write access</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-File-write-access'"></kbn-vis>
</md-card-content>
</md-card>
@ -92,6 +102,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Commands</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Commands'"></kbn-vis>
</md-card-content>
</md-card>
@ -101,12 +112,14 @@
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">Created files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Files-created'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">Removed files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Audit-Files-deleted'"></kbn-vis>
</md-card-content>
</md-card>
@ -117,6 +130,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-Audit-Last-alerts'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -8,6 +8,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Instances</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-AWS-Instances'"></kbn-vis>
</md-card-content>
</md-card>
@ -44,6 +45,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Security groups over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-AWS-Security-groups-over-time'"></kbn-vis>
</md-card-content>
</md-card>
@ -54,6 +56,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Events over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-AWS-Events-over-time'"></kbn-vis>
</md-card-content>
</md-card>
@ -63,12 +66,14 @@
<md-card flex="65">
<md-card-content class="wazuh-column">
<span class="md-headline">Event sources over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-AWS-Event-sources-over-time'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="35">
<md-card-content class="wazuh-column">
<span class="md-headline">Success login - Top 5 countries</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-AWS-Success-login-Top-5-countries'"></kbn-vis>
</md-card-content>
</md-card>
@ -78,6 +83,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-AWS-Alerts-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -3,8 +3,18 @@
<!-- View: Panels -->
<div ng-if="resultState === 'ready' && tabView === 'panels'">
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>Files added:</b> {{fimAdded}}</span>
<span flex><b>Files modified:</b> {{fimModified}}</span>
<span flex><b>Files deleted:</b> {{fimDeleted}}</span>
</md-card-content>
</md-card>
</div>
<div layout="row" class="height-400">
<div flex="15" layout="column">
<div flex="15" layout="column" class="wz-no-display">
<md-card flex>
<md-card-content class="wazuh-column">
<kbn-vis class="metric" vis-id="'Wazuh-App-Overview-FIM-Added'" ></kbn-vis>
@ -26,52 +36,35 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Events over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-FIM-Events-over-time'"></kbn-vis>
</md-card-content>
</md-card>
</div>
<div flex="20" layout="column">
<div flex="30" layout="column">
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top user owners</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-FIM-Top-user-owners'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top group owners</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-FIM-Top-group-owners'"></kbn-vis>
</md-card-content>
</md-card>
</div>
</div>
<div layout="row" class="height-120">
<md-card flex>
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Last file modified</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-FIM-Last-file-modified'"></kbn-vis>
</md-card-content>
</md-card >
<md-card flex>
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Last file added</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-FIM-Last-file-added'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Last file deleted</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-FIM-Last-file-deleted'"></kbn-vis>
</md-card-content>
</md-card>
</div>
<div layout="row" class="height-213">
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top file changes</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-FIM-Top-file-changes'"></kbn-vis>
</md-card-content>
</md-card>
@ -79,6 +72,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Root user file changes</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-FIM-Root-user-file-changes'"></kbn-vis>
</md-card-content>
</md-card>
@ -86,42 +80,17 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">World writable modified files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-FIM-World-writable-modified-files'"></kbn-vis>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="start stretch" class="height-120">
<md-card flex="20">
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Top agent</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-FIM-Top-agent'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="20">
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Top PCI Requirement</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-FIM-Top-PCI-requirement'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="20">
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Most common permissions</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-FIM-Most-common-permissions'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="40">
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Most modified file</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-FIM-Most-modified-file'"></kbn-vis>
</md-card-content>
</md-card>
</div>
<div layout="row" class="height-570">
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Events summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-FIM-Events-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -2,8 +2,18 @@
<!-- View: Panels -->
<div ng-if="resultState === 'ready' && tabView === 'panels'">
<div layout="row" layout-align="center stretch" class="height-120">
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>Alerts:</b> {{totalAlerts}}</span>
<span flex><b>Level 12 or above alerts:</b> {{level12}}</span>
<span flex><b>Authentication failure:</b> {{authFailure}}</span>
<span flex><b>Authentication success:</b> {{authSuccess}}</span>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-120 wz-no-display">
<md-card flex>
<md-card-content class="wazuh-column">
<kbn-vis class="metric" vis-id="'Wazuh-App-Overview-General-Metric-alerts'"></kbn-vis>
@ -29,13 +39,15 @@
<div layout="row" layout-align="start stretch" class="height-230">
<md-card flex="40">
<md-card-content class="wazuh-column">
<span class="md-headline">Alert level evolution</span>
<span class="md-headline wz-vis-title">Alert level evolution</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-General-Alert-level-evolution'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="60">
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts</span>
<span class="md-headline wz-vis-title">Alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-General-Alerts'"></kbn-vis>
</md-card-content>
</md-card>
@ -44,61 +56,39 @@
<div layout="row" layout-align="space-between stretch" class="height-270">
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 agents</span>
<span class="md-headline wz-vis-title">Top 5 agents</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-General-Top-5-agents'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts evolution - Top 5 agents</span>
<span class="md-headline wz-vis-title">Alerts evolution - Top 5 agents</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-General-Alerts-evolution-Top-5-agents'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="35">
<md-card-content class="wazuh-column">
<span class="md-headline">Agents status</span>
<span class="md-headline wz-vis-title">Agents status</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-General-Agents-status'"></kbn-vis>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-120">
<md-card flex>
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Top source user</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-General-Top-source-user'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Top source IP</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-General-Top-source-IP'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Top group</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-General-Top-group'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex>
<md-card-content class="wazuh-column text-center">
<div class="ng-binding">Top PCI DSS requirement</div>
<kbn-vis class="kbn-vis-value" vis-id="'Wazuh-App-Overview-General-Top-PCI-DSS-requirement'"></kbn-vis>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-570">
<md-card flex="60">
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-General-Alerts-summary'"></kbn-vis>
<span class="md-headline wz-vis-title">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-General-Alerts-summary'" id="Wazuh-App-Overview-General-Alerts-summary"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="40">
<md-card-content class="wazuh-column">
<span class="md-headline">Groups summary</span>
<span class="md-headline wz-vis-title">Groups summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-General-Groups-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -28,24 +28,28 @@
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Agents</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-OSCAP-Agents'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Profiles</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-OSCAP-Profiles'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Content</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-OSCAP-Content'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Severity</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-OSCAP-Severity'"></kbn-vis>
</md-card-content>
</md-card>
@ -55,6 +59,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 Agents - Severity high</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-OSCAP-Top-5-agents-Severity-high'"></kbn-vis>
</md-card-content>
</md-card>
@ -64,6 +69,7 @@
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 10 - Alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-OSCAP-Top-10-alerts'"></kbn-vis>
</md-card-content>
</md-card>
@ -71,6 +77,7 @@
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 10 - High risk alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-OSCAP-Top-10-high-risk-alerts'"></kbn-vis>
</md-card-content>
</md-card>
@ -101,6 +108,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-OSCAP-Last-alerts'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -20,6 +20,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Last alerts</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PCI-DSS-Requirements-heatmap'"></kbn-vis>
</md-card-content>
</md-card>
@ -29,12 +30,14 @@
<md-card flex="70">
<md-card-content class="wazuh-column">
<span class="md-headline">Requirements</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PCI-DSS-requirements'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="30">
<md-card-content class="wazuh-column">
<span class="md-headline">Groups</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PCI-DSS-Groups'"></kbn-vis>
</md-card-content>
</md-card>
@ -44,12 +47,14 @@
<md-card flex="30">
<md-card-content class="wazuh-column">
<span class="md-headline">Agents</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PCI-DSS-Agents'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="70">
<md-card-content class="wazuh-column">
<span class="md-headline">Requirements by agent</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PCI-DSS-Requirements-by-agent'"></kbn-vis>
</md-card-content>
</md-card>
@ -59,6 +64,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-PCI-DSS-Last-alerts'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -7,6 +7,7 @@
<md-card flex="50">
<md-card-content class="wazuh-column">
<span class="md-headline">Events over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PM-Events-over-time'"></kbn-vis>
</md-card-content>
</md-card>
@ -14,6 +15,7 @@
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 CIS Requirements</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PM-Top-5-CIS-requirements'"></kbn-vis>
</md-card-content>
</md-card>
@ -21,6 +23,7 @@
<md-card flex="25">
<md-card-content class="wazuh-column">
<span class="md-headline">Top 5 PCI DSS Requirements</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PM-Top-5-PCI-DSS-requirements'"></kbn-vis>
</md-card-content>
</md-card>
@ -30,6 +33,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Events per agent evolution</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-PM-Events-per-agent-evolution'"></kbn-vis>
</md-card-content>
</md-card>
@ -39,6 +43,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-PM-Alerts-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -34,6 +34,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Unique malicious files per agent</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Virustotal-Malicious-Per-Agent'"></kbn-vis>
</md-card-content>
</md-card>
@ -44,6 +45,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Last scanned files</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Virustotal-Last-Files-Pie'"></kbn-vis>
</md-card-content>
</md-card>
@ -56,6 +58,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Top 10 agents with positive scans</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Virustotal-Positives-Heatmap'"></kbn-vis>
</md-card-content>
</md-card>
@ -64,6 +67,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Malicious files alerts evolution</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-Virustotal-Malicious-Evolution'"></kbn-vis>
</md-card-content>
</md-card>
@ -72,6 +76,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Last files</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-Virustotal-Files-Table'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -2,8 +2,18 @@
<!-- View: Panels -->
<div ng-if="resultState === 'ready' && tabView === 'panels'">
<div layout="row" layout-align="center stretch" class="height-120">
<div layout="row">
<md-card flex class="height-30">
<md-card-content layout="row" class="wz-padding-top-5">
<span flex><b>Critical severity alerts:</b> {{vulnCritical}}</span>
<span flex><b>High severity alerts:</b> {{vulnHigh}}</span>
<span flex><b>Medium severity alerts:</b> {{vulnMedium}}</span>
<span flex><b>Low severity alerts:</b> {{vulnLow}}</span>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-align="center stretch" class="height-120 wz-no-display">
<md-card flex>
<md-card-content class="wazuh-column">
<kbn-vis class="metric" vis-id="'Wazuh-App-Overview-VULS-Metric-Critical-severity'"></kbn-vis>
@ -30,6 +40,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts severity over time</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-VULS-Alerts-severity-over-time'"></kbn-vis>
</md-card-content>
</md-card>
@ -39,12 +50,14 @@
<md-card flex="60">
<md-card-content class="wazuh-column">
<span class="md-headline">Top Agents severity</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-VULS-Top-Agents-severity'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="40">
<md-card-content class="wazuh-column">
<span class="md-headline">Affected packages - Top 5</span>
<md-divider></md-divider>
<kbn-vis vis-id="'Wazuh-App-Overview-VULS-Top-5-affected-packages'"></kbn-vis>
</md-card-content>
</md-card>
@ -54,6 +67,7 @@
<md-card flex>
<md-card-content class="wazuh-column">
<span class="md-headline">Alerts summary</span>
<md-divider></md-divider>
<kbn-vis class="kbn-chart" vis-id="'Wazuh-App-Overview-VULS-Alerts-summary'"></kbn-vis>
</md-card-content>
</md-card>

View File

@ -19,7 +19,7 @@
</md-nav-bar>
</div>
<div class="horizontalTabsBar tabView" layout="column" layout-align="end end">
<div class="horizontalTabsBar" layout="column" layout-align="end end">
<md-nav-bar layout-align="end end" class="padding-right-0" md-selected-nav-item="tabView" nav-bar-aria-label="navigation submenu">
<md-nav-item md-nav-click="switchSubtab('panels')" name="panels">
<i class="fa fa-th overview-head-1" aria-hidden="true"></i>Panels

View File

@ -1022,16 +1022,14 @@
{
"_id": "Wazuh-App-Overview-Audit-Last-alerts",
"_source": {
"title": "Wazuh App Overview Audit Last alerts",
"visState":
"{\"title\":\"Wazuh App Overview Audit Last alerts\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"agent.name\",\"size\":999999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Agent\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"rule.description\",\"size\":999999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Event\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.exe\",\"size\":999999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Command\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.type\",\"size\":999999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Type\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.euid\",\"size\":999999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Effective user ID\"}}]}",
"uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
"description": "",
"version": 1,
"kibanaSavedObjectMeta": {
"searchSourceJSON":
"{\"index\":\"wazuh-alerts\",\"filter\":[],\"query\":{\"query\":\"rule.groups: audit\",\"language\":\"lucene\"}}"
}
"title": "Wazuh App Overview Audit Last alerts",
"visState": "{\"title\":\"Wazuh App Overview Audit Last alerts\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"agent.name\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Agent\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"rule.description\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":1000,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Event\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.exe\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Command\"}}]}",
"uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
"description": "",
"version": 1,
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"index\":\"wazuh-alerts\",\"filter\":[],\"query\":{\"query\":\"rule.groups: audit\",\"language\":\"lucene\"}}"
}
},
"_type": "visualization"
},
@ -1940,16 +1938,14 @@
{
"_id": "Wazuh-App-Agents-Audit-Last-alerts",
"_source": {
"title": "Wazuh App Agents Audit Last alerts",
"visState":
"{\"title\":\"Wazuh App Agents Audit Last alerts\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"agent.name\",\"size\":999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Agent name\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"rule.description\",\"size\":999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Event\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.exe\",\"size\":999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Command\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.type\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Type\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.euid\",\"size\":999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Effective user ID\"}}]}",
"uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
"description": "",
"version": 1,
"kibanaSavedObjectMeta": {
"searchSourceJSON":
"{\"index\":\"wazuh-alerts\",\"filter\":[],\"query\":{\"query\":\"rule.groups: audit\",\"language\":\"lucene\"}}"
}
"title": "Wazuh App Agents Audit Last alerts",
"visState": "{\"title\":\"Wazuh App Agents Audit Last alerts\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"agent.name\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":999999,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Agent name\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"rule.description\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":1000,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Event\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"data.audit.exe\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Command\"}}]}",
"uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
"description": "",
"version": 1,
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"index\":\"wazuh-alerts\",\"filter\":[],\"query\":{\"query\":\"rule.groups: audit\",\"language\":\"lucene\"}}"
}
},
"_type": "visualization"
},