Merge branch '3.9-6.6' into issue-1162

This commit is contained in:
Jesús Ángel 2019-02-13 15:02:44 +01:00
commit 42d9f6a122
62 changed files with 1145 additions and 1270 deletions

View File

@ -241,7 +241,23 @@ export class CdbListsController {
);
this.viewingDetail = false;
this.currentList = false;
this.addingList = false;
this.$scope.$emit('removeCurrentList');
if (!this.$scope.$$phase) this.$scope.$digest();
}
addNewList() {
this.addingList = true;
this.currentList = {
name: '',
path: 'etc/lists/',
list: [],
new: true
};
this.viewingDetail = true;
if (!this.$scope.$$phase) this.$scope.$digest();
this.$scope.$broadcast('changeCdbList', {
currentList: this.currentList
});
}
}

View File

@ -35,6 +35,7 @@ export class ConfigurationController {
this.$scope.configurationSubTab = '';
this.$scope.integrations = {};
this.$scope.selectedItem = 0;
this.$scope.showHelp = false;
}
/**
@ -98,6 +99,7 @@ export class ConfigurationController {
* Navigate to configuration
*/
this.$scope.switchConfigurationTab = (configurationTab, navigate) => {
this.$scope.editionTab = '';
this.$scope.navigate = navigate;
this.configurationHandler.switchConfigurationTab(
configurationTab,

View File

@ -43,6 +43,7 @@ export class DecodersController {
this.wzTableFilter = wzTableFilter;
this.wazuhConfig = wazuhConfig;
this.rulesetHandler = rulesetHandler;
this.showingLocalDecoders = false;
}
/**
@ -213,34 +214,34 @@ export class DecodersController {
}
async editDecodersConfig() {
this.$scope.editingFile = true;
this.editingFile = true;
try {
this.$scope.fetchedXML = await this.rulesetHandler.getDecoderConfiguration(
this.fetchedXML = await this.rulesetHandler.getDecoderConfiguration(
this.currentDecoder.file
);
this.$location.search('editingFile', true);
this.appState.setNavigation({ status: true });
if (!this.$scope.$$phase) this.$scope.$digest();
this.$scope.$broadcast('fetchedFile', { data: this.$scope.fetchedXML });
this.$scope.$broadcast('fetchedFile', { data: this.fetchedXML });
} catch (error) {
this.$scope.fetchedXML = null;
this.fetchedXML = null;
this.errorHandler.handle(error, 'Fetch file error');
}
}
closeEditingFile() {
this.$scope.editingFile = false;
this.editingFile = false;
this.appState.setNavigation({ status: true });
this.$scope.$broadcast('closeEditXmlFile', {});
}
xmlIsValid(valid) {
this.$scope.xmlHasErrors = valid;
this.xmlHasErrors = valid;
if (!this.$scope.$$phase) this.$scope.$digest();
}
doSaveDecoderConfig() {
this.$scope.editingFile = false;
this.editingFile = false;
this.$scope.$broadcast('saveXmlFile', { decoder: this.currentDecoder });
}
@ -270,4 +271,72 @@ export class DecodersController {
this.$scope.$emit('removeCurrentDecoder');
if (!this.$scope.$$phase) this.$scope.$digest();
}
addNewFile(type) {
this.editingFile = true;
this.newFile = true;
this.newFileName = '';
this.selectedFileName = this.selectedRulesetTab;
this.selectedItem = { file: 'new file' };
this.fetchedXML = '<!-- Modify it at your will. -->';
this.type = type;
if (!this.$scope.$$phase) this.$scope.$digest();
this.$location.search('editingFile', true);
this.appState.setNavigation({ status: true });
this.$scope.$emit('fetchedFile', { data: this.fetchedXML });
}
doSaveConfig(isNewFile, fileName) {
const clusterInfo = this.appState.getClusterInfo();
const showRestartManager =
clusterInfo.status === 'enabled' ? 'cluster' : 'manager';
if (isNewFile && !fileName) {
this.errorHandler.handle(
'You need to specify a file name',
'Error creating a new file.'
);
return false;
} else {
if (isNewFile) {
const validFileName = /(.+).xml/;
const containsNumber = /.*[0-9].*/;
if (fileName && !validFileName.test(fileName)) {
fileName = fileName + '.xml';
}
if (containsNumber.test(fileName)) {
this.errorHandler.handle(
'The filename can not contain numbers',
'Error creating a new file.'
);
return false;
}
this.selectedItem = { file: fileName };
if (this.type === 'rules') {
this.$scope.$broadcast('saveXmlFile', {
rule: this.selectedItem,
showRestartManager
});
} else if (this.type === 'decoders') {
this.$scope.$broadcast('saveXmlFile', {
decoder: this.selectedItem,
showRestartManager
});
}
} else {
const objParam =
this.selectedRulesetTab === 'rules'
? {
rule: this.selectedItem,
showRestartManager
}
: {
decoder: this.selectedItem,
showRestartManager
};
this.$scope.$broadcast('saveXmlFile', objParam);
}
//$scope.editingFile = false;
//$scope.fetchedXML = null;
}
}
}

View File

@ -162,8 +162,6 @@ export class EditionController {
this.$scope.editConf();
};
this.$scope.closeEditingFile = () => {};
//listeners
this.$scope.$on('wazuhShowNode', (event, parameters) => {
return this.$scope.edit(parameters.node);

View File

@ -87,11 +87,11 @@ export class ManagementController {
this.$scope.$on('removeCurrentConfiguration', () => {
this.currentConfiguration = false;
});
this.$scope.$on('setRestarting', () => {
this.$rootScope.$on('setRestarting', () => {
this.isRestarting = true;
this.$scope.$applyAsync();
});
this.$scope.$on('removeRestarting', () => {
this.$rootScope.$on('removeRestarting', () => {
this.isRestarting = false;
this.$scope.$applyAsync();
});

View File

@ -25,6 +25,10 @@ export function RulesController(
wazuhConfig,
rulesetHandler
) {
$scope.showingLocalRules = false;
$scope.switchLocalRules = () =>
($scope.showingLocalRules = !$scope.showingLocalRules);
$scope.isObject = item => typeof item === 'object';
$scope.appliedFilters = [];
@ -239,16 +243,19 @@ export function RulesController(
errorHandler.handle(error, 'Fetch file error');
}
};
$scope.closeEditingFile = () => {
$scope.editingFile = false;
appState.setNavigation({ status: true });
$scope.$broadcast('closeEditXmlFile', {});
if (!$scope.$$phase) $scope.$digest();
};
$scope.xmlIsValid = valid => {
$scope.xmlHasErrors = valid;
if (!$scope.$$phase) $scope.$digest();
};
$scope.doSaveRuleConfig = () => {
$scope.$broadcast('saveXmlFile', { rule: $scope.currentRule });
};
@ -292,4 +299,72 @@ export function RulesController(
)
);
}
$scope.addNewFile = type => {
$scope.editingFile = true;
$scope.newFile = true;
$scope.newFileName = '';
$scope.selectedFileName = $scope.selectedRulesetTab;
$scope.selectedItem = { file: 'new file' };
$scope.fetchedXML = '<!-- Modify it at your will. -->';
$scope.type = type;
if (!$scope.$$phase) $scope.$digest();
$location.search('editingFile', true);
appState.setNavigation({ status: true });
$scope.$emit('fetchedFile', { data: $scope.fetchedXML });
};
$scope.doSaveConfig = (isNewFile, fileName) => {
const clusterInfo = appState.getClusterInfo();
const showRestartManager =
clusterInfo.status === 'enabled' ? 'cluster' : 'manager';
if (isNewFile && !fileName) {
errorHandler.handle(
'You need to specify a file name',
'Error creating a new file.'
);
return false;
} else {
if (isNewFile) {
const validFileName = /(.+).xml/;
const containsNumber = /.*[0-9].*/;
if (fileName && !validFileName.test(fileName)) {
fileName = fileName + '.xml';
}
if (containsNumber.test(fileName)) {
this.errorHandler.handle(
'The filename can not contain numbers',
'Error creating a new file.'
);
return false;
}
$scope.selectedItem = { file: fileName };
if ($scope.type === 'rules') {
$scope.$broadcast('saveXmlFile', {
rule: $scope.selectedItem,
showRestartManager
});
} else if ($scope.type === 'decoders') {
$scope.$broadcast('saveXmlFile', {
decoder: $scope.selectedItem,
showRestartManager
});
}
} else {
const objParam =
$scope.selectedRulesetTab === 'rules'
? {
rule: $scope.selectedItem,
showRestartManager
}
: {
decoder: $scope.selectedItem,
showRestartManager
};
$scope.$broadcast('saveXmlFile', objParam);
}
//$scope.editingFile = false;
//$scope.fetchedXML = null;
}
};
}

View File

@ -1,7 +1,7 @@
<div layout="column" layout-align="start">
<div layout="row" class="wz-margin-top-8 md-padding-h">
<button ng-disabled='items.length === 0 || (currentList.new && !currentList.newName)' ng-click='saveList()'
class='btn btn-primary pull-right'>
class='btn wz-button pull-right'>
<span><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save list</span>
</button>
<input ng-show="currentList.new && !currentList.name" placeholder="Enter list file name" ng-model="currentList.newName"

View File

@ -25,6 +25,7 @@ app.directive('wzListManage', function() {
},
controller(
$scope,
$rootScope,
errorHandler,
$filter,
$mdDialog,
@ -183,33 +184,35 @@ app.directive('wzListManage', function() {
const confirm = $mdDialog.confirm({
controller: function(
$scope,
myScope,
myError,
scope,
errorHandler,
rootScope,
$mdDialog,
configHandler
) {
$scope.myScope = myScope;
$scope.closeDialog = () => {
$mdDialog.hide();
$('body').removeClass('md-dialog-body');
};
$scope.confirmDialog = () => {
rootScope.$emit('setRestarting', {});
scope.$applyAsync();
$mdDialog.hide();
$scope.myScope.$emit('setRestarting', {});
if (target === 'manager') {
configHandler
.restartManager()
.then(data => {
$('body').removeClass('md-dialog-body');
myError.info(
errorHandler.info(
'It may take a few seconds...',
data.data.data
);
$scope.myScope.$applyAsync();
rootScope.$emit('removeRestarting', {});
scope.$applyAsync();
})
.catch(error => {
$scope.myScope.$emit('setRestarting', {});
myError.handle(
rootScope.$emit('removeRestarting', {});
errorHandler.handle(
error.message || error,
'Error restarting manager'
);
@ -219,21 +222,21 @@ app.directive('wzListManage', function() {
.restartCluster()
.then(data => {
$('body').removeClass('md-dialog-body');
myError.info(
errorHandler.info(
'It may take a few seconds...',
data.data.data
);
$scope.myScope.$applyAsync();
rootScope.$emit('removeRestarting', {});
scope.$applyAsync();
})
.catch(error => {
$scope.myScope.$emit('setRestarting', {});
myError.handle(
rootScope.$emit('removeRestarting', {});
errorHandler.handle(
error.message || error,
'Error restarting cluster'
);
});
}
$scope.myScope.$emit('removeRestarting', {});
};
},
template:
@ -256,8 +259,9 @@ app.directive('wzListManage', function() {
clickOutsideToClose: true,
disableParentScroll: true,
locals: {
myScope: $scope,
myError: errorHandler
scope: $scope,
errorHandler: errorHandler,
rootScope: $rootScope
}
});
$('body').addClass('md-dialog-body');

View File

@ -24,21 +24,21 @@
</div>
</div>
<div class='wzMultipleSelectorButtons'>
<button ng-disabled='availableItems.length === 0 || availableItems.length > 500' type='button' class='btn btn-primary' tooltip='Add all items'
tooltip-placement='top' ng-click='moveAll(availableItems, selectedItems, "a");
<button ng-disabled='availableItems.length === 0 || availableItems.length > 500' type='button' class='btn wz-button'
tooltip='Add all items' tooltip-placement='top' ng-click='moveAll(availableItems, selectedItems, "a");
availableItem=null;availableFilter="" ;doReload("left", availableFilter, true)'>
<span><i class='fa fa-forward'></i></span>
</button>
<button ng-disabled='!availableItem || availableItem.length > 500' type='button' class='btn btn-primary' tooltip='Add selected items'
tooltip-placement='top' ng-click='moveItem(availableItem, availableItems, selectedItems, "a");availableItem=null;availableFilter=""'>
<button ng-disabled='!availableItem || availableItem.length > 500' type='button' class='btn wz-button'
tooltip='Add selected items' tooltip-placement='top' ng-click='moveItem(availableItem, availableItems, selectedItems, "a");availableItem=null;availableFilter=""'>
<span><i class='fa fa-arrow-right'></i></span>
</button>
<button ng-disabled='!selectedElement || selectedElement.length > 500' type='button' class='btn btn-primary' tooltip='Remove selected items'
tooltip-placement='top' ng-click='moveItem(selectedElement, selectedItems, availableItems, "r");selectedFilter="";selectedElement=null'>
<button ng-disabled='!selectedElement || selectedElement.length > 500' type='button' class='btn wz-button'
tooltip='Remove selected items' tooltip-placement='top' ng-click='moveItem(selectedElement, selectedItems, availableItems, "r");selectedFilter="";selectedElement=null'>
<span><i class='fa fa-arrow-left'></i></span>
</button>
<button ng-disabled='selectedItems.length === 0 || selectedItems.length > 500' type='button' class='btn btn-primary' tooltip='Remove all items'
tooltip-placement='top' ng-click='moveAll(selectedItems, availableItems, "r");selectedElement=null;selectedFilter="";doReload("right")'>
<button ng-disabled='selectedItems.length === 0 || selectedItems.length > 500' type='button' class='btn wz-button'
tooltip='Remove all items' tooltip-placement='top' ng-click='moveAll(selectedItems, availableItems, "r");selectedElement=null;selectedFilter="";doReload("right")'>
<span><i class='fa fa-backward'></i></span>
</button>
</div>

View File

@ -36,6 +36,11 @@ export function parseValue(key, item, instancePath) {
) {
return '-';
}
if ((item || {})[key] === '(null)') {
return '-';
}
const isComposedString = typeof key === 'string' && key.includes('.');
const isComposedObject =
typeof key === 'object' && key.value && key.value.includes('.');

View File

@ -28,6 +28,7 @@ app.directive('wzXmlFileEditor', function() {
},
controller(
$scope,
$rootScope,
$document,
$location,
$mdDialog,
@ -258,19 +259,20 @@ app.directive('wzXmlFileEditor', function() {
const confirm = $mdDialog.confirm({
controller: function(
$scope,
myScope,
myError,
scope,
errorHandler,
rootScope,
$mdDialog,
configHandler,
apiReq
) {
$scope.myScope = myScope;
$scope.closeDialog = () => {
$mdDialog.hide();
$('body').removeClass('md-dialog-body');
};
$scope.confirmDialog = async () => {
$scope.myScope.$emit('setRestarting', {});
rootScope.$emit('setRestarting', {});
scope.$applyAsync();
$mdDialog.hide();
const clusterStatus = await apiReq.request(
'GET',
@ -289,43 +291,45 @@ app.directive('wzXmlFileEditor', function() {
try {
const data = await configHandler.restartManager();
$('body').removeClass('md-dialog-body');
myError.info('It may take a few seconds...', data.data.data);
$scope.myScope.$applyAsync();
errorHandler.info('It may take a few seconds...', data.data.data);
rootScope.$emit('removeRestarting', {});
scope.$applyAsync();
} catch (error) {
myError.handle(
errorHandler.handle(
error.message || error,
'Error restarting manager'
);
$scope.myScope.$emit('removeRestarting', {});
rootScope.$emit('removeRestarting', {});
}
} else if (target === 'cluster') {
try {
const data = await configHandler.restartCluster();
$('body').removeClass('md-dialog-body');
myError.info('It may take a few seconds...', data.data.data);
$scope.myScope.$applyAsync();
errorHandler.info('It may take a few seconds...', data.data.data);
rootScope.$emit('removeRestarting', {});
scope.$applyAsync();
} catch (error) {
myError.handle(
errorHandler.handle(
error.message || error,
'Error restarting cluster'
);
$scope.myScope.$emit('removeRestarting', {});
rootScope.$emit('removeRestarting', {});
}
} else {
try {
const data = await configHandler.restartNode(target);
$('body').removeClass('md-dialog-body');
myError.info('It may take a few seconds...', data.data.data);
$scope.myScope.$applyAsync();
errorHandler.info('It may take a few seconds...', data.data.data);
rootScope.$emit('removeRestarting', {});
scope.$applyAsync();
} catch (error) {
myError.handle(
errorHandler.handle(
error.message || error,
'Error restarting node'
);
$scope.myScope.$emit('removeRestarting', {});
rootScope.$emit('removeRestarting', {});
}
}
$scope.myScope.$emit('removeRestarting', {});
};
},
template:
@ -348,8 +352,9 @@ app.directive('wzXmlFileEditor', function() {
clickOutsideToClose: true,
disableParentScroll: true,
locals: {
myScope: $scope,
myError: errorHandler
scope: $scope,
errorHandler: errorHandler,
rootScope: $rootScope
}
});
$('body').addClass('md-dialog-body');
@ -359,7 +364,7 @@ app.directive('wzXmlFileEditor', function() {
$scope.$on('saveXmlFile', (ev, params) => saveFile(params));
$scope.$on('$destroy', function() {
$location.search('editingFile', null);
//$location.search('editingFile', null);
});
},
template

View File

@ -1,4 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="69.06103515625" height="74.30986022949219" style=""><rect id="backgroundrect" width="100%" height="100%" x="0" y="0" fill="none" stroke="none" class="" style=""/><defs><filter id="f009" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:label="Roughen" inkscape:menu="ABCs" inkscape:menu-tooltip="Small-scale roughening to edges and content" color-interpolation-filters="sRGB">
<feTurbulence numOctaves="3" seed="0" type="turbulence" baseFrequency=".04" result="result91"/>
<feDisplacementMap scale="6.6" yChannelSelector="G" xChannelSelector="R" in="SourceGraphic" in2="result91"/>
</filter></defs><title>wazuh_blue_full copia</title><g class="currentLayer" style=""><title>Layer 1</title><path class="a" d="M52.462196536083965,1.5023475289344799 L43.59163897516325,19.995637369155887 H27.32232039930419 L17.606474281569277,1.5023475289344799 L10.844165827055729,24.993557384610174 L1.5559362733562334,35.502004596591 l20.883599638938904,19.015754851698876 l8.144603859186171,18.601725974678995 H39.90220303895072 l7.6970981526374835,-18.27641757130623 L68.94035110833242,35.66958771348 L59.433340986986906,25.328723618388178 zM42.06017500164107,51.126665788888936 a1.9889142513275146,1.9715660810470519 0 0 1 -0.8055102717876407,0.6703324675560006 a2.6253668117523197,2.602467226982117 0 0 1 -1.0541245532035828,0.21687226891517639 a2.5656993842124938,2.543320244550705 0 0 1 -0.9944571256637558,-0.21687226891517639 a1.8894685387611387,1.8729877769947052 0 0 1 -0.7756765580177305,-0.6703324675560006 l-3.1424845170974733,-4.7120429337024685 L32.04599174620704,51.126665788888936 a1.9889142513275146,1.9715660810470519 0 0 1 -0.7756765580177305,0.6703324675560006 a2.6054776692390442,2.582751566171646 0 0 1 -0.9944571256637558,0.21687226891517639 a2.0983045351505276,2.080002215504646 0 0 1 -1.8596348249912262,-0.8872047364711797 L12.315962373038086,36.25119970738888 h4.455167922973633 l13.6041734790802,11.829396486282349 L33.10011629941062,43.89101827144623 h4.276165640354156 l2.983371376991272,4.2092935830354685 l13.783175761699676,-12.322288006544113 h4.077274215221404 z" id="svg_6" fill="#ffffff" fill-opacity="1" stroke="none" filter=""/></g></svg>
<svg width="40.303738" height="44.000031" viewBox="0 0 10.663697 11.641675" version="1.1" id="svg8" xmlns="http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink">
<g id="layer2" transform="translate(-47.805736,-147.15347)">
<path id="path874-3" d="m 55.670688,147.89073 -1.306598,2.74797 h -2.396404 l -1.431105,-2.74797 -0.99606,3.4906 -1.368118,1.56148 3.076068,2.82558 1.199668,2.76407 h 1.372514 l 1.133749,-2.71572 3.143452,-2.84903 -1.400345,-1.53658 z m -1.532176,7.37376 a 0.29295898,0.29295898 0 0 1 -0.118643,0.0997 0.38670583,0.38670583 0 0 1 -0.155278,0.0322 0.37791708,0.37791708 0 0 1 -0.146481,-0.0322 0.27831103,0.27831103 0 0 1 -0.114255,-0.0997 l -0.462875,-0.70016 -0.477523,0.70016 a 0.29295898,0.29295898 0 0 1 -0.114255,0.0997 0.38377626,0.38377626 0 0 1 -0.146481,0.0322 0.30907171,0.30907171 0 0 1 -0.273919,-0.13185 L 49.7573,153.05412 h 0.656229 l 2.003838,1.75776 0.401356,-0.62254 h 0.629862 l 0.439437,0.62546 2.030206,-1.83099 h 0.600566 z" class="a" style="fill:none;stroke:#fff;stroke-width:0.75;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="69.06103515625" height="74.30986022949219" style=""><rect id="backgroundrect" width="100%" height="100%" x="0" y="0" fill="none" stroke="none" class="" style=""/><defs><filter id="f009" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:label="Roughen" inkscape:menu="ABCs" inkscape:menu-tooltip="Small-scale roughening to edges and content" color-interpolation-filters="sRGB">
<feTurbulence numOctaves="3" seed="0" type="turbulence" baseFrequency=".04" result="result91"/>
<feDisplacementMap scale="6.6" yChannelSelector="G" xChannelSelector="R" in="SourceGraphic" in2="result91"/>
</filter></defs><title>wazuh_blue_full copia</title><g class="currentLayer" style=""><title>Layer 1</title><path class="a" d="M52.462196536083965,1.5023475289344799 L43.59163897516325,19.995637369155887 H27.32232039930419 L17.606474281569277,1.5023475289344799 L10.844165827055729,24.993557384610174 L1.5559362733562334,35.502004596591 l20.883599638938904,19.015754851698876 l8.144603859186171,18.601725974678995 H39.90220303895072 l7.6970981526374835,-18.27641757130623 L68.94035110833242,35.66958771348 L59.433340986986906,25.328723618388178 zM42.06017500164107,51.126665788888936 a1.9889142513275146,1.9715660810470519 0 0 1 -0.8055102717876407,0.6703324675560006 a2.6253668117523197,2.602467226982117 0 0 1 -1.0541245532035828,0.21687226891517639 a2.5656993842124938,2.543320244550705 0 0 1 -0.9944571256637558,-0.21687226891517639 a1.8894685387611387,1.8729877769947052 0 0 1 -0.7756765580177305,-0.6703324675560006 l-3.1424845170974733,-4.7120429337024685 L32.04599174620704,51.126665788888936 a1.9889142513275146,1.9715660810470519 0 0 1 -0.7756765580177305,0.6703324675560006 a2.6054776692390442,2.582751566171646 0 0 1 -0.9944571256637558,0.21687226891517639 a2.0983045351505276,2.080002215504646 0 0 1 -1.8596348249912262,-0.8872047364711797 L12.315962373038086,36.25119970738888 h4.455167922973633 l13.6041734790802,11.829396486282349 L33.10011629941062,43.89101827144623 h4.276165640354156 l2.983371376991272,4.2092935830354685 l13.783175761699676,-12.322288006544113 h4.077274215221404 z" id="svg_6" fill="#ffffff" fill-opacity="1" stroke="none" filter=""/></g></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -126,6 +126,15 @@ html, body, button:not(.fa):not(.fa-times), textarea, input, select, .wz-chip {
}
}
.wz-text-link-add {
cursor: pointer !important;
color: #006BB4 !important;
&:hover {
text-decoration: none !important;
}
}
.wz-text-active {
color: rgb(0, 121, 165);
font-weight: bold;

View File

@ -1,33 +1,34 @@
<md-content flex layout="column" ng-if="tab === 'fim' && tabView === 'panels'" ng-show="!showSyscheckFiles" ng-class="{'no-opacity': resultState !== 'ready' || !rendered}" layout-align="start">
<md-content flex layout="column" ng-if="tab === 'fim' && tabView === 'panels'" ng-show="!showSyscheckFiles" ng-class="{'no-opacity': resultState !== 'ready' || !rendered}"
layout-align="start">
<div layout="row" layout-padding class="wz-padding-top-0">
<span flex></span>
<span ng-click="switchSyscheckFiles()" class="btn pull-right btn-primary">Show files</span>
<span ng-click="switchSyscheckFiles()" class="btn pull-right wz-button">Show files</span>
</div>
<!-- View: Panels -->
<div layout="row" class="height-300">
<md-card flex class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Most active users</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis id="Wazuh-App-Agents-FIM-Users" vis-id="'Wazuh-App-Agents-FIM-Users'">
</md-card-content>
</md-card>
<md-card flex class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Actions</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis id="Wazuh-App-Agents-FIM-Actions" vis-id="'Wazuh-App-Agents-FIM-Actions'">
</md-card-content>
</md-card>
<md-card flex class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Most active users</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis id="Wazuh-App-Agents-FIM-Users" vis-id="'Wazuh-App-Agents-FIM-Users'">
</md-card-content>
</md-card>
<md-card flex class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Actions</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis id="Wazuh-App-Agents-FIM-Actions" vis-id="'Wazuh-App-Agents-FIM-Actions'">
</md-card-content>
</md-card>
<md-card flex="40ç" class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Events</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis id="Wazuh-App-Agents-FIM-Events" vis-id="'Wazuh-App-Agents-FIM-Events'"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex="40ç" class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Events</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis id="Wazuh-App-Agents-FIM-Events" vis-id="'Wazuh-App-Agents-FIM-Events'"></kbn-vis>
</md-card-content>
</md-card>
</div>
@ -69,13 +70,19 @@
<md-content flex layout="column" ng-if="tab === 'fim' && tabView === 'panels' && showSyscheckFiles" layout-align="start">
<div layout="row" layout-padding class="wz-padding-top-0">
<span flex></span>
<span ng-click="switchSyscheckFiles()" class="btn pull-right btn-primary">Show alerts</span>
<span ng-click="switchSyscheckFiles()" class="btn pull-right wz-button">Show alerts</span>
</div>
<div layout="row" class="wz-margin-top-10 wz-margin-right-8 wz-margin-left-8" ng-if="showSyscheckFiles && (!agent || !agent.os)">
<div flex class="euiCallOut euiCallOut--warning">
<div class="euiCallOutHeader">
<svg class="euiIcon euiIcon--medium euiCallOutHeader__icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16"><defs><path id="help-a" d="M13.6 12.186l-1.357-1.358c-.025-.025-.058-.034-.084-.056.53-.794.84-1.746.84-2.773a4.977 4.977 0 0 0-.84-2.772c.026-.02.059-.03.084-.056L13.6 3.813a6.96 6.96 0 0 1 0 8.373zM8 15A6.956 6.956 0 0 1 3.814 13.6l1.358-1.358c.025-.025.034-.057.055-.084C6.02 12.688 6.974 13 8 13a4.978 4.978 0 0 0 2.773-.84c.02.026.03.058.056.083l1.357 1.358A6.956 6.956 0 0 1 8 15zm-5.601-2.813a6.963 6.963 0 0 1 0-8.373l1.359 1.358c.024.025.057.035.084.056A4.97 4.97 0 0 0 3 8c0 1.027.31 1.98.842 2.773-.027.022-.06.031-.084.056l-1.36 1.358zm5.6-.187A4 4 0 1 1 8 4a4 4 0 0 1 0 8zM8 1c1.573 0 3.019.525 4.187 1.4l-1.357 1.358c-.025.025-.035.057-.056.084A4.979 4.979 0 0 0 8 3a4.979 4.979 0 0 0-2.773.842c-.021-.027-.03-.059-.055-.084L3.814 2.4A6.957 6.957 0 0 1 8 1zm0-1a8.001 8.001 0 1 0 .003 16.002A8.001 8.001 0 0 0 8 0z"></path></defs><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#help-a" fill-rule="evenodd"></use></svg>
<svg class="euiIcon euiIcon--medium euiCallOutHeader__icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
<defs>
<path id="help-a" d="M13.6 12.186l-1.357-1.358c-.025-.025-.058-.034-.084-.056.53-.794.84-1.746.84-2.773a4.977 4.977 0 0 0-.84-2.772c.026-.02.059-.03.084-.056L13.6 3.813a6.96 6.96 0 0 1 0 8.373zM8 15A6.956 6.956 0 0 1 3.814 13.6l1.358-1.358c.025-.025.034-.057.055-.084C6.02 12.688 6.974 13 8 13a4.978 4.978 0 0 0 2.773-.84c.02.026.03.058.056.083l1.357 1.358A6.956 6.956 0 0 1 8 15zm-5.601-2.813a6.963 6.963 0 0 1 0-8.373l1.359 1.358c.024.025.057.035.084.056A4.97 4.97 0 0 0 3 8c0 1.027.31 1.98.842 2.773-.027.022-.06.031-.084.056l-1.36 1.358zm5.6-.187A4 4 0 1 1 8 4a4 4 0 0 1 0 8zM8 1c1.573 0 3.019.525 4.187 1.4l-1.357 1.358c-.025.025-.035.057-.056.084A4.979 4.979 0 0 0 8 3a4.979 4.979 0 0 0-2.773.842c-.021-.027-.03-.059-.055-.084L3.814 2.4A6.957 6.957 0 0 1 8 1zm0-1a8.001 8.001 0 1 0 .003 16.002A8.001 8.001 0 0 0 8 0z"></path>
</defs>
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#help-a" fill-rule="evenodd"></use>
</svg>
<span class="euiCallOutHeader__title">This agent is never connected.</span>
</div>
</div>
@ -94,12 +101,14 @@
</button>
</div>
<div layout="row" ng-if="agent && !load" class="wz-margin-top-10 wz-margin-bottom-40-inv">
<wz-table flex path="'/syscheck/' + agent.id" implicit-filter="[{name:'type',value:'registry'}]" row-sizes="[6,6,6]" extra-limit="true" keys="['file','sha1','md5']">
<wz-table flex path="'/syscheck/' + agent.id" implicit-filter="[{name:'type',value:'registry'}]"
row-sizes="[6,6,6]" extra-limit="true" keys="['file','sha1','md5']">
</wz-table>
</div>
<div layout="row" layout-padding>
<span flex></span>
<a class="small" id="btnDownload" ng-click="downloadCsv('/syscheck/' + agent.id, 'fim-registry.csv', [{name:'type',value:'registry'}])">Formatted <i aria-hidden="true" class="fa fa-fw fa-download"></i></a>
<a class="small" id="btnDownload" ng-click="downloadCsv('/syscheck/' + agent.id, 'fim-registry.csv', [{name:'type',value:'registry'}])">Formatted
<i aria-hidden="true" class="fa fa-fw fa-download"></i></a>
</div>
</md-card-content>
</md-card>
@ -118,12 +127,14 @@
</button>
</div>
<div layout="row" ng-if="agent && !load" class="wz-margin-top-10 wz-margin-bottom-40-inv">
<wz-table flex path="'/syscheck/' + agent.id" implicit-filter="[{name:'type',value:'file'}]" row-sizes="[6,6,6]" extra-limit="true" keys="['file','size','uname','perm','sha1','sha256','uid','mtime','md5']">
<wz-table flex path="'/syscheck/' + agent.id" implicit-filter="[{name:'type',value:'file'}]"
row-sizes="[6,6,6]" extra-limit="true" keys="['file','size','uname','perm','sha1','sha256','uid','mtime','md5']">
</wz-table>
</div>
<div layout="row" layout-padding>
<span flex></span>
<a class="small" id="btnDownload" ng-click="downloadCsv('/syscheck/' + agent.id, 'fim-files.csv', [{name:'type',value:'file'}])">Formatted <i aria-hidden="true" class="fa fa-fw fa-download"></i></a>
<a class="small" id="btnDownload" ng-click="downloadCsv('/syscheck/' + agent.id, 'fim-files.csv', [{name:'type',value:'file'}])">Formatted
<i aria-hidden="true" class="fa fa-fw fa-download"></i></a>
</div>
</md-card-content>
</md-card>
@ -147,7 +158,8 @@
</div>
<div layout="row" layout-padding>
<span flex></span>
<a class="small" id="btnDownload" ng-click="downloadCsv('/syscheck/' + agent.id, 'fim-files.csv')">Formatted <i aria-hidden="true" class="fa fa-fw fa-download"></i></a>
<a class="small" id="btnDownload" ng-click="downloadCsv('/syscheck/' + agent.id, 'fim-files.csv')">Formatted
<i aria-hidden="true" class="fa fa-fw fa-download"></i></a>
</div>
</md-card-content>
</md-card>

View File

@ -17,50 +17,62 @@
<div layout="column" class="" layout-align="start stretch" ng-if="tab === 'welcome'" ng-show="!load && agent">
<!-- Headline -->
<div layout="row" layout-padding>
<div layout="row" layout-padding class="wz-margin-right-8">
<span class="font-size-18"><i class="fa fa-fw fa-tv" aria-hidden="true"></i> {{ agent.name || '-' }} <span
class="wz-text-bold wz-text-link" ng-click="goDiscover()" tooltip="Discover"><i class="fa fa-fw fa-compass"
aria-hidden="true"></i></span></span>
<span flex></span>
<button ng-disabled="restartingAgent" class="btn wz-button" ng-disabled="isRestarting" ng-click="restartAgent(agent)"><i
class="fa fa-refresh"></i>
Restart agent
</button>
</div>
<!-- End headline -->
<div layout="row" layout-padding class="wz-padding-top-0 wz-padding-bottom-0">
<md-card flex class="wz-md-card">
<md-card-content>
<div layout="row">
<span class="font-size-16">Details</span>
</div>
<md-divider class="wz-margin-top-10"></md-divider>
<div layout="row" layout-padding>
<div layout="column" flex>
<div layout="row">
<span class="font-size-16">Details</span>
</div>
<md-divider class="wz-margin-top-10"></md-divider>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Name</span>
<span flex="25">Name</span>
<span class="wz-text-right color-grey">{{ agent.name || '-' }}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">IP</span>
<span flex="25">IP</span>
<span class="wz-text-right color-grey">{{ agent.ip || '-'}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Version</span>
<span flex="25">Version</span>
<span class="wz-text-right color-grey">{{ agent.version || '-'}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">OS</span>
<span flex="25">OS</span>
<span class="wz-text-right wz-text-truncatable color-grey">{{ agentOS || '-'}}</span>
<md-tooltip ng-if="agentOS.length > 25" md-direction="bottom" class="wz-tooltip">
Full OS name: {{ agentOS || '-'}}
</md-tooltip>
</div>
</div>
<div layout="column" flex>
<div layout="row" class="wz-padding-top-10">
<span flex="25">Last keep alive</span>
<span class="wz-text-right color-grey">{{agent.lastKeepAlive || '-' }}</span>
<div layout="row" ng-if="agent.group">
<span class="font-size-16">Groups <i ng-if='adminMode' tooltip="Add group" ng-click="switchGroupEdit()"
class="wz-text-bold wz-text-link fa fa-fw" ng-class="!addingGroupToAgent ? 'fa-plus-circle' : 'fa-minus-circle'"></i></span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="25">Registration date</span>
<span class="wz-text-right color-grey">{{agent.dateAdd || '-'}}</span>
<md-divider ng-if="agent.group" class="wz-margin-top-10"></md-divider>
<div layout="row" class="wz-margin-top-10" ng-if="agent.group && editGroup && !addingGroupToAgent">
<div class="wz-word-break" flex ng-if="groups && groups.length">
Available groups:
</div>
<div class="wz-word-break" flex ng-if="!groups || !groups.length">
There are no more groups available.
</div>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="25">Last syscheck scan</span>
@ -87,64 +99,6 @@
</div>
</div>
</div>
<div layout="row" ng-if="agent.group">
<span class="font-size-16">Groups <i ng-if='adminMode' tooltip="Add group" ng-click="switchGroupEdit()"
class="wz-text-bold wz-text-link fa fa-fw" ng-class="!addingGroupToAgent ? 'fa-plus-circle' : 'fa-minus-circle'"></i></span>
</div>
<md-divider ng-if="agent.group" class="wz-margin-top-10"></md-divider>
<div layout="row" class="wz-margin-top-10" ng-if="agent.group && editGroup && !addingGroupToAgent">
<div class="wz-word-break" flex ng-if="groups && groups.length">
Available groups:
</div>
<div class="wz-word-break" flex ng-if="!groups || !groups.length">
There are no more groups available.
</div>
</div>
<div ng-if="agent.group && editGroup && !addingGroupToAgent && groups && groups.length" class="wz-margin-top-4">
<span ng-repeat="group in groups" class="wz-text-bold wz-text-link" ng-click="showConfirmAddGroup(group)">{{
group }}&nbsp;</span>
</div>
<div class="wz-margin-top-10 confirmEmbedBubble" ng-if="agent.group && editGroup && addingGroupToAgent">
<div layout="row">
<span class="font-size-12 wz-padding-left-8">Group {{addingGroupToAgent}} will be added to
agent {{agent.id}}</span>
</div>
<div layout="row">
<md-button class="cancelBtn" type="button" ng-click="cancelAddGroup()"><i aria-hidden='true'
class='fa fa-fw fa-close'></i> Cancel</md-button>
<md-button class="agreeBtn" type="button" ng-click="confirmAddGroup(addingGroupToAgent)"><i
aria-hidden='true' class='fa fa-fw fa-check'></i> Confirm</md-button>
</div>
</div>
<div layout="row" layout-padding ng-if="agent.group" class="wz-word-break">
<span ng-repeat="group in agent.group" class="wz-text-bold wz-text-link" ng-click="goGroups(agent,$index)">{{
group }}&nbsp;</span>
</div>
</md-card-content>
</md-card>
</div>
<div layout="row" layout-padding class="wz-padding-top-0 wz-padding-bottom-0">
<md-card flex class="wz-md-card">
<md-card-content>
<div layout="row">
<span class="font-size-16">Actions</span>
</div>
<md-divider class="wz-margin-top-10"></md-divider>
<div layout="row" class="wz-padding-top-10">
<button ng-disabled="restartingAgent" class="btn btn-primary" ng-disabled="isRestarting" ng-click="restartAgent(agent)"><i
class="fa fa-refresh"></i>
Restart agent
</button>
<!-- <div ng-show="agent.outdated && !agent.upgrading" class="wz-padding-left-16">
<button class="updateBtn btn" ng-click="updateAgent(agent)"><i class="fa fa-upload" aria-hidden="true"></i>
Upgrade agent version</button>
</div>
<div ng-show="agent.outdated && agent.upgrading" class="wz-padding-left-16">
<span class="upgradingLabel"><i class="fa fa-fw fa-spin fa-spinner"></i> Upgrading agent...</span>
</div> -->
</div>
</md-card-content>
</md-card>
</div>

View File

@ -39,7 +39,8 @@
<span> / </span>
<span class="wz-text-link cursor-pointer" ng-click="switchTab('welcome')">{{agent.name}} ({{agent.id}})</span>
<span> / </span>
<span class="wz-text-link cursor-pointer" ng-click="switchConfigurationTab('welcome', true)">{{ tabNames[tab] }}</span>
<span class="wz-text-link cursor-pointer" ng-click="switchConfigurationTab('welcome', true)">{{
tabNames[tab] }}</span>
<span> / </span>
<span>{{ tabNames[configurationTab] === 'Alerts' ? 'Labels' : tabNames[configurationTab] }}</span>
</div>
@ -58,7 +59,9 @@
<!-- Reporting button section -->
<div ng-show="tab !== 'welcome' && tab !== 'configuration' && tabView === 'panels'">
<!-- Report button -->
<md-button md-no-ink class="md-icon-button small wz-no-margin-padding" tooltip="Generate report" tooltip-placement="bottom" ng-disabled="(!rendered || loading || resultState !== 'ready') && tab !== 'syscollector'" ng-click="startVis2Png()" aria-label="Generate report button">
<md-button md-no-ink class="md-icon-button small wz-no-margin-padding" tooltip="Generate report"
tooltip-placement="bottom" ng-disabled="(!rendered || loading || resultState !== 'ready') && tab !== 'syscollector'"
ng-click="startVis2Png()" aria-label="Generate report button">
<i class="fa fa-fw fa-print" aria-hidden="true"></i>
</md-button>
</div>
@ -67,12 +70,14 @@
<!-- Discover/Dashboard buttons section -->
<div ng-show="tab !== 'welcome' && tab !== 'configuration' && tab !== 'syscollector'">
<!-- Dashboard button -->
<md-button ng-if="tabView === 'discover'" class="wz-button-flat small" ng-click="switchSubtab('panels')" aria-label="Dashboard button">
<md-button ng-if="tabView === 'discover'" class="wz-button-flat small" ng-click="switchSubtab('panels')"
aria-label="Dashboard button">
<i class="fa fa-fw fa-th" aria-hidden="true"></i> Dashboard
</md-button>
<!-- Discover button -->
<md-button ng-if="tabView === 'panels'" class="wz-button-flat small" ng-click="switchSubtab('discover')" aria-label="Discover button">
<md-button ng-if="tabView === 'panels'" class="wz-button-flat small" ng-click="switchSubtab('discover')"
aria-label="Discover button">
<i class="fa fa-fw fa-compass" aria-hidden="true"></i> Discover
</md-button>
</div>
@ -80,24 +85,18 @@
<!-- Agent autocomplete selector section -->
<div flex="30" class="wz-margin-8-no-left">
<md-autocomplete flex class="wz-autocomplete wz-select-input"
md-no-cache="true"
md-select-on-match="false"
md-selected-item="_swpagent"
md-selected-item-change="getAgent(_swpagent.id,true)"
md-search-text="searchTerm"
md-items="agentAutoComplete in analyzeAgents(searchTerm)"
md-item-text="agentAutoComplete.name"
md-min-length="0"
md-clear-button="true"
md-no-asterisk="false"
placeholder="Search by name, ID or IP address">
<md-autocomplete flex class="wz-autocomplete wz-select-input" md-no-cache="true" md-select-on-match="false"
md-selected-item="_swpagent" md-selected-item-change="getAgent(_swpagent.id,true)" md-search-text="searchTerm"
md-items="agentAutoComplete in analyzeAgents(searchTerm)" md-item-text="agentAutoComplete.name"
md-min-length="0" md-clear-button="true" md-no-asterisk="false" placeholder="Search by name, ID or IP address">
<md-item-template>
<span class="item-title">
<span><strong md-highlight-text="search" md-highlight-flags="i"> {{agentAutoComplete.name}} ({{agentAutoComplete.id}}) </strong></span>
<span><strong md-highlight-text="search" md-highlight-flags="i"> {{agentAutoComplete.name}}
({{agentAutoComplete.id}}) </strong></span>
</span>
<span class="item-metadata">
<span class="item-metastat" md-highlight-text="searchTerm" md-highlight-flags="i"> {{agentAutoComplete.ip}} ({{agentAutoComplete.status}}) </span>
<span class="item-metastat" md-highlight-text="searchTerm" md-highlight-flags="i">
{{agentAutoComplete.ip}} ({{agentAutoComplete.status}}) </span>
</span>
</md-item-template>
<md-not-found>
@ -106,65 +105,50 @@
</md-autocomplete>
</div>
<!-- End agent autocomplete selector section -->
<!-- Help button -->
<md-button md-no-ink class="md-icon-button small" tooltip="About and help" tooltip-placement="left" ng-href="#/settings/about" aria-label="Link to open app about section">
<i class="fa fa-fw fa-question-circle-o" aria-hidden="true"></i>
</md-button>
<!-- End help button -->
</div>
<!-- End navigation section -->
<!-- Host monitoring navigation bar -->
<md-nav-bar
ng-if="inArray(tab, hostMonitoringTabs)"
class="wz-nav-bar"
ng-show="tab !== 'welcome'"
md-selected-nav-item="tab"
nav-bar-aria-label="Host monitoring navigation links">
<md-nav-bar ng-if="inArray(tab, hostMonitoringTabs)" class="wz-nav-bar" ng-show="tab !== 'welcome'"
md-selected-nav-item="tab" nav-bar-aria-label="Host monitoring navigation links">
<md-nav-item class="wz-nav-item" md-nav-click="switchTab('general')" name="general">{{ tabNames['general'] }}</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="switchTab('fim')" name="fim">{{ tabNames['fim'] }}</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="switchTab('syscollector')" name="syscollector">{{ tabNames['syscollector'] }}</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="switchTab('syscollector')" name="syscollector">{{
tabNames['syscollector'] }}</md-nav-item>
</md-nav-bar>
<!-- End Host monitoring navigation bar -->
<!-- System audit navigation bar -->
<md-nav-bar
ng-if="inArray(tab, systemAuditTabs) && (extensions.audit || extensions.oscap || extensions.ciscat)"
class="wz-nav-bar"
ng-show="tab !== 'welcome'"
md-selected-nav-item="tab"
nav-bar-aria-label="System audit navigation links">
<md-nav-bar ng-if="inArray(tab, systemAuditTabs) && (extensions.audit || extensions.oscap || extensions.ciscat)"
class="wz-nav-bar" ng-show="tab !== 'welcome'" md-selected-nav-item="tab" nav-bar-aria-label="System audit navigation links">
<md-nav-item class="wz-nav-item" md-nav-click="switchTab('pm')" name="pm">{{ tabNames['pm'] }}</md-nav-item>
<md-nav-item ng-show="extensions.audit" class="wz-nav-item" md-nav-click="switchTab('audit')" name="audit">{{ tabNames['audit'] }}</md-nav-item>
<md-nav-item ng-show="extensions.oscap" class="wz-nav-item" md-nav-click="switchTab('oscap')" name="oscap">{{ tabNames['oscap'] }}</md-nav-item>
<md-nav-item ng-show="extensions.ciscat" class="wz-nav-item" md-nav-click="switchTab('ciscat')" name="ciscat">{{ tabNames['ciscat'] }}</md-nav-item>
</md-nav-bar>
<md-nav-item ng-show="extensions.audit" class="wz-nav-item" md-nav-click="switchTab('audit')" name="audit">{{
tabNames['audit'] }}</md-nav-item>
<md-nav-item ng-show="extensions.oscap" class="wz-nav-item" md-nav-click="switchTab('oscap')" name="oscap">{{
tabNames['oscap'] }}</md-nav-item>
<md-nav-item ng-show="extensions.ciscat" class="wz-nav-item" md-nav-click="switchTab('ciscat')" name="ciscat">{{
tabNames['ciscat'] }}</md-nav-item>
</md-nav-bar>
<!-- End System audit navigation bar -->
<!-- Security navigation bar -->
<md-nav-bar
ng-if="inArray(tab, securityTabs) && (extensions.virustotal || extensions.osquery)"
class="wz-nav-bar"
ng-show="tab !== 'welcome'"
md-selected-nav-item="tab"
nav-bar-aria-label="Security navigation links">
<md-nav-bar ng-if="inArray(tab, securityTabs) && (extensions.virustotal || extensions.osquery)" class="wz-nav-bar"
ng-show="tab !== 'welcome'" md-selected-nav-item="tab" nav-bar-aria-label="Security navigation links">
<md-nav-item class="wz-nav-item" md-nav-click="switchTab('vuls')" name="vuls">{{ tabNames['vuls'] }}</md-nav-item>
<md-nav-item ng-show="extensions.virustotal" class="wz-nav-item" md-nav-click="switchTab('virustotal')" name="virustotal">{{ tabNames['virustotal'] }}</md-nav-item>
<md-nav-item ng-show="extensions.osquery" class="wz-nav-item" md-nav-click="switchTab('osquery')" name="osquery">{{ tabNames['osquery'] }}</md-nav-item>
<md-nav-item ng-show="extensions.virustotal" class="wz-nav-item" md-nav-click="switchTab('virustotal')" name="virustotal">{{
tabNames['virustotal'] }}</md-nav-item>
<md-nav-item ng-show="extensions.osquery" class="wz-nav-item" md-nav-click="switchTab('osquery')" name="osquery">{{
tabNames['osquery'] }}</md-nav-item>
</md-nav-bar>
<!-- End Security navigation bar -->
<!-- Compliance navigation bar -->
<md-nav-bar
ng-if="inArray(tab, complianceTabs) && extensions.pci && extensions.gdpr"
class="wz-nav-bar"
ng-show="tab !== 'welcome'"
md-selected-nav-item="tab"
nav-bar-aria-label="Compliance navigation links">
<md-nav-item ng-show="extensions.pci" class="wz-nav-item" md-nav-click="switchTab('pci')" name="pci">{{ tabNames['pci'] }}</md-nav-item>
<md-nav-item ng-show="extensions.gdpr" class="wz-nav-item" md-nav-click="switchTab('gdpr')" name="gdpr">{{ tabNames['gdpr'] }}</md-nav-item>
<md-nav-bar ng-if="inArray(tab, complianceTabs) && extensions.pci && extensions.gdpr" class="wz-nav-bar" ng-show="tab !== 'welcome'"
md-selected-nav-item="tab" nav-bar-aria-label="Compliance navigation links">
<md-nav-item ng-show="extensions.pci" class="wz-nav-item" md-nav-click="switchTab('pci')" name="pci">{{
tabNames['pci'] }}</md-nav-item>
<md-nav-item ng-show="extensions.gdpr" class="wz-nav-item" md-nav-click="switchTab('gdpr')" name="gdpr">{{
tabNames['gdpr'] }}</md-nav-item>
</md-nav-bar>
<!-- End Compliance navigation bar -->
@ -173,28 +157,38 @@
<!-- End Discover search bar section -->
<!-- Loading status section -->
<div layout="column" layout-align="center center" ng-if="tab !== 'welcome' && tab !== 'configuration' && tab !== 'syscollector'" ng-show="resultState === 'ready' && tabView === 'panels' && !rendered">
<div layout="column" layout-align="center center" ng-if="tab !== 'welcome' && tab !== 'configuration' && tab !== 'syscollector'"
ng-show="resultState === 'ready' && tabView === 'panels' && !rendered">
<div class="percentage"><i class="fa fa-fw fa-spin fa-spinner" aria-hidden="true"></i></div>
<div class="percentage">{{loadingStatus}}</div>
</div>
<!-- End loading status section -->
<!-- Report status section -->
<div layout="column" layout-align="center center" class="wz-margin-top-8" ng-if="(tab !== 'welcome') && (tab !== 'configuration')" ng-show="reportBusy && reportStatus">
<div layout="column" layout-align="center center" class="wz-margin-top-8" ng-if="(tab !== 'welcome') && (tab !== 'configuration')"
ng-show="reportBusy && reportStatus">
<div class="percentage"><i class="fa fa-fw fa-spin fa-spinner" aria-hidden="true"></i></div>
<div class="percentage">{{reportStatus}}</div>
</div>
<!-- End report status section -->
<!-- No results section -->
<div layout="row" ng-if="!showSyscheckFiles && tab === 'fim' && resultState === 'none' && tabView === 'panels'" layout-padding class="wz-padding-top-0">
<div layout="row" ng-if="!showSyscheckFiles && tab === 'fim' && resultState === 'none' && tabView === 'panels'"
layout-padding class="wz-padding-top-0">
<span flex></span>
<span ng-click="switchSyscheckFiles()" class="btn pull-right btn-primary">Show files</span>
</div>
<div layout="row" class="wz-margin-top-10 wz-margin-right-8 wz-margin-left-8" ng-if="!showSyscheckFiles && tab !== 'welcome' && tab !== 'configuration' && tab !== 'syscollector'" ng-show="resultState === 'none' && tabView === 'panels'">
<span ng-click="switchSyscheckFiles()" class="btn pull-right wz-button">Show files</span>
</div>
<div layout="row" class="wz-margin-top-10 wz-margin-right-8 wz-margin-left-8" ng-if="!showSyscheckFiles && tab !== 'welcome' && tab !== 'configuration' && tab !== 'syscollector'"
ng-show="resultState === 'none' && tabView === 'panels'">
<div flex class="euiCallOut euiCallOut--warning">
<div class="euiCallOutHeader">
<svg class="euiIcon euiIcon--medium euiCallOutHeader__icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16"><defs><path id="help-a" d="M13.6 12.186l-1.357-1.358c-.025-.025-.058-.034-.084-.056.53-.794.84-1.746.84-2.773a4.977 4.977 0 0 0-.84-2.772c.026-.02.059-.03.084-.056L13.6 3.813a6.96 6.96 0 0 1 0 8.373zM8 15A6.956 6.956 0 0 1 3.814 13.6l1.358-1.358c.025-.025.034-.057.055-.084C6.02 12.688 6.974 13 8 13a4.978 4.978 0 0 0 2.773-.84c.02.026.03.058.056.083l1.357 1.358A6.956 6.956 0 0 1 8 15zm-5.601-2.813a6.963 6.963 0 0 1 0-8.373l1.359 1.358c.024.025.057.035.084.056A4.97 4.97 0 0 0 3 8c0 1.027.31 1.98.842 2.773-.027.022-.06.031-.084.056l-1.36 1.358zm5.6-.187A4 4 0 1 1 8 4a4 4 0 0 1 0 8zM8 1c1.573 0 3.019.525 4.187 1.4l-1.357 1.358c-.025.025-.035.057-.056.084A4.979 4.979 0 0 0 8 3a4.979 4.979 0 0 0-2.773.842c-.021-.027-.03-.059-.055-.084L3.814 2.4A6.957 6.957 0 0 1 8 1zm0-1a8.001 8.001 0 1 0 .003 16.002A8.001 8.001 0 0 0 8 0z"></path></defs><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#help-a" fill-rule="evenodd"></use></svg>
<svg class="euiIcon euiIcon--medium euiCallOutHeader__icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
<defs>
<path id="help-a" d="M13.6 12.186l-1.357-1.358c-.025-.025-.058-.034-.084-.056.53-.794.84-1.746.84-2.773a4.977 4.977 0 0 0-.84-2.772c.026-.02.059-.03.084-.056L13.6 3.813a6.96 6.96 0 0 1 0 8.373zM8 15A6.956 6.956 0 0 1 3.814 13.6l1.358-1.358c.025-.025.034-.057.055-.084C6.02 12.688 6.974 13 8 13a4.978 4.978 0 0 0 2.773-.84c.02.026.03.058.056.083l1.357 1.358A6.956 6.956 0 0 1 8 15zm-5.601-2.813a6.963 6.963 0 0 1 0-8.373l1.359 1.358c.024.025.057.035.084.056A4.97 4.97 0 0 0 3 8c0 1.027.31 1.98.842 2.773-.027.022-.06.031-.084.056l-1.36 1.358zm5.6-.187A4 4 0 1 1 8 4a4 4 0 0 1 0 8zM8 1c1.573 0 3.019.525 4.187 1.4l-1.357 1.358c-.025.025-.035.057-.056.084A4.979 4.979 0 0 0 8 3a4.979 4.979 0 0 0-2.773.842c-.021-.027-.03-.059-.055-.084L3.814 2.4A6.957 6.957 0 0 1 8 1zm0-1a8.001 8.001 0 1 0 .003 16.002A8.001 8.001 0 0 0 8 0z"></path>
</defs>
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#help-a" fill-rule="evenodd"></use>
</svg>
<span class="euiCallOutHeader__title">There are no results for selected time range. Try another one.</span>
</div>
</div>
@ -204,4 +198,4 @@
<!-- Loading ring -->
<div class='uil-ring-css' ng-show="load && tab !== 'configuration' && tabView === 'panels'">
<div></div>
</div>
</div>

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'active-response'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['analysis-active_response']"
ng-if="currentConfig['analysis-active_response'] && isString(currentConfig['analysis-active_response'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['analysis-active_response'] && !isString(currentConfig['analysis-active_response']) && currentConfig['analysis-active_response']['active-response'] && !currentConfig['analysis-active_response']['active-response'].length"></wz-no-config>
<wz-no-config flex error="currentConfig['analysis-active_response']" ng-if="currentConfig['analysis-active_response'] && isString(currentConfig['analysis-active_response'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['analysis-active_response'] && !isString(currentConfig['analysis-active_response']) && currentConfig['analysis-active_response']['active-response'] && !currentConfig['analysis-active_response']['active-response'].length"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -39,7 +33,8 @@
<div flex="30" layout="column">
<md-list flex="auto" class="wz-item-list">
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['analysis-active_response']['active-response']">{{ item.command }}</md-list-item>
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['analysis-active_response']['active-response']">{{
item.command }}</md-list-item>
</md-list>
</div>
@ -49,37 +44,21 @@
<div flex layout="column">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Status of this active response"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].disabled === 'yes' ? 'disabled' : 'enabled'">
<wz-config-item label="Status of this active response" value="currentConfig['analysis-active_response']['active-response'][selectedItem].disabled === 'yes' ? 'disabled' : 'enabled'">
</wz-config-item>
<wz-config-item
label="Command to execute"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].command">
<wz-config-item label="Command to execute" value="currentConfig['analysis-active_response']['active-response'][selectedItem].command">
</wz-config-item>
<wz-config-item
label="Execute the command on this location"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].location">
<wz-config-item label="Execute the command on this location" value="currentConfig['analysis-active_response']['active-response'][selectedItem].location">
</wz-config-item>
<wz-config-item
label="Agent ID on which execute the command"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].agent_id">
<wz-config-item label="Agent ID on which execute the command" value="currentConfig['analysis-active_response']['active-response'][selectedItem].agent_id">
</wz-config-item>
<wz-config-item
label="Match to this severity level or above"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].level">
<wz-config-item label="Match to this severity level or above" value="currentConfig['analysis-active_response']['active-response'][selectedItem].level">
</wz-config-item>
<wz-config-item
label="Match to one of these groups"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].rules_group">
<wz-config-item label="Match to one of these groups" value="currentConfig['analysis-active_response']['active-response'][selectedItem].rules_group">
</wz-config-item>
<wz-config-item
label="Match to one of these rule IDs"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].rules_id">
<wz-config-item label="Match to one of these rule IDs" value="currentConfig['analysis-active_response']['active-response'][selectedItem].rules_id">
</wz-config-item>
<wz-config-item
label="Timeout (in seconds) before reverting"
value="currentConfig['analysis-active_response']['active-response'][selectedItem].timeout">
<wz-config-item label="Timeout (in seconds) before reverting" value="currentConfig['analysis-active_response']['active-response'][selectedItem].timeout">
</wz-config-item>
</div>
@ -98,16 +77,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html">Active response documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/active-response.html">Active response reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html">Active
response documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/active-response.html">Active
response reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'active-response'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['com-active-response']"
ng-if="currentConfig['com-active-response'] && isString(currentConfig['com-active-response'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['com-active-response'] && !isString(currentConfig['com-active-response']) && !currentConfig['com-active-response']['active-response']"></wz-no-config>
<wz-no-config flex error="currentConfig['com-active-response']" ng-if="currentConfig['com-active-response'] && isString(currentConfig['com-active-response'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['com-active-response'] && !isString(currentConfig['com-active-response']) && !currentConfig['com-active-response']['active-response']"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -35,22 +29,13 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Active response status"
value="currentConfig['com-active-response']['active-response'] === 'yes' ? 'disabled' : 'enabled'">
<wz-config-item label="Active response status" value="currentConfig['com-active-response']['active-response'] === 'yes' ? 'disabled' : 'enabled'">
</wz-config-item>
<wz-config-item
label="List of timeouts (in minutes) for repeated offenders"
value="currentConfig['com-active-response']['active-response'].repeated_offenders">
<wz-config-item label="List of timeouts (in minutes) for repeated offenders" value="currentConfig['com-active-response']['active-response'].repeated_offenders">
</wz-config-item>
<wz-config-item
is-array="true"
label="Use the following list of root CA certificates"
value="currentConfig['com-active-response']['active-response'].ca_store">
<wz-config-item is-array="true" label="Use the following list of root CA certificates" value="currentConfig['com-active-response']['active-response'].ca_store">
</wz-config-item>
<wz-config-item
label="Validate WPKs using root CA certificate"
value="currentConfig['com-active-response']['active-response'].ca_verification">
<wz-config-item label="Validate WPKs using root CA certificate" value="currentConfig['com-active-response']['active-response'].ca_verification">
</wz-config-item>
</div>
@ -66,16 +51,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html">Active response documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/active-response.html">Active response reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html">Active
response documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/active-response.html">Active
response reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'commands'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['analysis-command']"
ng-if="currentConfig['analysis-command'] && isString(currentConfig['analysis-command'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['analysis-command'] && !isString(currentConfig['analysis-command']) && currentConfig['analysis-command'].command && !currentConfig['analysis-command'].command.length"></wz-no-config>
<wz-no-config flex error="currentConfig['analysis-command']" ng-if="currentConfig['analysis-command'] && isString(currentConfig['analysis-command'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['analysis-command'] && !isString(currentConfig['analysis-command']) && currentConfig['analysis-command'].command && !currentConfig['analysis-command'].command.length"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -22,7 +16,8 @@
<div>
<span class="font-size-16">Command definitions</span>
<div class="wz-margin-top-10">
<span class="md-subheader small">Find here all the currently defined commands used for Active response</span>
<span class="md-subheader small">Find here all the currently defined commands used for
Active response</span>
</div>
</div>
<span flex></span>
@ -49,25 +44,15 @@
<div flex layout="column" ng-if="currentConfig['analysis-command'].command.length">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Command name"
value="currentConfig['analysis-command'].command[selectedItem].name">
<wz-config-item label="Command name" value="currentConfig['analysis-command'].command[selectedItem].name">
</wz-config-item>
<wz-config-item
label="Name of executable file"
value="currentConfig['analysis-command'].command[selectedItem].executable">
<wz-config-item label="Name of executable file" value="currentConfig['analysis-command'].command[selectedItem].executable">
</wz-config-item>
<wz-config-item
label="List of expected fields"
value="currentConfig['analysis-command'].command[selectedItem].expect">
<wz-config-item label="List of expected fields" value="currentConfig['analysis-command'].command[selectedItem].expect">
</wz-config-item>
<wz-config-item
label="Extra arguments"
value="currentConfig['analysis-command'].command[selectedItem].extra_args">
<wz-config-item label="Extra arguments" value="currentConfig['analysis-command'].command[selectedItem].extra_args">
</wz-config-item>
<wz-config-item
label="Allow this command to be reverted"
value="currentConfig['analysis-command'].command[selectedItem].timeout_allowed ? 'yes' : 'no'">
<wz-config-item label="Allow this command to be reverted" value="currentConfig['analysis-command'].command[selectedItem].timeout_allowed ? 'yes' : 'no'">
</wz-config-item>
</div>
@ -85,16 +70,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html">Active response documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/commands.html">Commands reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html">Active
response documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/commands.html">Commands
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -18,10 +18,7 @@
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['agentless-agentless']"
ng-if="currentConfig['agentless-agentless'] && isString(currentConfig['agentless-agentless'])"></wz-no-config>
<wz-no-config flex error="currentConfig['agentless-agentless']" ng-if="currentConfig['agentless-agentless'] && isString(currentConfig['agentless-agentless'])"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -51,7 +48,8 @@
<div flex="30" layout="column">
<md-list flex="auto" class="wz-item-list">
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['agentless-agentless'].agentless">{{ item.type }} ({{ item.state }})</md-list-item>
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['agentless-agentless'].agentless">{{
item.type }} ({{ item.state }})</md-list-item>
</md-list>
</div>
@ -61,26 +59,15 @@
<div flex layout="column" ng-if="currentConfig['agentless-agentless'].agentless.length">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Agentless monitoring type"
value="currentConfig['agentless-agentless'].agentless[selectedItem].type">
<wz-config-item label="Agentless monitoring type" value="currentConfig['agentless-agentless'].agentless[selectedItem].type">
</wz-config-item>
<wz-config-item
label="Interval (in seconds) between checks"
value="currentConfig['agentless-agentless'].agentless[selectedItem].frequency">
<wz-config-item label="Interval (in seconds) between checks" value="currentConfig['agentless-agentless'].agentless[selectedItem].frequency">
</wz-config-item>
<wz-config-item
is-array="true"
label="Device username and hostname"
value="currentConfig['agentless-agentless'].agentless[selectedItem].host">
<wz-config-item is-array="true" label="Device username and hostname" value="currentConfig['agentless-agentless'].agentless[selectedItem].host">
</wz-config-item>
<wz-config-item
label="Device check type"
value="currentConfig['agentless-agentless'].agentless[selectedItem].state">
<wz-config-item label="Device check type" value="currentConfig['agentless-agentless'].agentless[selectedItem].state">
</wz-config-item>
<wz-config-item
label="Pass these arguments to check"
value="currentConfig['agentless-agentless'].agentless[selectedItem].arguments">
<wz-config-item label="Pass these arguments to check" value="currentConfig['agentless-agentless'].agentless[selectedItem].arguments">
</wz-config-item>
</div>
@ -98,13 +85,15 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/agentless-monitoring/index.html">How to monitor agentless devices</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/agentless.html">Agentless reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/agentless-monitoring/index.html">How
to monitor agentless devices</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/agentless.html">Agentless
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -112,4 +101,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'email-alerts'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['mail-alerts']"
ng-if="currentConfig['mail-alerts'] && isString(currentConfig['mail-alerts'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['mail-alerts'] && !isString(currentConfig['mail-alerts']) && (!currentConfig['mail-alerts'].email_alerts || !currentConfig['mail-alerts'].email_alerts.length)"></wz-no-config>
<wz-no-config flex error="currentConfig['mail-alerts']" ng-if="currentConfig['mail-alerts'] && isString(currentConfig['mail-alerts'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['mail-alerts'] && !isString(currentConfig['mail-alerts']) && (!currentConfig['mail-alerts'].email_alerts || !currentConfig['mail-alerts'].email_alerts.length)"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -48,37 +42,21 @@
<div flex layout="column" ng-if="currentConfig['mail-alerts'].email_alerts.length">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Send alerts to this email address"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].email_to">
<wz-config-item label="Send alerts to this email address" value="currentConfig['mail-alerts'].email_alerts[selectedItem].email_to">
</wz-config-item>
<wz-config-item
label="Minimum severity level to send the alert by email"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].level">
<wz-config-item label="Minimum severity level to send the alert by email" value="currentConfig['mail-alerts'].email_alerts[selectedItem].level">
</wz-config-item>
<wz-config-item
label="Send only alerts that belong to one of these groups"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].group">
<wz-config-item label="Send only alerts that belong to one of these groups" value="currentConfig['mail-alerts'].email_alerts[selectedItem].group">
</wz-config-item>
<wz-config-item
label="Send alerts when they match this event location"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].event_location">
<wz-config-item label="Send alerts when they match this event location" value="currentConfig['mail-alerts'].email_alerts[selectedItem].event_location">
</wz-config-item>
<wz-config-item
label="Format for email alerts"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].format">
<wz-config-item label="Format for email alerts" value="currentConfig['mail-alerts'].email_alerts[selectedItem].format">
</wz-config-item>
<wz-config-item
label="Send only alerts that belong to one of these rule IDs"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].rule_id">
<wz-config-item label="Send only alerts that belong to one of these rule IDs" value="currentConfig['mail-alerts'].email_alerts[selectedItem].rule_id">
</wz-config-item>
<wz-config-item
label="Disable delayed email delivery"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].do_not_delay">
<wz-config-item label="Disable delayed email delivery" value="currentConfig['mail-alerts'].email_alerts[selectedItem].do_not_delay">
</wz-config-item>
<wz-config-item
label="Disable alerts grouping into the same email"
value="currentConfig['mail-alerts'].email_alerts[selectedItem].do_not_group">
<wz-config-item label="Disable alerts grouping into the same email" value="currentConfig['mail-alerts'].email_alerts[selectedItem].do_not_group">
</wz-config-item>
</div>
@ -96,17 +74,20 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-email-report/index.html">How to configure email alerts</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-email-report/smtp_authentication.html">How to configure authenticated SMTP server</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/email_alerts.html">Email alerts reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-email-report/index.html">How
to configure email alerts</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-email-report/smtp_authentication.html">How
to configure authenticated SMTP server</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/email_alerts.html">Email
alerts reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'general-alerts'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['analysis-alerts']"
ng-if="currentConfig['analysis-alerts'] && isString(currentConfig['analysis-alerts'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['analysis-alerts'] && !isString(currentConfig['analysis-alerts']) && !currentConfig['analysis-alerts'].alerts"></wz-no-config>
<wz-no-config flex error="currentConfig['analysis-alerts']" ng-if="currentConfig['analysis-alerts'] && isString(currentConfig['analysis-alerts'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['analysis-alerts'] && !isString(currentConfig['analysis-alerts']) && !currentConfig['analysis-alerts'].alerts"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -35,17 +29,11 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Minimum severity level to store the alert"
value="currentConfig['analysis-alerts'].alerts.log_alert_level">
<wz-config-item label="Minimum severity level to store the alert" value="currentConfig['analysis-alerts'].alerts.log_alert_level">
</wz-config-item>
<wz-config-item
label="Minimum severity level to send the alert by email"
value="currentConfig['analysis-alerts'].alerts.email_alert_level">
<wz-config-item label="Minimum severity level to send the alert by email" value="currentConfig['analysis-alerts'].alerts.email_alert_level">
</wz-config-item>
<wz-config-item
label="Enable GeoIP lookups"
value="currentConfig['analysis-alerts'].use_geoip || 'no'">
<wz-config-item label="Enable GeoIP lookups" value="currentConfig['analysis-alerts'].use_geoip || 'no'">
</wz-config-item>
</div>
@ -60,16 +48,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/getting-started/use-cases.html">Use cases about alerts generation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/alerts.html">Alerts reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/getting-started/use-cases.html">Use
cases about alerts generation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/alerts.html">Alerts
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'labels'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels']"
ng-if="currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'] && isString(currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'] && !isString(currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels']) && !hasSize(currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'].labels)"></wz-no-config>
<wz-no-config flex error="currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels']" ng-if="currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'] && isString(currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'] && !isString(currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels']) && !hasSize(currentConfig[(agent && agent.id !== '000') ? 'agent-labels' : 'analysis-labels'].labels)"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -57,16 +51,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/labels.html">Labels documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/labels.html">Labels reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/labels.html">Labels
documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/labels.html">Labels
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'reports'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['monitor-reports']"
ng-if="currentConfig['monitor-reports'] && isString(currentConfig['monitor-reports'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['monitor-reports'] && !isString(currentConfig['monitor-reports']) && (!currentConfig['monitor-reports'].reports || !currentConfig['monitor-reports'].reports.length)"></wz-no-config>
<wz-no-config flex error="currentConfig['monitor-reports']" ng-if="currentConfig['monitor-reports'] && isString(currentConfig['monitor-reports'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['monitor-reports'] && !isString(currentConfig['monitor-reports']) && (!currentConfig['monitor-reports'].reports || !currentConfig['monitor-reports'].reports.length)"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -39,7 +33,8 @@
<div flex="30" layout="column">
<md-list flex="auto" class="wz-item-list">
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['monitor-reports'].reports">{{ item.title }}</md-list-item>
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['monitor-reports'].reports">{{
item.title }}</md-list-item>
</md-list>
</div>
@ -49,46 +44,25 @@
<div flex layout="column" ng-if="currentConfig['monitor-reports'].reports.length">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Report name"
value="currentConfig['monitor-reports'].reports[selectedItem].title">
<wz-config-item label="Report name" value="currentConfig['monitor-reports'].reports[selectedItem].title">
</wz-config-item>
<wz-config-item
is-array="true"
label="Send report to this email addresses"
value="currentConfig['monitor-reports'].reports[selectedItem].mail_to">
<wz-config-item is-array="true" label="Send report to this email addresses" value="currentConfig['monitor-reports'].reports[selectedItem].mail_to">
</wz-config-item>
<wz-config-item
label="Include logs when creating a report"
value="currentConfig['monitor-reports'].reports[selectedItem].showlogs">
<wz-config-item label="Include logs when creating a report" value="currentConfig['monitor-reports'].reports[selectedItem].showlogs">
</wz-config-item>
<wz-config-item
label="Filter by this group"
value="currentConfig['monitor-reports'].reports[selectedItem].group">
<wz-config-item label="Filter by this group" value="currentConfig['monitor-reports'].reports[selectedItem].group">
</wz-config-item>
<wz-config-item
label="Filter by this category"
value="currentConfig['monitor-reports'].reports[selectedItem].category">
<wz-config-item label="Filter by this category" value="currentConfig['monitor-reports'].reports[selectedItem].category">
</wz-config-item>
<wz-config-item
label="Filter by this rule ID"
value="currentConfig['monitor-reports'].reports[selectedItem].rule">
<wz-config-item label="Filter by this rule ID" value="currentConfig['monitor-reports'].reports[selectedItem].rule">
</wz-config-item>
<wz-config-item
label="Filter by this alert level and above"
value="currentConfig['monitor-reports'].reports[selectedItem].level">
<wz-config-item label="Filter by this alert level and above" value="currentConfig['monitor-reports'].reports[selectedItem].level">
</wz-config-item>
<wz-config-item
label="Filter by this log location"
value="currentConfig['monitor-reports'].reports[selectedItem].location">
<wz-config-item label="Filter by this log location" value="currentConfig['monitor-reports'].reports[selectedItem].location">
</wz-config-item>
<wz-config-item
label="Filter by this source IP address"
value="currentConfig['monitor-reports'].reports[selectedItem].srcip">
<wz-config-item label="Filter by this source IP address" value="currentConfig['monitor-reports'].reports[selectedItem].srcip">
</wz-config-item>
<wz-config-item
label="Filter by this user name"
value="currentConfig['monitor-reports'].reports[selectedItem].user">
<wz-config-item label="Filter by this user name" value="currentConfig['monitor-reports'].reports[selectedItem].user">
</wz-config-item>
</div>
@ -107,16 +81,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/automatic-reports.html">How to generate automatic reports</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/reports.html">Reports reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/automatic-reports.html">How
to generate automatic reports</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/reports.html">Reports
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'syslog'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['csyslog-csyslog']"
ng-if="currentConfig['csyslog-csyslog'] && isString(currentConfig['csyslog-csyslog'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['csyslog-csyslog'] && !isString(currentConfig['csyslog-csyslog']) && (!currentConfig['csyslog-csyslog'].syslog_output || !currentConfig['csyslog-csyslog'].syslog_output.length)"></wz-no-config>
<wz-no-config flex error="currentConfig['csyslog-csyslog']" ng-if="currentConfig['csyslog-csyslog'] && isString(currentConfig['csyslog-csyslog'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['csyslog-csyslog'] && !isString(currentConfig['csyslog-csyslog']) && (!currentConfig['csyslog-csyslog'].syslog_output || !currentConfig['csyslog-csyslog'].syslog_output.length)"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -72,16 +66,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-syslog-output.html">How to configure the syslog output</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/syslog-output.html">Syslog output reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-syslog-output.html">How
to configure the syslog output</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/syslog-output.html">Syslog
output reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -5,9 +5,10 @@
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
class="md-sidenav-right" style="width: auto !important;"
md-is-locked-open="true">
<md-list>
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/amazon/index.html">Using Wazuh to monitor AWS</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-s3.html">Amazon S3 module reference</md-list-item>

View File

@ -5,9 +5,10 @@
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
class="md-sidenav-right" style="width: auto !important;"
md-is-locked-open="true">
<md-list>
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/policy-monitoring/ciscat/ciscat.html">CIS-CAT module documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-ciscat.html">CIS-CAT module reference</md-list-item>

View File

@ -4,8 +4,10 @@
<div layout="column" layout-padding>
<div>
<span class="font-size-18">Anti-flooding settings</span>
<span ng-if="(currentConfig['agent-buffer'] && currentConfig['agent-buffer'].buffer && currentConfig['agent-buffer'].buffer.disabled === 'no') || (currentConfig['agent-buffer'] && currentConfig['agent-buffer'].buffer && !currentConfig['agent-buffer'].buffer.disabled)" class="wz-agent-status-indicator small teal">Enabled</span>
<span ng-if="currentConfig['agent-buffer'] && currentConfig['agent-buffer'].buffer && currentConfig['agent-buffer'].buffer.disabled === 'yes'" class="wz-agent-status-indicator small red">Disabled</span>
<span ng-if="(currentConfig['agent-buffer'] && currentConfig['agent-buffer'].buffer && currentConfig['agent-buffer'].buffer.disabled === 'no') || (currentConfig['agent-buffer'] && currentConfig['agent-buffer'].buffer && !currentConfig['agent-buffer'].buffer.disabled)"
class="wz-agent-status-indicator small teal">Enabled</span>
<span ng-if="currentConfig['agent-buffer'] && currentConfig['agent-buffer'].buffer && currentConfig['agent-buffer'].buffer.disabled === 'yes'"
class="wz-agent-status-indicator small red">Disabled</span>
</div>
<span class="md-subheader">Agent bucket parameters to avoid event flooding</span>
</div>
@ -20,14 +22,8 @@
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['agent-buffer']"
ng-if="currentConfig['agent-buffer'] && isString(currentConfig['agent-buffer'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['agent-buffer'] && !isString(currentConfig['agent-buffer']) && !currentConfig['agent-buffer'].buffer"></wz-no-config>
<wz-no-config flex error="currentConfig['agent-buffer']" ng-if="currentConfig['agent-buffer'] && isString(currentConfig['agent-buffer'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['agent-buffer'] && !isString(currentConfig['agent-buffer']) && !currentConfig['agent-buffer'].buffer"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -40,7 +36,8 @@
<div>
<span class="font-size-16">Main settings</span>
<div class="wz-margin-top-10">
<span class="md-subheader small">These settings determine the event processing rate for the agent</span>
<span class="md-subheader small">These settings determine the event processing rate for
the agent</span>
</div>
</div>
<span flex></span>
@ -53,17 +50,11 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Buffer status"
value="currentConfig['agent-buffer'].buffer.disabled === 'yes'? 'disabled' : 'enabled'">
<wz-config-item label="Buffer status" value="currentConfig['agent-buffer'].buffer.disabled === 'yes'? 'disabled' : 'enabled'">
</wz-config-item>
<wz-config-item
label="Queue size"
value="currentConfig['agent-buffer'].buffer.queue_size || '5000'">
<wz-config-item label="Queue size" value="currentConfig['agent-buffer'].buffer.queue_size || '5000'">
</wz-config-item>
<wz-config-item
label="Events per second"
value="currentConfig['agent-buffer'].buffer.events_per_second || '500'">
<wz-config-item label="Events per second" value="currentConfig['agent-buffer'].buffer.events_per_second || '500'">
</wz-config-item>
</div>
@ -78,13 +69,15 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/antiflooding.html">Anti-flooding mechanism</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/agent_buffer.html">Client buffer reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/antiflooding.html">Anti-flooding
mechanism</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/agent_buffer.html">Client
buffer reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -92,4 +85,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -18,10 +18,7 @@
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['agent-client']"
ng-if="currentConfig['agent-client'] && isString(currentConfig['agent-client'])"></wz-no-config>
<wz-no-config flex error="currentConfig['agent-client']" ng-if="currentConfig['agent-client'] && isString(currentConfig['agent-client'])"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -47,29 +44,18 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Method used to encrypt communications"
value="currentConfig['agent-client'].client.crypto_method || 'aes'">
<wz-config-item label="Method used to encrypt communications" value="currentConfig['agent-client'].client.crypto_method || 'aes'">
</wz-config-item>
<wz-config-item
label="Auto-restart the agent when receiving valid configuration from manager"
<wz-config-item label="Auto-restart the agent when receiving valid configuration from manager"
value="currentConfig['agent-client'].client.auto_restart || 'yes'">
</wz-config-item>
<wz-config-item
label="Time (in seconds) between agent checkings to the manager"
value="currentConfig['agent-client'].client.notify_time || '60'">
<wz-config-item label="Time (in seconds) between agent checkings to the manager" value="currentConfig['agent-client'].client.notify_time || '60'">
</wz-config-item>
<wz-config-item
label="Time (in seconds) before attempting to reconnect"
value="currentConfig['agent-client'].client['time-reconnect'] || '300'">
<wz-config-item label="Time (in seconds) before attempting to reconnect" value="currentConfig['agent-client'].client['time-reconnect'] || '300'">
</wz-config-item>
<wz-config-item
label="Configuration profiles"
value="currentConfig['agent-client'].client['config-profile'] || '-'">
<wz-config-item label="Configuration profiles" value="currentConfig['agent-client'].client['config-profile'] || '-'">
</wz-config-item>
<wz-config-item
ng-if="currentConfig['agent-client'].client.local_ip"
label="IP address used when the agent has multiple network interfaces"
<wz-config-item ng-if="currentConfig['agent-client'].client.local_ip" label="IP address used when the agent has multiple network interfaces"
value="currentConfig['agent-client'].client.local_ip">
</wz-config-item>
@ -114,13 +100,15 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/agents/agent-connection.html">Checking connection with manager</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/client.html">Client reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/agents/agent-connection.html">Checking
connection with manager</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/client.html">Client
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -128,4 +116,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -19,10 +19,7 @@
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['com-cluster']"
ng-if="currentConfig['com-cluster'] && isString(currentConfig['com-cluster'])"></wz-no-config>
<wz-no-config flex error="currentConfig['com-cluster']" ng-if="currentConfig['com-cluster'] && isString(currentConfig['com-cluster'])"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -45,38 +42,21 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Cluster status"
value="currentConfig['com-cluster'].disabled === 'yes'? 'disabled' : 'enabled'">
<wz-config-item label="Cluster status" value="currentConfig['com-cluster'].disabled === 'yes'? 'disabled' : 'enabled'">
</wz-config-item>
<wz-config-item
label="Cluster name"
value="currentConfig['com-cluster'].name">
<wz-config-item label="Cluster name" value="currentConfig['com-cluster'].name">
</wz-config-item>
<wz-config-item
label="Node name"
value="currentConfig['com-cluster'].node_name">
<wz-config-item label="Node name" value="currentConfig['com-cluster'].node_name">
</wz-config-item>
<wz-config-item
label="Node type"
value="currentConfig['com-cluster'].node_type">
<wz-config-item label="Node type" value="currentConfig['com-cluster'].node_type">
</wz-config-item>
<wz-config-item
is-array="true"
label="Master node IP address"
value="currentConfig['com-cluster'].nodes">
<wz-config-item is-array="true" label="Master node IP address" value="currentConfig['com-cluster'].nodes">
</wz-config-item>
<wz-config-item
label="Port to listen to cluster communications"
value="currentConfig['com-cluster'].port">
<wz-config-item label="Port to listen to cluster communications" value="currentConfig['com-cluster'].port">
</wz-config-item>
<wz-config-item
label="IP address to listen to cluster communications"
value="currentConfig['com-cluster'].bind_addr">
<wz-config-item label="IP address to listen to cluster communications" value="currentConfig['com-cluster'].bind_addr">
</wz-config-item>
<wz-config-item
label="Hide cluster information in alerts"
value="currentConfig['com-cluster'].hidden">
<wz-config-item label="Hide cluster information in alerts" value="currentConfig['com-cluster'].hidden">
</wz-config-item>
</div>
@ -91,13 +71,15 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/wazuh-cluster.html">How to configure the Wazuh cluster</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/cluster.html">Wazuh cluster reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/wazuh-cluster.html">How
to configure the Wazuh cluster</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/cluster.html">Wazuh
cluster reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -105,4 +87,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -12,9 +12,6 @@
<span class="font-size-18">
<i class="fa fa-fw fa-edit" aria-hidden="true"></i> Cluster configuration</span>
</div>
<div layout="row">
<span class="md-subheader">Edit master/worker configuration</span>
</div>
</div>
<!-- Headline (manager) -->
@ -23,9 +20,6 @@
<span class="font-size-18">
<i class="fa fa-fw fa-edit" aria-hidden="true"></i> Manager configuration</span>
</div>
<div layout="row">
<span class="md-subheader">Edit manager configuration</span>
</div>
</div>
<!-- End headline -->
@ -33,27 +27,31 @@
<!-- XML editor for node configuration -->
<div flex layout="column">
<div layout="row" class="md-padding-h">
<button ng-disabled='xmlHasErrors' ng-click='saveConfiguration()' class='btn btn-primary'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
<!-- List of nodes if cluster is enabled -->
<div ng-show="selectedNode && clusterStatus.data.data.enabled === 'yes' && clusterStatus.data.data.running === 'yes' " layout="row" class="wz-margin-left-8"
layout-padding style="padding: 0;height: 32px;">
<div ng-show="selectedNode && clusterStatus.data.data.enabled === 'yes' && clusterStatus.data.data.running === 'yes' "
layout="row" layout-padding style="padding: 0;height: 32px;">
<div layout="column" layout-align="center" class="height-35 wz-select-input">
<select class="kuiSelect wz-border-none cursor-pointer max-height-35" id="categoryBox"
ng-model="selectedNode" ng-change="changeNode()" aria-label="Select node">
<option ng-repeat="node in nodes" value="{{node.name}}">{{node.name}} ({{node.type}})</option>
</select>
</div>
<button class="btn btn-primary wz-margin-left-8" ng-disabled="isRestarting" ng-click="restartNode(selectedNode)"><i
class="fa fa-refresh"></i>
Restart {{selectedNode}}
</button>
</div>
<button ng-disabled='xmlHasErrors' ng-click="switchConfigurationTab('welcome', false)" class='btn btn-info wz-margin-left-8'>
<span>Cancel</span>
</button>
<button ng-disabled='xmlHasErrors' ng-click='saveConfiguration()' class='btn wz-button wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
<span flex></span>
<button class="btn wz-button" ng-disabled="isRestarting" ng-click="restartNode(selectedNode)"><i
class="fa fa-refresh"></i>
Restart {{selectedNode}}
</button>
</div>
<div class="md-padding md-padding-top-10" style="height: calc(100vh - 280px);" ng-if="fetchedXML">
<div class="md-padding md-padding-top-10" style="height: calc(100vh - 230px);" ng-if="fetchedXML">
<wz-xml-file-editor file-name='ossec.conf' data="fetchedXML" target-name="selectedNode" valid-fn='xmlIsValid(valid)'
close-fn='closeEditingFile(reload)'>
</wz-xml-file-editor>

View File

@ -1,55 +0,0 @@
<div flex="auto" layout="column" ng-if="editionTab === 'groups'" ng-controller="configurationGroupsController">
<div layout="column" layout-padding>
<div layout="row">
<span class="font-size-18"> <i class="fa fa-fw fa-object-group" aria-hidden="true"></i> Edit the groups</span>
<span ng-if='adminMode' class="font-size-18 wz-text-link" tooltip="Add new group" ng-click="switchAddingGroup()">
<i class="fa fa-fw fa-plus-circle"></i></span>
</div>
<span ng-if="!addingGroup" class="md-subheader">Edit your groups configuration</span>
<div layout="row" ng-if="addingGroup" ng-if='adminMode' class="wz-padding-bottom-0">
<input placeholder="Group name..." ng-model="groupToBeAdded" type="text" class="kuiLocalSearchInput addGroupInput ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false">
<button type="submit" aria-label="Search" class="kuiLocalSearchButton addGroupBtn" ng-click="createGroup(groupToBeAdded)">
<span class="fa fa-save fa-fw" aria-hidden="true"></span>
</button>
</div>
</div>
<div class="md-padding" ng-show="!editingFile">
<!-- Search bar -->
<div layout="row" ng-if="!addingAgents && !file" class="wz-padding-bottom-14">
<input placeholder="Filter groups..." ng-model="custom_search" type="text" class="kuiLocalSearchInput ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false" wz-enter="search(custom_search)">
<button type="submit" aria-label="Search" class="kuiLocalSearchButton height-40" ng-click="search(custom_search)">
<span class="fa fa-search" aria-hidden="true"></span>
</button>
</div>
<!-- End search bar -->
<md-card flex class="wz-md-card _md flex wz-no-margin">
<md-card-content>
<wz-table flex path="'/agents/groups'" keys="['name']" allow-click="true" row-sizes="[17,15,13]">
</md-card-content>
</md-card>
</wz-table>
</div>
<!-- XML editor for node configuration -->
<div class="md-padding" ng-show="editingFile">
<div flex layout="column">
<div layout="row" class="wz-padding-bottom-14">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveConfig()' class='btn btn-primary pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
</div>
<div ng-if="fetchedXML" style="height: calc(100vh - 305px);">
<wz-xml-file-editor file-name='agent.conf' data="fetchedXML" target-name="selectedItem.name + ' group'"
valid-fn='xmlIsValid(valid)' close-fn='closeEditingFile(reload)'>
</wz-xml-file-editor>
</div>
</div>
</div>
</div>

View File

@ -1,98 +0,0 @@
<div flex="auto" layout="column" ng-if="editionTab === 'ruleset'" ng-controller="configurationRulesetController">
<div layout="column" layout-padding>
<div layout="row">
<span class="font-size-18"><i class="fa fa-fw fa-file-text-o" aria-hidden="true"></i> Edit the ruleset
</span>
<span ng-if='adminMode && !editingFile && selectedRulesetTab === "rules"' class="font-size-18 wz-text-link"
ng-click="addNewFile('rules')" tooltip="Add new rules file" tooltip-placement="right">
<i class="fa fa-fw fa-plus-circle"></i></span>
<span ng-if='adminMode && !editingFile && selectedRulesetTab === "decoders"' class="font-size-18 wz-text-link"
ng-click="addNewFile('decoders')" tooltip="Add new decoders file" tooltip-placement="right">
<i class="fa fa-fw fa-plus-circle"></i></span>
<span ng-if='adminMode && !currentList && selectedRulesetTab === "cdblists"' class="font-size-18 wz-text-link"
ng-click="addNewList()" tooltip="Add new list file" tooltip-placement="right">
<i class="fa fa-fw fa-plus-circle"></i></span>
</div>
<div layout="row">
<span class="md-subheader">Edit your current local rules, decoders and CDB lists</span>
</div>
</div>
<md-nav-bar class="wz-nav-bar" md-selected-nav-item="selectedRulesetTab">
<md-nav-item class="wz-nav-item" md-nav-click="switchRulesetTab('rules')" name="rules">Local rules</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="switchRulesetTab('decoders')" name="decoders">Local decoders</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="switchRulesetTab('cdblists')" name="cdblists">CDB Lists</md-nav-item>
</md-nav-bar>
<div class="md-padding" ng-show="!editingFile && !viewingDetail">
<!-- Search bar -->
<div layout="row" ng-if="!addingAgents && !file" class="wz-padding-bottom-14">
<input placeholder="{{searchPlaceholder}}" ng-model="custom_search" type="text" id="config-ruleset-input-search"
class="kuiLocalSearchInput ng-empty ng-pristine ng-scope ng-touched ng-valid" aria-invalid="false"
wz-enter="search(custom_search)">
<button type="submit" aria-label="Search" class="kuiLocalSearchButton height-40" ng-click="search(custom_search)">
<span class="fa fa-search" aria-hidden="true"></span>
</button>
</div>
<!-- End search bar -->
<div ng-if="selectedRulesetTab === 'rules'">
<md-card flex class="wz-md-card _md flex wz-no-margin">
<md-card-content>
<wz-table flex path="'/rules'" keys="['id',{value:'file',size:2},{value:'description',size:2},{value:'groups',nosortable:true,size:2},{value:'pci',nosortable:true,size:2},{value:'gdpr',nosortable:true},'level']"
implicit-filter="[{ name:'path',value: '/var/ossec/etc/rules'}]" allow-click="true" row-sizes="[17,15,13]"></wz-table>
</md-card-content>
</md-card>
</div>
<div ng-if="selectedRulesetTab === 'decoders'">
<md-card flex class="wz-md-card _md flex wz-no-margin">
<md-card-content>
<wz-table flex path="'/decoders'" keys="['name',{value:'details.program_name',size:2,nosortable:true},{value:'details.order',size:2,nosortable:true},'file']"
implicit-filter="[{ name:'path',value: '/var/ossec/etc/decoders'}]" allow-click="true"
row-sizes="[17,15,13]"></wz-table>
</md-card-content>
</md-card>
</div>
<div ng-if="selectedRulesetTab === 'cdblists'">
<md-card flex class="wz-md-card _md flex wz-no-margin">
<md-card-content>
<wz-table flex path="'/lists/files'" keys="['name']" allow-click="true" row-sizes="[17,15,13]"></wz-table>
</md-card-content>
</md-card>
</div>
</div>
<!-- XML editor for ruleset -->
<div class="md-padding" ng-show="editingFile">
<div flex layout="column">
<div layout="row" ng-if="!newFile" class="wz-padding-bottom-14">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveConfig(false)' class='btn btn-primary pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
</div>
<div layout="row" ng-if="newFile" class="wz-padding-bottom-14">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveConfig(true,newFileName)' class='btn btn-primary pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
<input placeholder="Enter file name" ng-model="newFileName" type="text" class="wz-margin-left-8 kuiLocalSearchInput ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false">
</div>
<div ng-if="fetchedXML" style="height: calc(100vh - 340px);">
<wz-xml-file-editor file-name='{{selectedFileName}}' data="fetchedXML" target-name="selectedItem.file"
valid-fn='xmlIsValid(valid)' close-fn='closeEditingFile(reload)'>
</wz-xml-file-editor>
</div>
</div>
</div>
<div class="md-padding" ng-show="viewingDetail">
<div class="wz-margin-bottom-25">
<h1 class="font-size-18">{{currentList.name}}</h1>
</div>
<div flex layout="column">
<wz-list-manage style="margin: -16px;" ng-if="currentList" list="currentList"></wz-list-manage>
</div>
</div>
</div>

View File

@ -1,22 +1,2 @@
<div flex="auto" layout="column" ng-controller="managementConfigurationController" ng-if="mctrl.tab === 'configuration'"
class="" ng-init="switchConfigurationTab('welcome', false)">
<!-- Navigation section -->
<div ng-show="adminMode" style="position: absolute;right: 0;top: 90px;z-index: 1;">
<div style="float:left">
<button ng-if="mctrl.clusterInfo.status === 'enabled'" class="btn btn-primary wz-margin-right-15" ng-disabled="mctrl.isRestarting" ng-click="mctrl.restartCluster()"><i class="fa fa-refresh"></i>
Restart cluster
</button>
<button ng-if="mctrl.clusterInfo.status !== 'enabled'" class="btn btn-primary wz-margin-right-15" ng-disabled="mctrl.isRestarting" ng-click="mctrl.restartManager()"><i class="fa fa-refresh"></i>
Restart manager
</button>
</div>
</div>
<!-- End navigation section -->
<md-nav-bar class="wz-nav-bar nav-bar-white-bg" md-selected-nav-item="mctrl.globalConfigTab" ng-show="adminMode">
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('configuration', true)" name="overview">Overview</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.setConfigTab('editconfiguration', true)" name="editconfiguration">Edit
configuration</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.setConfigTab('ruleset', true)" name="ruleset">Edit ruleset</md-nav-item>
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.setConfigTab('groups', true)" name="groups">Edit groups</md-nav-item>
</md-nav-bar>
ng-init="switchConfigurationTab('welcome', false)">

View File

@ -3,8 +3,6 @@ include ./welcome.html
include ./global-configuration/global-configuration.pug
include ./cluster/cluster.html
include ./config-edition/config-edition.html
include ./config-ruleset/config-ruleset.html
include ./config-groups/config-groups.html
include ./registration-service/registration-service.html
include ./alerts/alerts.pug
include ./integrations/integrations.html

View File

@ -31,7 +31,8 @@
<div>
<span class="font-size-16">Main settings</span>
<div class="wz-margin-top-10">
<span class="md-subheader small">These settings indicate the database where alerts are stored</span>
<span class="md-subheader small">These settings indicate the database where alerts are
stored</span>
</div>
</div>
<span flex></span>
@ -44,21 +45,13 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Database type"
value="'foo'">
<wz-config-item label="Database type" value="'foo'">
</wz-config-item>
<wz-config-item
label="Database name"
value="'foo'">
<wz-config-item label="Database name" value="'foo'">
</wz-config-item>
<wz-config-item
label="Database server IP"
value="'foo'">
<wz-config-item label="Database server IP" value="'foo'">
</wz-config-item>
<wz-config-item
label="Database username"
value="'foo'">
<wz-config-item label="Database username" value="'foo'">
</wz-config-item>
</div>
@ -73,12 +66,13 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/database-output.html">Database output reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/database-output.html">Database
output reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -86,4 +80,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -137,10 +137,10 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item ng-if="!agent || agent.id === '000'" target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/global.html">Global
reference</md-list-item>

View File

@ -2,14 +2,8 @@
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'remote'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['request-remote']"
ng-if="currentConfig['request-remote'] && isString(currentConfig['request-remote'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['request-remote'] && !isString(currentConfig['request-remote']) && !currentConfig['request-remote'].remote"></wz-no-config>
<wz-no-config flex error="currentConfig['request-remote']" ng-if="currentConfig['request-remote'] && isString(currentConfig['request-remote'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['request-remote'] && !isString(currentConfig['request-remote']) && !currentConfig['request-remote'].remote"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -22,7 +16,8 @@
<div>
<span class="font-size-16">Remote settings</span>
<div class="wz-margin-top-10">
<span class="md-subheader small">Configuration to listen for events from the agents or a syslog client</span>
<span class="md-subheader small">Configuration to listen for events from the agents or a
syslog client</span>
</div>
</div>
<span flex></span>
@ -53,16 +48,16 @@
<td>{{ item.protocol || 'udp' }}</td>
<td>{{ item.ipv6 || '-' }}</td>
<td>
<ul ng-if="item['allowed-ips']">
<li ng-repeat="ip in item['allowed-ips']">{{ ip }}</li>
</ul>
<span ng-if="!item['allowed-ips']">-</span>
<ul ng-if="item['allowed-ips']">
<li ng-repeat="ip in item['allowed-ips']">{{ ip }}</li>
</ul>
<span ng-if="!item['allowed-ips']">-</span>
</td>
<td>
<ul ng-if="item['denied-ips']">
<li ng-repeat="ip in item['denied-ips']">{{ ip }}</li>
</ul>
<span ng-if="!item['denied-ips']">-</span>
<ul ng-if="item['denied-ips']">
<li ng-repeat="ip in item['denied-ips']">{{ ip }}</li>
</ul>
<span ng-if="!item['denied-ips']">-</span>
</td>
<td>{{ item.local_ip || 'All interfaces' }}</td>
<td>{{ item.queue_size || '16384' }}</td>
@ -82,16 +77,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/daemons/ossec-remoted.html">Remote daemon reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/remote.html">Remote configuration reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/daemons/ossec-remoted.html">Remote
daemon reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/remote.html">Remote
configuration reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -17,12 +17,9 @@
<!-- This section contains the main content and the right sidenav -->
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['integrator-integration']"
ng-if="currentConfig['integrator-integration'] && isString(currentConfig['integrator-integration'])"></wz-no-config>
<!-- End no configuration section -->
<!-- No configuration section -->
<wz-no-config flex error="currentConfig['integrator-integration']" ng-if="currentConfig['integrator-integration'] && isString(currentConfig['integrator-integration'])"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
<div flex layout="column" ng-if="currentConfig['integrator-integration'] && !isString(currentConfig['integrator-integration'])">
@ -46,25 +43,15 @@
<!-- Configuration block -->
<div class="wz-padding-top-10" ng-if="integrations['virustotal']">
<wz-config-item
label="Filter alerts by this level or above"
value="integrations['virustotal'].level">
<wz-config-item label="Filter alerts by this level or above" value="integrations['virustotal'].level">
</wz-config-item>
<wz-config-item
label="Filter alerts by this rule IDs"
value="integrations['virustotal'].rule_id">
<wz-config-item label="Filter alerts by this rule IDs" value="integrations['virustotal'].rule_id">
</wz-config-item>
<wz-config-item
label="Filter alerts by this rule groups"
value="integrations['virustotal'].group">
<wz-config-item label="Filter alerts by this rule groups" value="integrations['virustotal'].group">
</wz-config-item>
<wz-config-item
label="Filter alerts by location (agent, IP or file)"
value="integrations['virustotal'].event_location">
<wz-config-item label="Filter alerts by location (agent, IP or file)" value="integrations['virustotal'].event_location">
</wz-config-item>
<wz-config-item
label="Used format to write alerts"
value="integrations['virustotal'].alert_format">
<wz-config-item label="Used format to write alerts" value="integrations['virustotal'].alert_format">
</wz-config-item>
</div>
@ -81,29 +68,17 @@
<!-- Configuration block -->
<div class="wz-padding-top-10" ng-if="integrations['slack']">
<wz-config-item
label="Hook URL"
value="integrations['slack'].hook_url">
<wz-config-item label="Hook URL" value="integrations['slack'].hook_url">
</wz-config-item>
<wz-config-item
label="Filter alerts by this level or above"
value="integrations['slack'].level">
<wz-config-item label="Filter alerts by this level or above" value="integrations['slack'].level">
</wz-config-item>
<wz-config-item
label="Filter alerts by this rule IDs"
value="integrations['slack'].rule_id">
<wz-config-item label="Filter alerts by this rule IDs" value="integrations['slack'].rule_id">
</wz-config-item>
<wz-config-item
label="Filter alerts by this rule groups"
value="integrations['slack'].group">
<wz-config-item label="Filter alerts by this rule groups" value="integrations['slack'].group">
</wz-config-item>
<wz-config-item
label="Filter alerts by location (agent, IP or file)"
value="integrations['slack'].event_location">
<wz-config-item label="Filter alerts by location (agent, IP or file)" value="integrations['slack'].event_location">
</wz-config-item>
<wz-config-item
label="Used format to write alerts"
value="integrations['slack'].alert_format">
<wz-config-item label="Used format to write alerts" value="integrations['slack'].alert_format">
</wz-config-item>
</div>
@ -112,7 +87,8 @@
<div class="wz-margin-top-10" ng-if="integrations['pagerduty']">
<span class="font-size-16">PagerDuty</span>
<div class="wz-margin-top-10">
<span class="md-subheader small">Get alerts on this streamlined incident resolution software</span>
<span class="md-subheader small">Get alerts on this streamlined incident resolution
software</span>
</div>
</div>
<md-divider class="wz-margin-top-10" ng-if="integrations['pagerduty']"></md-divider>
@ -120,25 +96,15 @@
<!-- Configuration block -->
<div class="wz-padding-top-10" ng-if="integrations['pagerduty']">
<wz-config-item
label="Filter alerts by this level or above"
value="integrations['pagerduty'].level">
<wz-config-item label="Filter alerts by this level or above" value="integrations['pagerduty'].level">
</wz-config-item>
<wz-config-item
label="Filter alerts by this rule IDs"
value="integrations['pagerduty'].rule_id">
<wz-config-item label="Filter alerts by this rule IDs" value="integrations['pagerduty'].rule_id">
</wz-config-item>
<wz-config-item
label="Filter alerts by this rule groups"
value="integrations['pagerduty'].group">
<wz-config-item label="Filter alerts by this rule groups" value="integrations['pagerduty'].group">
</wz-config-item>
<wz-config-item
label="Filter alerts by location (agent, IP or file)"
value="integrations['pagerduty'].event_location">
<wz-config-item label="Filter alerts by location (agent, IP or file)" value="integrations['pagerduty'].event_location">
</wz-config-item>
<wz-config-item
label="Used format to write alerts"
value="integrations['pagerduty'].alert_format">
<wz-config-item label="Used format to write alerts" value="integrations['pagerduty'].alert_format">
</wz-config-item>
</div>
@ -153,14 +119,17 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-integration.html">How to integrate Wazuh with external APIs</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/virustotal-scan/index.html">VirusTotal integration documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/integration.html">Integration reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/manual-integration.html">How
to integrate Wazuh with external APIs</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/virustotal-scan/index.html">VirusTotal
integration documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/integration.html">Integration
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -168,4 +137,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -5,9 +5,10 @@
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
class="md-sidenav-right" style="width: auto !important;"
md-is-locked-open="true">
<md-list>
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/file-integrity/index.html">Integrity monitoring documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/syscheck.html">Syscheck reference</md-list-item>

View File

@ -4,8 +4,10 @@
<div layout="column" layout-padding>
<div>
<span class="font-size-18">Inventory data</span>
<span ng-if="currentConfig && currentConfig.syscollector && currentConfig.syscollector.disabled === 'no'" class="wz-agent-status-indicator small teal">Enabled</span>
<span ng-if="(currentConfig && currentConfig.syscollector && currentConfig.syscollector.disabled === 'yes') || (currentConfig && !currentConfig.syscollector)" class="wz-agent-status-indicator small red">Disabled</span>
<span ng-if="currentConfig && currentConfig.syscollector && currentConfig.syscollector.disabled === 'no'"
class="wz-agent-status-indicator small teal">Enabled</span>
<span ng-if="(currentConfig && currentConfig.syscollector && currentConfig.syscollector.disabled === 'yes') || (currentConfig && !currentConfig.syscollector)"
class="wz-agent-status-indicator small red">Disabled</span>
</div>
<span class="md-subheader">Gather relevant information about system OS, hardware, networking and packages</span>
</div>
@ -19,16 +21,10 @@
<!-- This section contains the main content and the right sidenav -->
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['wmodules-wmodules']"
ng-if="currentConfig['wmodules-wmodules'] && isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig && !currentConfig.syscollector && !isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<!-- End no configuration section -->
<!-- No configuration section -->
<wz-no-config flex error="currentConfig['wmodules-wmodules']" ng-if="currentConfig['wmodules-wmodules'] && isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig && !currentConfig.syscollector && !isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
<div flex layout="column" ng-if="currentConfig && currentConfig.syscollector">
@ -53,17 +49,11 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Syscollector integration status"
value="currentConfig.syscollector.disabled === 'yes' ? 'disabled' : 'enabled'">
<wz-config-item label="Syscollector integration status" value="currentConfig.syscollector.disabled === 'yes' ? 'disabled' : 'enabled'">
</wz-config-item>
<wz-config-item
label="Interval between system scans"
value="currentConfig.syscollector.interval">
<wz-config-item label="Interval between system scans" value="currentConfig.syscollector.interval">
</wz-config-item>
<wz-config-item
label="Scan on start"
value="currentConfig.syscollector['scan-on-start']">
<wz-config-item label="Scan on start" value="currentConfig.syscollector['scan-on-start']">
</wz-config-item>
</div>
@ -80,33 +70,19 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Scan hardware info"
value="currentConfig.syscollector.hardware">
<wz-config-item label="Scan hardware info" value="currentConfig.syscollector.hardware">
</wz-config-item>
<wz-config-item
label="Scan current processes"
value="currentConfig.syscollector.processes">
<wz-config-item label="Scan current processes" value="currentConfig.syscollector.processes">
</wz-config-item>
<wz-config-item
label="Scan operating system info"
value="currentConfig.syscollector.os">
<wz-config-item label="Scan operating system info" value="currentConfig.syscollector.os">
</wz-config-item>
<wz-config-item
label="Scan installed packages"
value="currentConfig.syscollector.packages">
<wz-config-item label="Scan installed packages" value="currentConfig.syscollector.packages">
</wz-config-item>
<wz-config-item
label="Scan network interfaces"
value="currentConfig.syscollector.network">
<wz-config-item label="Scan network interfaces" value="currentConfig.syscollector.network">
</wz-config-item>
<wz-config-item
label="Scan listening network ports"
value="currentConfig.syscollector.ports">
<wz-config-item label="Scan listening network ports" value="currentConfig.syscollector.ports">
</wz-config-item>
<wz-config-item
label="Scan all network ports"
value="currentConfig.syscollector.ports_all">
<wz-config-item label="Scan all network ports" value="currentConfig.syscollector.ports_all">
</wz-config-item>
</div>
@ -122,13 +98,15 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/syscollector.html">Syscollector module documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-syscollector.html">Syscollector module reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/syscollector.html">Syscollector
module documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-syscollector.html">Syscollector
module reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -136,4 +114,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -1,16 +1,10 @@
<!-- This section contains the main content and the right sidenav -->
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'localfile'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['logcollector-localfile']"
ng-if="currentConfig['logcollector-localfile'] && isString(currentConfig['logcollector-localfile'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['logcollector-localfile'] && !isString(currentConfig['logcollector-localfile']) && !currentConfig['logcollector-localfile'].localfile"></wz-no-config>
<!-- End no configuration section -->
<!-- No configuration section -->
<wz-no-config flex error="currentConfig['logcollector-localfile']" ng-if="currentConfig['logcollector-localfile'] && isString(currentConfig['logcollector-localfile'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['logcollector-localfile'] && !isString(currentConfig['logcollector-localfile']) && !currentConfig['logcollector-localfile'].localfile"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
<div flex layout="column" ng-if="currentConfig['logcollector-localfile'] && !isString(currentConfig['logcollector-localfile']) && currentConfig['logcollector-localfile'].localfile && currentConfig['logcollector-localfile'].localfile.length">
@ -40,8 +34,10 @@
<md-list flex="auto" class="wz-item-list">
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['logcollector-localfile'].localfile">
<span ng-if='item.file || item.alias || item.command'>{{ item.file || item.alias || item.command }}</span>
<span ng-if='!item.file && !item.alias && !item.command'>{{ item.logformat }} - {{ item.targetStr }}</span></md-list-item>
<span ng-if='item.file || item.alias || item.command'>{{ item.file || item.alias ||
item.command }}</span>
<span ng-if='!item.file && !item.alias && !item.command'>{{ item.logformat }} - {{
item.targetStr }}</span></md-list-item>
</md-list>
</div>
@ -51,47 +47,25 @@
<div flex layout="column" ng-if="currentConfig['logcollector-localfile'].localfile.length">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Log format"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].logformat">
<wz-config-item label="Log format" value="currentConfig['logcollector-localfile'].localfile[selectedItem].logformat">
</wz-config-item>
<wz-config-item
label="Log location"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].file || '-'">
<wz-config-item label="Log location" value="currentConfig['logcollector-localfile'].localfile[selectedItem].file || '-'">
</wz-config-item>
<wz-config-item
label="Run this command"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].command || '-'">
<wz-config-item label="Run this command" value="currentConfig['logcollector-localfile'].localfile[selectedItem].command || '-'">
</wz-config-item>
<wz-config-item
label="Command alias"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].alias || '-'">
<wz-config-item label="Command alias" value="currentConfig['logcollector-localfile'].localfile[selectedItem].alias || '-'">
</wz-config-item>
<wz-config-item
label="Interval between command executions"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].frequency || '-'">
<wz-config-item label="Interval between command executions" value="currentConfig['logcollector-localfile'].localfile[selectedItem].frequency || '-'">
</wz-config-item>
<wz-config-item
label="Only receive logs occured after start"
value="currentConfig['logcollector-localfile'].localfile[selectedItem]['only-future-events'] || '-'">
<wz-config-item label="Only receive logs occured after start" value="currentConfig['logcollector-localfile'].localfile[selectedItem]['only-future-events'] || '-'">
</wz-config-item>
<wz-config-item
label="Filter logs using this XPATH query"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].query || '-'">
<wz-config-item label="Filter logs using this XPATH query" value="currentConfig['logcollector-localfile'].localfile[selectedItem].query || '-'">
</wz-config-item>
<wz-config-item
label="Log labels"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].labels || '-'">
<wz-config-item label="Log labels" value="currentConfig['logcollector-localfile'].localfile[selectedItem].labels || '-'">
</wz-config-item>
<wz-config-item
is-array="true"
label="Redirect output to this socket"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].target || 'agent'">
<wz-config-item is-array="true" label="Redirect output to this socket" value="currentConfig['logcollector-localfile'].localfile[selectedItem].target || 'agent'">
</wz-config-item>
<wz-config-item
is-array="true"
label="Log collection output format"
value="currentConfig['logcollector-localfile'].localfile[selectedItem].target">
<wz-config-item is-array="true" label="Log collection output format" value="currentConfig['logcollector-localfile'].localfile[selectedItem].target">
</wz-config-item>
</div>
@ -109,16 +83,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/index.html">Log data collection documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/localfile.html">Localfile reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/index.html">Log
data collection documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/localfile.html">Localfile
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -1,16 +1,10 @@
<!-- This section contains the main content and the right sidenav -->
<div flex="auto" layout="row" ng-if="!load && configurationSubTab === 'socket'">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['logcollector-socket']"
ng-if="currentConfig['logcollector-socket'] && isString(currentConfig['logcollector-socket'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig['logcollector-socket'] && !isString(currentConfig['logcollector-socket']) && !currentConfig['logcollector-socket'].target"></wz-no-config>
<!-- End no configuration section -->
<!-- No configuration section -->
<wz-no-config flex error="currentConfig['logcollector-socket']" ng-if="currentConfig['logcollector-socket'] && isString(currentConfig['logcollector-socket'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig['logcollector-socket'] && !isString(currentConfig['logcollector-socket']) && !currentConfig['logcollector-socket'].target"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
<div flex layout="column" ng-if="currentConfig['logcollector-socket'] && !isString(currentConfig['logcollector-socket']) && currentConfig['logcollector-socket'].target && currentConfig['logcollector-socket'].target.length">
@ -39,7 +33,8 @@
<div flex="30" layout="column">
<md-list flex="auto" class="wz-item-list">
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['logcollector-socket'].target">{{ item.name }}</md-list-item>
<md-list-item class="wz-text-link" ng-click="updateSelectedItem($index)" ng-repeat="item in currentConfig['logcollector-socket'].target">{{
item.name }}</md-list-item>
</md-list>
</div>
@ -49,21 +44,13 @@
<div flex layout="column" ng-if="currentConfig['logcollector-socket'].target.length">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Socket name"
value="currentConfig['logcollector-socket'].target[selectedItem].name || '-'">
<wz-config-item label="Socket name" value="currentConfig['logcollector-socket'].target[selectedItem].name || '-'">
</wz-config-item>
<wz-config-item
label="Socket location"
value="currentConfig['logcollector-socket'].target[selectedItem].location || '-'">
<wz-config-item label="Socket location" value="currentConfig['logcollector-socket'].target[selectedItem].location || '-'">
</wz-config-item>
<wz-config-item
label="UNIX socket protocol"
value="currentConfig['logcollector-socket'].target[selectedItem].mode || 'udp'">
<wz-config-item label="UNIX socket protocol" value="currentConfig['logcollector-socket'].target[selectedItem].mode || 'udp'">
</wz-config-item>
<wz-config-item
label="Prefix to place before the message"
value="currentConfig['logcollector-socket'].target[selectedItem].prefix || '-'">
<wz-config-item label="Prefix to place before the message" value="currentConfig['logcollector-socket'].target[selectedItem].prefix || '-'">
</wz-config-item>
</div>
@ -81,16 +68,18 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/log-data-configuration.html#using-multiple-outputs">Using multiple outputs</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/socket.html">Socket reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/log-data-configuration.html#using-multiple-outputs">Using
multiple outputs</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/socket.html">Socket
reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
</div>
<!-- End main content and right sidenav section -->
<!-- End main content and right sidenav section -->

View File

@ -5,9 +5,10 @@
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
class="md-sidenav-right" style="width: auto !important;"
md-is-locked-open="true">
<md-list>
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/policy-monitoring/openscap/index.html">OpenSCAP module documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-openscap.html">OpenSCAP module reference</md-list-item>

View File

@ -5,7 +5,8 @@
<div>
<span class="font-size-18">Osquery</span>
<span ng-if="currentConfig && currentConfig.osquery && currentConfig.osquery.disabled === 'no'" class="wz-agent-status-indicator small teal">Enabled</span>
<span ng-if="(currentConfig && currentConfig.osquery && currentConfig.osquery.disabled === 'yes') || (currentConfig && !currentConfig.osquery)" class="wz-agent-status-indicator small red">Disabled</span>
<span ng-if="(currentConfig && currentConfig.osquery && currentConfig.osquery.disabled === 'yes') || (currentConfig && !currentConfig.osquery)"
class="wz-agent-status-indicator small red">Disabled</span>
</div>
<span class="md-subheader">Expose an operating system as a high-performance relational database</span>
</div>
@ -19,16 +20,10 @@
<!-- This section contains the main content and the right sidenav -->
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['wmodules-wmodules']"
ng-if="currentConfig['wmodules-wmodules'] && isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig && !currentConfig.osquery && !isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<!-- End no configuration section -->
<!-- No configuration section -->
<wz-no-config flex error="currentConfig['wmodules-wmodules']" ng-if="currentConfig['wmodules-wmodules'] && isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig && !currentConfig.osquery && !isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
<div flex layout="column" ng-if="currentConfig && currentConfig.osquery">
@ -53,44 +48,36 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Osquery integration status"
value="currentConfig.osquery.disabled === 'yes' ? 'disabled' : 'enabled'">
<wz-config-item label="Osquery integration status" value="currentConfig.osquery.disabled === 'yes' ? 'disabled' : 'enabled'">
</wz-config-item>
<wz-config-item
label="Auto-run the Osquery daemon"
value="currentConfig.osquery.run_daemon">
<wz-config-item label="Auto-run the Osquery daemon" value="currentConfig.osquery.run_daemon">
</wz-config-item>
<wz-config-item
label="Path to the Osquery executable"
value="currentConfig.osquery.bin_path">
<wz-config-item label="Path to the Osquery executable" value="currentConfig.osquery.bin_path">
</wz-config-item>
<wz-config-item
label="Path to the Osquery results log file"
value="currentConfig.osquery.log_path">
<wz-config-item label="Path to the Osquery results log file" value="currentConfig.osquery.log_path">
</wz-config-item>
<wz-config-item
label="Path to the Osquery configuration file"
value="currentConfig.osquery.config_path">
<wz-config-item label="Path to the Osquery configuration file" value="currentConfig.osquery.config_path">
</wz-config-item>
<wz-config-item
label="Use defined labels as decorators"
value="currentConfig.osquery.add_labels">
<wz-config-item label="Use defined labels as decorators" value="currentConfig.osquery.add_labels">
</wz-config-item>
</div>
<!-- End configuration block -->
<div ng-if="currentConfig.osquery.packs && isArray(currentConfig.osquery.packs) && currentConfig.osquery.packs.length" class="wz-margin-top-10">
<div ng-if="currentConfig.osquery.packs && isArray(currentConfig.osquery.packs) && currentConfig.osquery.packs.length"
class="wz-margin-top-10">
<span class="font-size-16">Osquery packs</span>
<div class="wz-margin-top-10">
<span class="md-subheader small">A pack contains multiple queries to quickly retrieve system information</span>
<span class="md-subheader small">A pack contains multiple queries to quickly retrieve
system information</span>
</div>
</div>
<md-divider ng-if="currentConfig.osquery.packs && isArray(currentConfig.osquery.packs) && currentConfig.osquery.packs.length" class="wz-margin-top-10"></md-divider>
<md-divider ng-if="currentConfig.osquery.packs && isArray(currentConfig.osquery.packs) && currentConfig.osquery.packs.length"
class="wz-margin-top-10"></md-divider>
<!-- Configuration block -->
<div ng-if="currentConfig.osquery.packs && isArray(currentConfig.osquery.packs) && currentConfig.osquery.packs.length" class="wz-padding-top-10">
<div ng-if="currentConfig.osquery.packs && isArray(currentConfig.osquery.packs) && currentConfig.osquery.packs.length"
class="wz-padding-top-10">
<table class="table table-striped table-condensed" style="table-layout: fixed !important;">
<thead class="wz-text-bold">
@ -117,13 +104,15 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/osquery.html">Osquery module documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-osquery.html">Osquery module reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/osquery.html">Osquery
module documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-osquery.html">Osquery
module reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -131,4 +120,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -5,9 +5,10 @@
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
class="md-sidenav-right" style="width: auto !important;"
md-is-locked-open="true">
<md-list>
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/anomalies-detection/index.html">Anomaly and malware detection documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/policy-monitoring/index.html">Policy monitoring documentation</md-list-item>

View File

@ -4,7 +4,8 @@
<div layout="column" layout-padding>
<div>
<span class="font-size-18">Registration service</span>
<span ng-if="currentConfig['auth-auth'] && currentConfig['auth-auth'].auth && currentConfig['auth-auth'].auth.disabled === 'no'" class="wz-agent-status-indicator small teal">Enabled</span>
<span ng-if="currentConfig['auth-auth'] && currentConfig['auth-auth'].auth && currentConfig['auth-auth'].auth.disabled === 'no'"
class="wz-agent-status-indicator small teal">Enabled</span>
<span ng-if="currentConfig['auth-auth'] && isString(currentConfig['auth-auth'])" class="wz-agent-status-indicator small red">Disabled</span>
</div>
<span class="md-subheader">Automatic agent registration service</span>
@ -20,10 +21,7 @@
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['auth-auth']"
ng-if="currentConfig['auth-auth'] && isString(currentConfig['auth-auth']) && !currentConfig['auth-auth'].auth"></wz-no-config>
<wz-no-config flex error="currentConfig['auth-auth']" ng-if="currentConfig['auth-auth'] && isString(currentConfig['auth-auth']) && !currentConfig['auth-auth'].auth"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -49,33 +47,19 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Service status"
value="currentConfig['auth-auth'].auth.disabled === 'yes'? 'disabled' : 'enabled'">
<wz-config-item label="Service status" value="currentConfig['auth-auth'].auth.disabled === 'yes'? 'disabled' : 'enabled'">
</wz-config-item>
<wz-config-item
label="Listen to connections at port"
value="currentConfig['auth-auth'].auth.port">
<wz-config-item label="Listen to connections at port" value="currentConfig['auth-auth'].auth.port">
</wz-config-item>
<wz-config-item
label="Use client's source IP address"
value="currentConfig['auth-auth'].auth.use_source_ip">
<wz-config-item label="Use client's source IP address" value="currentConfig['auth-auth'].auth.use_source_ip">
</wz-config-item>
<wz-config-item
label="Use a password to register agents"
value="currentConfig['auth-auth'].auth.use_password">
<wz-config-item label="Use a password to register agents" value="currentConfig['auth-auth'].auth.use_password">
</wz-config-item>
<wz-config-item
label="Purge agents list when removing agents"
value="currentConfig['auth-auth'].auth.purge">
<wz-config-item label="Purge agents list when removing agents" value="currentConfig['auth-auth'].auth.purge">
</wz-config-item>
<wz-config-item
label="Limit registration to maximum number of agents"
value="currentConfig['auth-auth'].auth.limit_maxagents">
<wz-config-item label="Limit registration to maximum number of agents" value="currentConfig['auth-auth'].auth.limit_maxagents">
</wz-config-item>
<wz-config-item
label="Force registration when using an existing IP address"
value="currentConfig['auth-auth'].auth.force_insert">
<wz-config-item label="Force registration when using an existing IP address" value="currentConfig['auth-auth'].auth.force_insert">
</wz-config-item>
</div>
@ -84,7 +68,8 @@
<div class="wz-margin-top-10">
<span class="font-size-16">SSL settings</span>
<div class="wz-margin-top-10">
<span class="md-subheader small">Applied when the registration service uses SSL certificates</span>
<span class="md-subheader small">Applied when the registration service uses SSL
certificates</span>
</div>
</div>
<md-divider class="wz-margin-top-10"></md-divider>
@ -92,29 +77,17 @@
<!-- Configuration block -->
<div class="wz-padding-top-10">
<wz-config-item
label="Verify agents using a CA certificate"
value="currentConfig['auth-auth'].auth.ssl_verify_host">
<wz-config-item label="Verify agents using a CA certificate" value="currentConfig['auth-auth'].auth.ssl_verify_host">
</wz-config-item>
<wz-config-item
label="Auto-select the SSL negotiation method"
value="currentConfig['auth-auth'].auth.ssl_auto_negotiate">
<wz-config-item label="Auto-select the SSL negotiation method" value="currentConfig['auth-auth'].auth.ssl_auto_negotiate">
</wz-config-item>
<wz-config-item
label="CA certificate location"
value="currentConfig['auth-auth'].auth.ssl_agent_ca">
<wz-config-item label="CA certificate location" value="currentConfig['auth-auth'].auth.ssl_agent_ca">
</wz-config-item>
<wz-config-item
label="Server SSL certificate location"
value="currentConfig['auth-auth'].auth.ssl_manager_cert">
<wz-config-item label="Server SSL certificate location" value="currentConfig['auth-auth'].auth.ssl_manager_cert">
</wz-config-item>
<wz-config-item
label="Server SSL key location"
value="currentConfig['auth-auth'].auth.ssl_manager_key">
<wz-config-item label="Server SSL key location" value="currentConfig['auth-auth'].auth.ssl_manager_key">
</wz-config-item>
<wz-config-item
label="Use the following SSL ciphers"
value="currentConfig['auth-auth'].auth.ciphers">
<wz-config-item label="Use the following SSL ciphers" value="currentConfig['auth-auth'].auth.ciphers">
</wz-config-item>
</div>
@ -129,13 +102,15 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/registering/use-registration-service.html">How to use the registration service</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/auth.html">Registration service reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/registering/use-registration-service.html">How
to use the registration service</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/auth.html">Registration
service reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -143,4 +118,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -5,9 +5,10 @@
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
class="md-sidenav-right" style="width: auto !important;"
md-is-locked-open="true">
<md-list>
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/ruleset/index.html">Ruleset documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/ruleset.html">Ruleset reference</md-list-item>

View File

@ -5,9 +5,10 @@
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
class="md-sidenav-right" style="width: auto !important;"
md-is-locked-open="true">
<md-list>
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/capabilities/vulnerability-detection.html">Vulnerability detector documentation</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-vuln-detector.html">Vulnerability detector reference</md-list-item>

View File

@ -18,14 +18,8 @@
<div flex="auto" layout="row" ng-if="!load">
<!-- No configuration section -->
<wz-no-config
flex
error="currentConfig['wmodules-wmodules']"
ng-if="currentConfig['wmodules-wmodules'] && isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<wz-no-config
flex
error="'not-present'"
ng-if="currentConfig && !currentConfig.commands && !isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<wz-no-config flex error="currentConfig['wmodules-wmodules']" ng-if="currentConfig['wmodules-wmodules'] && isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<wz-no-config flex error="'not-present'" ng-if="currentConfig && !currentConfig.commands && !isString(currentConfig['wmodules-wmodules'])"></wz-no-config>
<!-- End no configuration section -->
<!-- This section is the main content -->
@ -65,49 +59,27 @@
<div flex layout="column">
<div flex="auto" class="wz-item-detail">
<wz-config-item
label="Command status"
value="currentConfig.commands[selectedItem].disabled === 'no' ? 'enabled' : 'disabled'">
<wz-config-item label="Command status" value="currentConfig.commands[selectedItem].disabled === 'no' ? 'enabled' : 'disabled'">
</wz-config-item>
<wz-config-item
label="Command name"
value="currentConfig.commands[selectedItem].tag">
<wz-config-item label="Command name" value="currentConfig.commands[selectedItem].tag">
</wz-config-item>
<wz-config-item
label="Command to execute"
value="currentConfig.commands[selectedItem].command">
<wz-config-item label="Command to execute" value="currentConfig.commands[selectedItem].command">
</wz-config-item>
<wz-config-item
label="Interval between executions"
value="currentConfig.commands[selectedItem].interval">
<wz-config-item label="Interval between executions" value="currentConfig.commands[selectedItem].interval">
</wz-config-item>
<wz-config-item
label="Run on start"
value="currentConfig.commands[selectedItem].run_on_start">
<wz-config-item label="Run on start" value="currentConfig.commands[selectedItem].run_on_start">
</wz-config-item>
<wz-config-item
label="Ignore command output"
value="currentConfig.commands[selectedItem].ignore_output">
<wz-config-item label="Ignore command output" value="currentConfig.commands[selectedItem].ignore_output">
</wz-config-item>
<wz-config-item
label="Timeout (in seconds) to wait for execution"
value="currentConfig.commands[selectedItem].timeout">
<wz-config-item label="Timeout (in seconds) to wait for execution" value="currentConfig.commands[selectedItem].timeout">
</wz-config-item>
<wz-config-item
label="Verify MD5 sum"
value="currentConfig.commands[selectedItem].verify_md5">
<wz-config-item label="Verify MD5 sum" value="currentConfig.commands[selectedItem].verify_md5">
</wz-config-item>
<wz-config-item
label="Verify SHA1 sum"
value="currentConfig.commands[selectedItem].verify_sha1">
<wz-config-item label="Verify SHA1 sum" value="currentConfig.commands[selectedItem].verify_sha1">
</wz-config-item>
<wz-config-item
label="Verify SHA256 sum"
value="currentConfig.commands[selectedItem].verify_sha256">
<wz-config-item label="Verify SHA256 sum" value="currentConfig.commands[selectedItem].verify_sha256">
</wz-config-item>
<wz-config-item
label="Ignore checksum verification"
value="currentConfig.commands[selectedItem].skip_verification">
<wz-config-item label="Ignore checksum verification" value="currentConfig.commands[selectedItem].skip_verification">
</wz-config-item>
</div>
@ -125,12 +97,13 @@
<!-- End main content section -->
<!-- This section is the right sidenav content -->
<md-sidenav
class="md-sidenav-right"
md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-command.html">Command module reference</md-list-item>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/wodle-command.html">Command
module reference</md-list-item>
</md-list>
</md-sidenav>
<!-- End right sidenav section -->
@ -138,4 +111,4 @@
</div>
<!-- End main content and right sidenav section -->
</div>
</div>

View File

@ -1,13 +1,15 @@
<div flex="auto" layout="column" ng-if="configurationTab === 'welcome' && !editionTab" class="" ng-class="agent && agent.id !== '000'?'wz-margin-top-8':''">
<!-- Headline -->
<div layout="column" layout-padding>
<div ng-show="agent && agent.id !== '000'">
<div layout="column" layout-padding ng-show="agent && agent.id !== '000'">
<div>
<span class="font-size-18"> <i class="fa fa-fw fa-cog" aria-hidden="true"></i> Configuration</span>
<span ng-if="isSynchronized" class="wz-agent-status-indicator small teal">SYNCHRONIZED</span>
<span ng-if="!isSynchronized" class="wz-agent-status-indicator small red">NOT SYNCHRONIZED</span>
</div>
<span class="font-size-18" ng-show="!agent || agent.id === '000'">
<i class="fa fa-fw fa-cog" aria-hidden="true"></i> Configuration</span>
</div>
<div layout="row" ng-show="!agent || agent.id === '000'" class="wz-padding-left-8">
<md-button class="wz-button" ng-click="mctrl.setConfigTab('editconfiguration', true)"><i class="fa fa-fw fa-pencil"></i>
Edit configuration</md-button>
</div>
<!-- End headline -->
@ -257,8 +259,10 @@
<!-- End configuration cards section -->
<!-- This section is the right sidenav content -->
<md-sidenav class="md-sidenav-right" md-is-locked-open="true">
<md-list>
<md-sidenav class="md-sidenav-right" style="width: auto !important;" md-is-locked-open="true">
<span class="wz-margin-right-8 wz-text-link wz-text-right wz-margin-top-8" ng-click="showHelp = !showHelp"><i
class="fa fa-fw fa-question-circle-o"></i></span>
<md-list ng-if="showHelp">
<md-subheader>More info about this section</md-subheader>
<md-list-item target="_blank" class="wz-text-link" ng-href="https://documentation.wazuh.com/current/user-manual/manager/index.html">Wazuh
administration documentation</md-list-item>

View File

@ -68,7 +68,7 @@
<div ng-show="editingFile">
<div layout="row" class="md-padding-h wz-margin-top-10">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveGroupAgentConfig()' class='btn btn-primary pull-right wz-margin-left-8'>
<button ng-disabled='xmlHasErrors' ng-click='doSaveGroupAgentConfig()' class='btn wz-button pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
@ -86,7 +86,7 @@
<div layout="row" class="md-padding" ng-if="lookingGroup && currentGroup && addingAgents">
<span ng-click='addMultipleAgents(false)' class='btn btn-info'>
Cancel</span>
<span ng-hide='moreThan500' ng-click='saveAddAgents()' class='btn btn-primary wz-margin-left-8'><i
<span ng-hide='moreThan500' ng-click='saveAddAgents()' class='btn wz-button wz-margin-left-8'><i
aria-hidden='true' class='fa fa-fw fa-save'></i>
Apply changes</span>
<span class='error-msg' ng-show='moreThan500'><i class="fa fa-exclamation-triangle"></i> It is not
@ -95,11 +95,11 @@
<div layout="row" class="md-padding wz-padding-bottom-0" ng-if="lookingGroup && currentGroup && !addingAgents && !editingFile && !file && adminMode">
<button ng-if="lookingGroup && groupsSelectedTab==='files'" ng-click='editGroupAgentConfig(currentGroup)'
class='btn btn-primary'><i aria-hidden='true' class='fa fa-fw fa-pencil'></i>
class='btn wz-button'><i aria-hidden='true' class='fa fa-fw fa-pencil'></i>
Edit group configuration
</button>
<button ng-if="lookingGroup && groupsSelectedTab==='agents'" ng-disabled="currentGroup.name === 'default'"
ng-click='addMultipleAgents(true)' class='btn btn-primary'><i aria-hidden='true' class='fa fa-fw fa-tv'></i>
ng-click='addMultipleAgents(true)' class='btn wz-button'><i aria-hidden='true' class='fa fa-fw fa-tv'></i>
Add or remove agents
</button>
</div>

View File

@ -2,11 +2,11 @@
<!-- Back button and title -->
<div layout="row" layout-align="start center">
<!-- Back button -->
<md-button class="md-icon-button" style="margin: 5px!important;" aria-label="Back to CDB Lists list"
tooltip="Back" tooltip-placement="bottom" ng-click="cdbctrl.closeDetailView(true)"><i class="fa fa-fw fa-arrow-left"
<md-button class="md-icon-button" style="margin: 5px!important;" aria-label="Back to CDB Lists list" tooltip="Back"
tooltip-placement="bottom" ng-click="cdbctrl.closeDetailView(true)"><i class="fa fa-fw fa-arrow-left"
aria-hidden="true"></i></md-button>
<!-- List title -->
<div>
<div ng-if="!cdbctrl.addingList">
<!-- <h1 class="font-size-18">{{currentList.name}}</h1> -->
<h1 class="font-size-18">{{cdbctrl.currentList.name}}</h1>
</div>
@ -15,7 +15,7 @@
<!-- List information ribbon -->
<div layout="row" class="wz-padding-left-8 wz-padding-right-8">
<div layout="row" class="wz-padding-left-8 wz-padding-right-8" ng-if="!cdbctrl.addingList">
<md-card flex class="wz-metric-color wz-md-card">
<md-card-content layout="row" class="wz-padding-metric">
<div flex="50" class="wz-text-truncatable">Name: <span class="wz-text-bold wz-text-link">{{cdbctrl.currentList.name}}</span></div>

View File

@ -1,6 +1,7 @@
<div ng-if="!cdbctrl.viewingDetail" layout="column">
<div id="content" layout="row" class="md-padding ">
<input flex placeholder="Filter lists..." ng-model="cdbctrl.custom_search" type="text" class="kuiLocalSearchInput height-40 ng-empty ng-pristine ng-scope ng-touched ng-valid" aria-invalid="false" wz-enter="cdbctrl.search(cdbctrl.custom_search)">
<input flex placeholder="Filter lists..." ng-model="cdbctrl.custom_search" type="text" class="kuiLocalSearchInput height-40 ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false" wz-enter="cdbctrl.search(cdbctrl.custom_search)">
<button type="submit" aria-label="Search" class="kuiLocalSearchButton height-40" ng-click="cdbctrl.search(cdbctrl.custom_search)">
<span class="fa fa-search" aria-hidden="true"></span>
</button>
@ -42,11 +43,16 @@
<div layout="row">
<md-card flex class="wz-md-card _md flex md-margin-h">
<md-card-content>
<wz-table implicit-filter="cdbctrl.appliedFilters" flex path="'/lists/files'" keys="['name', 'path']" allow-click="true" row-sizes="[15,13,11]">
<div layout="row">
<a ng-click="cdbctrl.addNewList()">Add new list <i aria-hidden="true" class="fa fa-plus"></i></a>
</div>
<wz-table implicit-filter="cdbctrl.appliedFilters" flex path="'/lists/files'" keys="['name', 'path']"
allow-click="true" row-sizes="[15,13,11]">
</wz-table>
<div layout="row" class="wz-margin-top-10 md-padding-h">
<span flex></span>
<a class="small" id="btnDownload" ng-click="cdbctrl.downloadCsv()">Formatted <i aria-hidden="true" class="fa fa-download"></i></a>
<a class="small" id="btnDownload" ng-click="cdbctrl.downloadCsv()">Formatted <i aria-hidden="true"
class="fa fa-download"></i></a>
</div>
</md-card-content>
</md-card>

View File

@ -1,6 +1,6 @@
<div ng-if="!loading && dctrl.viewingDetail" layout="column" class="">
<!-- Back button and title -->
<div layout="row" layout-align="start center">
<div layout="row" layout-align="start center" ng-show="!dctrl.editingFile">
<!-- Back button -->
<md-button class="md-icon-button" style="margin: 5px!important;" aria-label="Back to decoders list" tooltip="Back"
tooltip-placement="bottom" ng-click="dctrl.closeDetailView()"><i class="fa fa-fw fa-arrow-left" aria-hidden="true"></i></md-button>
@ -11,8 +11,15 @@
</div>
<!-- End back button, title and status indicator -->
<div layout="row" class="md-padding" ng-if="!dctrl.editingFile && dctrl.currentDecoder.file && dctrl.currentDecoder.path === '/var/ossec/etc/decoders' && adminMode">
<button ng-click='dctrl.editDecodersConfig(dctrl.currentDecoder)' class='btn wz-button'><i aria-hidden='true'
class='fa fa-fw fa-pencil'></i>
Edit {{ dctrl.currentDecoder.file }}
</button>
</div>
<!-- Decoder information ribbon -->
<div layout="row" class="wz-padding-left-8 wz-padding-right-8">
<div layout="row" class="wz-padding-left-8 wz-padding-right-8" ng-show="!dctrl.editingFile">
<md-card flex class="wz-metric-color wz-md-card">
<md-card-content layout="row" class="wz-padding-metric">
<div flex="20" ng-if="dctrl.currentDecoder.position || dctrl.currentDecoder.position == 0" class="wz-text-truncatable">Position:
@ -29,7 +36,7 @@
<!-- End Decoder information ribbon -->
<!-- Rest of decoder information -->
<div layout="column" layout-align="start">
<div layout="column" layout-align="start" ng-show="!dctrl.editingFile">
<div layout="row" class="wz-padding-left-8 wz-padding-right-8" layout-align="start stretch">
@ -95,15 +102,9 @@
</md-card>
<!-- End prematch section -->
</div>
<div layout="row" class="md-padding wz-padding-bottom-0" ng-if="!editingFile && dctrl.currentDecoder.file && dctrl.currentDecoder.path === '/var/ossec/etc/decoders' && adminMode">
<button ng-click='dctrl.editDecodersConfig(dctrl.currentDecoder)' class='btn btn-primary'><i aria-hidden='true'
class='fa fa-fw fa-pencil'></i>
Edit decoder file
</button>
</div>
<!-- Related decoders section -->
<div ng-show="!editingFile">
<div ng-show="!dctrl.editingFile">
<div layout="row" class="md-padding wz-padding-top-10" ng-if="dctrl.currentDecoder">
<h1 class="md-headline wz-headline"><i class="fa fa-fw fa-link" aria-hidden="true"></i> Related
decoders</h1>
@ -124,18 +125,18 @@
<!-- End rest of decoder information -->
<!-- XML editor for rules -->
<div layout="column" layout-align="start" ng-show="editingFile">
<div layout="column" layout-align="start" ng-show="dctrl.editingFile">
<div layout="row" class="wz-margin-left-16">
<span ng-click='dctrl.closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='dctrl.doSaveDecoderConfig()' class='btn btn-primary pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
<button ng-disabled='dctrl.xmlHasErrors' ng-click='dctrl.doSaveDecoderConfig()' class='btn wz-button pull-right wz-margin-left-8'>
<span ng-show='!dctrl.xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='dctrl.xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
</div>
<div class="md-padding md-padding-top-10" ng-if="fetchedXML" style="height: calc(100vh - 367px);">
<wz-xml-file-editor file-name='decoders' data="fetchedXML" target-name="currentDecoder.file" valid-fn='xmlIsValid(valid)'
close-fn='closeEditingFile(reload)'>
<div class="md-padding md-padding-top-10" ng-if="dctrl.fetchedXML" style="height: calc(100vh - 367px);">
<wz-xml-file-editor file-name='decoders' data="dctrl.fetchedXML" target-name="dctrl.currentDecoder.file"
valid-fn='dctrl.xmlIsValid(valid)' close-fn='dctrl.closeEditingFile(reload)'>
</wz-xml-file-editor>
</div>
</div>

View File

@ -1,20 +1,14 @@
<div ng-if="!loading && !dctrl.viewingDetail" layout="column">
<div id="content" layout="row" layout-align="start start" class="md-padding">
<div id="content" layout="row" layout-align="start start" class="md-padding" ng-if="!dctrl.editingFile">
<input flex placeholder="Filter decoders..." ng-model="dctrl.custom_search" type="text" class="kuiLocalSearchInput height-40 ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false" wz-enter="dctrl.search(dctrl.custom_search)">
<button type="submit" aria-label="Search" class="kuiLocalSearchButton height-40 wz-margin-right-8" ng-click="dctrl.search(dctrl.custom_search)">
<span class="fa fa-search" aria-hidden="true"></span>
</button>
<div layout="column" layout-align="center" class="height-40 wz-select-input">
<select flex class="kuiSelect wz-border-none cursor-pointer" ng-model="dctrl.typeFilter" ng-change="dctrl.onlyParents(dctrl.typeFilter)"
aria-label="Filter by type" ng-init="'All decoders'">
<option value="all">All decoders</option>
<option value="parents">Parent decoders</option>
</select>
</div>
</div>
<md-chips class="wz-chips md-padding-h wz-padding-bottom-14" readonly="true" ng-show="dctrl.appliedFilters.length">
<md-chips class="wz-chips md-padding-h wz-padding-bottom-14" readonly="true" ng-show="dctrl.appliedFilters.length"
ng-if="!dctrl.editingFile">
<md-chip class="wz-chip" ng-show="dctrl.includesFilter('file')">
<span>File: {{ dctrl.getFilter('file') }}
<i class="fa fa-fw fa-times cursor-pointer" aria-hidden="true" ng-click="dctrl.removeFilter('file')"></i>
@ -28,11 +22,21 @@
</md-chips>
<div layout="row">
<md-card flex class="wz-md-card _md flex md-margin-h">
<md-card flex class="wz-md-card _md flex md-margin-h" ng-if="!dctrl.editingFile">
<md-card-content>
<wz-table implicit-filter="dctrl.appliedFilters" flex path="'/decoders'" keys="['name',{value:'details.program_name',size:2,nosortable:true},{value:'details.order',size:2,nosortable:true},'file']"
allow-click="true" row-sizes="[15,13,11]">
<div layout="row" ng-if="!dctrl.editingFile">
<a ng-click="dctrl.addNewFile('decoders')">Add new decoder <i aria-hidden="true" class="fa fa-plus"></i></a>
<span flex></span>
<md-switch ng-model="dctrl.showingLocalDecoders" class="md-primary wz-no-top-bottom-margin">
Only custom
</md-switch>
</div>
<wz-table ng-if="!dctrl.showingLocalDecoders" implicit-filter="dctrl.appliedFilters" flex path="'/decoders'"
keys="['name',{value:'details.program_name',size:2,nosortable:true},{value:'details.order',size:2,nosortable:true},'file']"
allow-click="true" row-sizes="[16,13,11]">
</wz-table>
<wz-table ng-if="dctrl.showingLocalDecoders" flex path="'/decoders'" keys="['name',{value:'details.program_name',size:2,nosortable:true},{value:'details.order',size:2,nosortable:true},'file']"
implicit-filter="[{ name:'path',value: '/var/ossec/etc/decoders'}]" allow-click="true" row-sizes="[16,13,11]"></wz-table>
<div layout="row" class="wz-margin-top-10 md-padding-h">
<span flex></span>
<a class="small" id="btnDownload" ng-click="dctrl.downloadCsv()">Formatted <i aria-hidden="true"
@ -41,4 +45,33 @@
</md-card-content>
</md-card>
</div>
<div class="md-padding" ng-if="dctrl.editingFile && dctrl.type === 'decoders'">
<div flex layout="column">
<div layout="row" ng-if="!dctrl.newFile" class="wz-padding-bottom-14">
<span ng-click='dctrl.closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='dctrl.xmlHasErrors' ng-click='dctrl.doSaveConfig(false)' class='btn wz-button pull-right wz-margin-left-8'>
<span ng-show='!dctrl.xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save
file</span>
<span ng-show='dctrl.xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
</div>
<div layout="row" ng-if="dctrl.newFile" class="wz-padding-bottom-14">
<span ng-click='dctrl.closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='dctrl.xmlHasErrors' ng-click='dctrl.doSaveConfig(true,dctrl.newFileName)' class='btn wz-button pull-right wz-margin-left-8'>
<span ng-show='!dctrl.xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save
file</span>
<span ng-show='dctrl.xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
<input placeholder="Eg: my_local_decoder.xml" ng-model="dctrl.newFileName" type="text" class="wz-margin-left-8 kuiLocalSearchInput ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false">
</div>
<div ng-if="dctrl.fetchedXML" style="height: calc(100vh - 340px);">
<wz-xml-file-editor file-name='{{dctrl.selectedFileName}}' data="dctrl.fetchedXML" target-name="dctrl.selectedItem.file"
valid-fn='dctrl.xmlIsValid(valid)' close-fn='dctrl.closeEditingFile(reload)'>
</wz-xml-file-editor>
</div>
</div>
</div>
</div>

View File

@ -1,6 +1,6 @@
<div ng-if="!loading && viewingDetail" layout="column" class="">
<!-- Back button and title -->
<div layout="row" layout-align="start center">
<div layout="row" layout-align="start center" ng-show="!editingFile">
<!-- Back button -->
<md-button class="md-icon-button" style="margin: 5px!important;" aria-label="Back to rules list" tooltip="Back"
tooltip-placement="bottom" ng-click="closeDetailView(true)"><i class="fa fa-fw fa-arrow-left" aria-hidden="true"></i></md-button>
@ -10,10 +10,15 @@
</div>
</div>
<div layout="row" class="md-padding" ng-if="!editingFile && currentRule.file && currentRule.path === '/var/ossec/etc/rules' && adminMode">
<button ng-click='editRulesConfig(currentRule)' class='btn wz-button'><i aria-hidden='true' class='fa fa-fw fa-pencil'></i>
Edit {{ currentRule.file }}
</button>
</div>
<!-- End back button, title and status indicator -->
<!-- Rule information ribbon -->
<div layout="row" class="wz-padding-left-8 wz-padding-right-8">
<div layout="row" ng-show="!editingFile" class="wz-padding-left-8 wz-padding-right-8">
<md-card flex class="wz-metric-color wz-md-card">
<md-card-content layout="row" class="wz-padding-metric">
<div flex="15" ng-if="currentRule.id" class="wz-text-truncatable">ID: <span class="wz-text-bold">{{currentRule.id}}</span></div>
@ -33,7 +38,7 @@
<!-- End Rule information ribbon -->
<!-- Rest of rule information -->
<div layout="column" layout-align="start">
<div layout="column" layout-align="start" ng-show="!editingFile">
<div layout="row" class="wz-padding-left-8 wz-padding-right-8" layout-align="start stretch">
@ -149,11 +154,6 @@
</md-card>
<!-- End prematch section -->
</div>
<div layout="row" class="md-padding wz-padding-bottom-0" ng-if="!editingFile && currentRule.file && currentRule.path === '/var/ossec/etc/rules' && adminMode">
<button ng-click='editRulesConfig(currentRule)' class='btn btn-primary'><i aria-hidden='true' class='fa fa-fw fa-pencil'></i>
Edit rule file
</button>
</div>
<!-- Related rules section -->
<div ng-show="!editingFile">
@ -181,7 +181,7 @@
<div layout="row" class="wz-margin-left-16">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveRuleConfig()' class='btn btn-primary pull-right wz-margin-left-8'>
<button ng-disabled='xmlHasErrors' ng-click='doSaveRuleConfig()' class='btn wz-button pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>

View File

@ -1,5 +1,5 @@
<div ng-if="!loading && !viewingDetail" layout="column">
<div id="content" layout="row" class="md-padding ">
<div id="content" layout="row" class="md-padding " ng-if="!editingFile">
<input flex placeholder="Filter rules..." ng-model="custom_search" type="text" class="kuiLocalSearchInput height-40 ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false" wz-enter="search(custom_search)">
<button type="submit" aria-label="Search" class="kuiLocalSearchButton height-40" ng-click="search(custom_search)">
@ -7,7 +7,7 @@
</button>
</div>
<md-chips class="wz-chips md-padding-h wz-padding-bottom-14" readonly="true" ng-show="appliedFilters.length">
<md-chips class="wz-chips md-padding-h wz-padding-bottom-14" readonly="true" ng-show="appliedFilters.length" ng-if="!editingFile">
<md-chip class="wz-chip" ng-show="includesFilter('file')">
<span>File: {{getFilter('file')}}
<i class="fa fa-fw fa-times cursor-pointer" aria-hidden="true" ng-click="removeFilter('file')"></i>
@ -40,11 +40,20 @@
</md-chip>
</md-chips>
<div layout="row">
<div layout="row" ng-if="!editingFile">
<md-card flex class="wz-md-card _md flex md-margin-h">
<md-card-content>
<wz-table implicit-filter="appliedFilters" flex path="'/rules'" keys="['id',{value:'file',size:2},{value:'description',size:2},{value:'groups',nosortable:true,size:2},{value:'pci',nosortable:true,size:2},{value:'gdpr',nosortable:true},'level']"
allow-click="true" row-sizes="[15,13,11]">
<div layout="row" ng-if="!editingFile">
<a ng-click="addNewFile('rules')">Add new rule <i aria-hidden="true" class="fa fa-plus"></i></a>
<span flex></span>
<md-switch ng-model="showingLocalRules" ng-change="switchLocalRules()" class="md-primary wz-no-top-bottom-margin">
Only custom
</md-switch>
</div>
<wz-table flex ng-if="showingLocalRules" path="'/rules'" keys="['id',{value:'file',size:2},{value:'description',size:2},{value:'groups',nosortable:true,size:2},{value:'pci',nosortable:true,size:2},{value:'gdpr',nosortable:true},'level']"
implicit-filter="[{ name:'path',value: '/var/ossec/etc/rules'}]" allow-click="true" row-sizes="[16,13,11]"></wz-table>
<wz-table ng-if="!showingLocalRules" implicit-filter="appliedFilters" flex path="'/rules'" keys="['id',{value:'file',size:2},{value:'description',size:2},{value:'groups',nosortable:true,size:2},{value:'pci',nosortable:true,size:2},{value:'gdpr',nosortable:true},'level']"
allow-click="true" row-sizes="[16,13,11]">
</wz-table>
<div layout="row" class="wz-margin-top-10 md-padding-h">
<span flex></span>
@ -53,4 +62,33 @@
</md-card-content>
</md-card>
</div>
<div class="md-padding" ng-if="editingFile && type === 'rules'">
<div flex layout="column">
<div layout="row" ng-if="!newFile" class="wz-padding-bottom-14">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveConfig(false)' class='btn wz-button pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save
file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
</div>
<div layout="row" ng-if="newFile" class="wz-padding-bottom-14">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveConfig(true,newFileName)' class='btn wz-button pull-right wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save
file</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span>
</button>
<input placeholder="Eg: my_local_rule.xml" ng-model="newFileName" type="text" class="wz-margin-left-8 kuiLocalSearchInput ng-empty ng-pristine ng-scope ng-touched ng-valid"
aria-invalid="false">
</div>
<div ng-if="fetchedXML" style="height: calc(100vh - 340px);">
<wz-xml-file-editor file-name='{{selectedFileName}}' data="fetchedXML" target-name="selectedItem.file"
valid-fn='xmlIsValid(valid)' close-fn='closeEditingFile(reload)'>
</wz-xml-file-editor>
</div>
</div>
</div>
</div>

View File

@ -19,6 +19,17 @@
<option ng-repeat="node in ctrl.nodes" value="{{node.name}}">{{node.name}}</option>
</select>
</div>
<div flex></div>
<div layout="column" class="height-40 wz-no-padding">
<button ng-if="mctrl.clusterInfo.status === 'enabled'" class="btn wz-button height-40" ng-disabled="mctrl.isRestarting"
ng-click="mctrl.restartCluster()"><i class="fa fa-refresh"></i>
Restart cluster
</button>
<button ng-if="mctrl.clusterInfo.status !== 'enabled'" class="btn wz-button height-40" ng-disabled="mctrl.isRestarting"
ng-click="mctrl.restartManager()"><i class="fa fa-refresh"></i>
Restart manager
</button>
</div>
</div>
<!-- End headline -->

View File

@ -15,21 +15,13 @@
<h3 class="euiTitle wzEuiTitle">Administration</h3>
<div class="euiSpacer euiSpacer--m"></div>
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
<wz-welcome-card
class="euiFlexItem" logo="'icons/ruleset.png'" title="'Ruleset'"
switch-tab="mctrl.switchTab('ruleset', true)" current-tab="'rules'"
description="'Explore your Wazuh cluster ruleset.'"
></wz-welcome-card>
<wz-welcome-card
class="euiFlexItem" logo="'icons/groups.png'"
title="'Groups'" switch-tab="mctrl.switchTab('groups', true)" current-tab="'groups'"
description="'Check your agent groups.'"
></wz-welcome-card>
<wz-welcome-card
class="euiFlexItem" logo="'icons/app_devtools.svg'"
title="'Configuration'" switch-tab="mctrl.switchTab('configuration', true)" current-tab="'configuration'"
description="'Check your Wazuh cluster configuration.'"
></wz-welcome-card>
<wz-welcome-card class="euiFlexItem" logo="'icons/ruleset.png'" title="'Ruleset'" switch-tab="mctrl.switchTab('ruleset', true)"
current-tab="'rules'" description="'Explore your Wazuh cluster ruleset.'"></wz-welcome-card>
<wz-welcome-card class="euiFlexItem" logo="'icons/groups.png'" title="'Groups'" switch-tab="mctrl.switchTab('groups', true)"
current-tab="'groups'" description="'Check your agent groups.'"></wz-welcome-card>
<wz-welcome-card class="euiFlexItem" logo="'icons/app_devtools.svg'" title="'Configuration'"
switch-tab="mctrl.switchTab('configuration', true)" current-tab="'configuration'"
description="'Check your Wazuh cluster configuration.'"></wz-welcome-card>
</div>
</div>
</div>
@ -38,29 +30,17 @@
<h3 class="euiTitle wzEuiTitle">Status and reports</h3>
<div class="euiSpacer euiSpacer--m"></div>
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
<wz-welcome-card
class="euiFlexItem" logo="'icons/app_monitoring.svg'" title="'Status'"
switch-tab="mctrl.switchTab('status', true)" current-tab="'status'"
description="'Check your Wazuh cluster status.'"
></wz-welcome-card>
<wz-welcome-card
class="euiFlexItem" logo="'icons/app_logging.svg'" title="'Logs'"
switch-tab="mctrl.switchTab('logs', true)" current-tab="'logs'"
description="'Logs from your Wazuh cluster.'"
></wz-welcome-card>
<wz-welcome-card
class="euiFlexItem" logo="'icons/app_index_pattern.svg'" title="'Cluster'"
switch-tab="mctrl.switchTab('monitoring', true)" current-tab="'monitoring'"
description="'Visualize your Wazuh cluster.'"
></wz-welcome-card>
<wz-welcome-card
class="euiFlexItem" logo="'icons/reporting.png'" title="'Reporting'"
switch-tab="mctrl.switchTab('reporting', true)" current-tab="'reporting'"
description="'Check your stored Wazuh reports.'"
></wz-welcome-card>
<wz-welcome-card class="euiFlexItem" logo="'icons/app_monitoring.svg'" title="'Status'"
switch-tab="mctrl.switchTab('status', true)" current-tab="'status'" description="'Check your Wazuh cluster status.'"></wz-welcome-card>
<wz-welcome-card class="euiFlexItem" logo="'icons/app_logging.svg'" title="'Logs'" switch-tab="mctrl.switchTab('logs', true)"
current-tab="'logs'" description="'Logs from your Wazuh cluster.'"></wz-welcome-card>
<wz-welcome-card class="euiFlexItem" logo="'icons/app_index_pattern.svg'" title="'Cluster'"
switch-tab="mctrl.switchTab('monitoring', true)" current-tab="'monitoring'" description="'Visualize your Wazuh cluster.'"></wz-welcome-card>
<wz-welcome-card class="euiFlexItem" logo="'icons/reporting.png'" title="'Reporting'"
switch-tab="mctrl.switchTab('reporting', true)" current-tab="'reporting'" description="'Check your stored Wazuh reports.'"></wz-welcome-card>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -76,6 +76,22 @@ export const apiRequestList = [
name: '/agents/restart',
args: []
},
{
name: '/cluster/:node_id/restart',
args: [
{
name: ':node_id'
}
]
},
{
name: '/cluster/restart',
args: []
},
{
name: '/manager/restart',
args: []
},
{
name: '/rootcheck',
args: []
@ -136,6 +152,14 @@ export const apiRequestList = [
}
]
},
{
name: '/agents/group/:group_id',
args: [
{
name: ':group_id'
}
]
},
{
name: '/agents/groups',
args: []
@ -322,6 +346,22 @@ export const apiRequestList = [
}
]
},
{
name: '/cluster/:node_id/configuration/validation',
args: [
{
name: ':node_id'
}
]
},
{
name: '/cluster/:node_id/files',
args: [
{
name: ':node_id'
}
]
},
{
name: '/cluster/:node_id/info',
args: [
@ -354,6 +394,14 @@ export const apiRequestList = [
}
]
},
{
name: '/cluster/:node_id/stats/analysisd',
args: [
{
name: ':node_id'
}
]
},
{
name: '/cluster/:node_id/stats/hourly',
args: [
@ -362,6 +410,14 @@ export const apiRequestList = [
}
]
},
{
name: '/cluster/:node_id/stats/remoted',
args: [
{
name: ':node_id'
}
]
},
{
name: '/cluster/:node_id/stats/weekly',
args: [
@ -382,6 +438,10 @@ export const apiRequestList = [
name: '/cluster/config',
args: []
},
{
name: '/cluster/configuration/validation',
args: []
},
{
name: '/cluster/healthcheck',
args: []
@ -406,6 +466,29 @@ export const apiRequestList = [
name: '/cluster/status',
args: []
},
{
name: '/manager/stats/remoted',
args: []
},
{
name: '/configuration_assessment/:agent_id',
args: [
{
name: ':agent_id'
}
]
},
{
name: '/configuration_assessment/:agent_id/checks/:policy_id',
args: [
{
name: ':agent_id'
},
{
name: ':policy_id'
}
]
},
{
name: '/decoders',
args: []
@ -426,10 +509,26 @@ export const apiRequestList = [
name: '/decoders/parents',
args: []
},
{
name: '/lists',
args: []
},
{
name: '/lists/files',
args: []
},
{
name: '/manager/configuration',
args: []
},
{
name: '/manager/configuration/validation',
args: []
},
{
name: '/manager/files',
args: []
},
{
name: '/manager/info',
args: []
@ -615,6 +714,33 @@ export const apiRequestList = [
name: '/agents',
args: []
},
{
name: '/agents/group/:group_id',
args: [
{
name: ':group_id'
}
]
},
{
name: '/agents/groups/:group_id/configuration',
args: [
{
name: ':group_id'
}
]
},
{
name: '/agents/groups/:group_id/files/:file_name',
args: [
{
name: ':group_id'
},
{
name: ':file_name'
}
]
},
{
name: '/agents/insert',
args: []
@ -622,6 +748,18 @@ export const apiRequestList = [
{
name: '/agents/restart',
args: []
},
{
name: '/cluster/:node_id/files',
args: [
{
name: ':node_id'
}
]
},
{
name: '/manager/files',
args: []
}
]
}