mirror of
https://github.com/valitydev/wazuh-kibana-app.git
synced 2024-11-06 18:05:20 +00:00
Merge branch '3.9-6.6' into issue-1162
This commit is contained in:
commit
42d9f6a122
@ -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
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
});
|
||||
|
@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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');
|
||||
|
@ -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>
|
||||
|
@ -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('.');
|
||||
|
@ -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
|
||||
|
@ -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 |
4
public/img/icon_filled.svg
Normal file
4
public/img/icon_filled.svg
Normal 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 |
@ -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;
|
||||
|
@ -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>
|
||||
|
@ -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 }} </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 }} </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>
|
||||
|
@ -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>
|
@ -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 -->
|
@ -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 -->
|
@ -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 -->
|
@ -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>
|
@ -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 -->
|
@ -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 -->
|
@ -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 -->
|
@ -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 -->
|
@ -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 -->
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
@ -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>
|
@ -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)">
|
@ -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
|
||||
|
@ -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>
|
@ -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>
|
||||
|
@ -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 -->
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
@ -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 -->
|
@ -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 -->
|
@ -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>
|
||||
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
@ -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 -->
|
||||
|
||||
|
@ -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>
|
@ -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: []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user