mirror of
https://github.com/valitydev/wazuh-kibana-app.git
synced 2024-11-07 10:18:57 +00:00
210 lines
14 KiB
HTML
210 lines
14 KiB
HTML
<div layout="column" class="" layout-align="start stretch" ng-if="tab === 'welcome'" ng-show="!load && !agent">
|
|
<div layout="row" class="layout-padding">
|
|
<md-card flex class="wz-md-card" flex>
|
|
<md-card-content class="wz-text-center">
|
|
<div layout="row" layout-padding>
|
|
<i class="fa fa-fw fa-info-circle" aria-hidden="true"></i> <span class="wz-headline-title">Could
|
|
not fetch data for this agent. <span ng-if="emptyAgent">Reason: {{emptyAgent}}</span></span>
|
|
</div>
|
|
<div layout="row" layout-padding ng-if="emptyAgent">
|
|
<span class="wz-text-link" ng-click="getAgent()"><i class="fa fa-fw fa-refresh" aria-hidden="true"></i>
|
|
Try again</span>
|
|
</div>
|
|
</md-card-content>
|
|
</md-card>
|
|
</div>
|
|
</div>
|
|
<div layout="column" class="" layout-align="start stretch" ng-if="tab === 'welcome'" ng-show="!load && agent">
|
|
|
|
<!-- Headline -->
|
|
<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" 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="25">Name</span>
|
|
<span class="wz-text-right color-grey">{{ agent.name || '-' }}</span>
|
|
</div>
|
|
<div layout="row" class="wz-padding-top-10">
|
|
<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="25">Version</span>
|
|
<span class="wz-text-right color-grey">{{ agent.version || '-'}}</span>
|
|
</div>
|
|
<div layout="row" class="wz-padding-top-10">
|
|
<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" 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()">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>
|
|
|
|
</div>
|
|
</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 layout="row">
|
|
|
|
<span flex>Last keep alive
|
|
<span class="color-grey">{{agent.lastKeepAlive || '-' }}</span>
|
|
</span>
|
|
<span flex>Registration date
|
|
<span class="color-grey">{{agent.dateAdd || '-'}}</span>
|
|
</span>
|
|
<span flex>Last syscheck scan
|
|
<span class="color-grey" ng-if="agent.syscheck.inProgress">Scan in progress</span>
|
|
<span class="color-grey" ng-if="!agent.syscheck.inProgress">{{agent.syscheck.end
|
|
|| '-'}} <md-tooltip ng-if="!agent.syscheck.inProgress && agent.syscheck.start && agent.syscheck.end"
|
|
md-direction="bottom" class="wz-tooltip">
|
|
Start time: {{ agent.syscheck.start || '-'}} <br>
|
|
End time: {{ agent.syscheck.end || '-'}} <br>
|
|
Duration time: {{ agent.syscheck.duration +' minutes' || '-'}}
|
|
</md-tooltip></span>
|
|
</span>
|
|
|
|
<span flex>Last rootcheck scan
|
|
<span class="color-grey" ng-if="agent.rootcheck.inProgress">Scan in progress</span>
|
|
<span class="color-grey" ng-if="!agent.rootcheck.inProgress">{{agent.rootcheck.end
|
|
|| '-'}}
|
|
<md-tooltip ng-if="!agent.rootcheck.inProgress && agent.rootcheck.start && agent.rootcheck.end"
|
|
md-direction="bottom" class="wz-tooltip">
|
|
Start time: {{ agent.rootcheck.start || '-'}} <br>
|
|
End time: {{ agent.rootcheck.end || '-'}} <br>
|
|
Duration time: {{ agent.rootcheck.duration +' minutes' || '-'}}
|
|
</md-tooltip></span>
|
|
</span>
|
|
</md-card-content>
|
|
</md-card>
|
|
</div>
|
|
|
|
<div layout="row" layout-padding>
|
|
<div class="euiFlexGroup euiFlexGroup--gutterLarge euiFlexGroup--responsive">
|
|
<div class="euiFlexItem">
|
|
<div class="euiPanel euiPanel--paddingLarge">
|
|
<h3 class="euiTitle wzEuiTitle">Security Information Management</h3>
|
|
<div class="euiSpacer euiSpacer--m"></div>
|
|
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
|
<wz-welcome-card class="euiFlexItem" logo="'icons/app_dashboard.svg'" title="'Security events'"
|
|
switch-tab="switchTab('general')" current-tab="'general'" description="TabDescription.general.description"></wz-welcome-card>
|
|
<wz-welcome-card class="euiFlexItem" logo="'icons/app_logging.svg'" title="'Integrity monitoring'"
|
|
switch-tab="switchTab('fim')" current-tab="'fim'" description="TabDescription.fim.description"></wz-welcome-card>
|
|
<wz-welcome-card class="euiFlexItem" logo="'icons/app_devtools.svg'" title="'Configuration'"
|
|
switch-tab="switchTab('configuration')" current-tab="'configuration'" description="TabDescription.configuration.description"></wz-welcome-card>
|
|
<wz-welcome-card class="euiFlexItem" logo="'icons/app_index_pattern.svg'" title="'Inventory data'"
|
|
switch-tab="switchTab('syscollector')" current-tab="'syscollector'" description="TabDescription.syscollector.description"></wz-welcome-card>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="euiFlexItem">
|
|
<div class="euiPanel euiPanel--paddingLarge">
|
|
<h3 class="euiTitle wzEuiTitle">Auditing and Policy Monitoring</h3>
|
|
<div class="euiSpacer euiSpacer--m"></div>
|
|
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
|
<wz-welcome-card class="euiFlexItem" logo="'icons/app_advanced_settings.svg'" title="'Policy monitoring'"
|
|
switch-tab="switchTab('pm')" current-tab="'pm'" description="TabDescription.pm.description"></wz-welcome-card>
|
|
<wz-welcome-card ng-if="extensions.audit && agent.isLinuxOS" class="euiFlexItem" logo="'icons/app_monitoring.svg'"
|
|
title="'System auditing'" switch-tab="switchTab('audit')" current-tab="'audit'" description="TabDescription.audit.description"></wz-welcome-card>
|
|
<wz-welcome-card ng-if="extensions.oscap && agent.isLinuxOS" class="euiFlexItem" logo="'icons/app_discover.svg'"
|
|
title="'OpenSCAP'" switch-tab="switchTab('oscap')" current-tab="'oscap'" description="TabDescription.oscap.description"></wz-welcome-card>
|
|
<wz-welcome-card ng-if="extensions.ciscat" class="euiFlexItem" logo="'icons/app_management.svg'"
|
|
title="'CIS-CAT'" switch-tab="switchTab('ciscat')" current-tab="'ciscat'" description="TabDescription.ciscat.description"></wz-welcome-card>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div layout="row" layout-padding>
|
|
<div class="euiFlexGroup euiFlexGroup--gutterLarge euiFlexGroup--responsive">
|
|
<div class="euiFlexItem">
|
|
<div class="euiFlexItem">
|
|
<div class="euiPanel euiPanel--paddingLarge">
|
|
<h3 class="euiTitle wzEuiTitle">Threat Detection and Response</h3>
|
|
<div class="euiSpacer euiSpacer--m"></div>
|
|
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
|
<wz-welcome-card class="euiFlexItem" logo="'icons/app_security.svg'" title="'Vulnerabilities'"
|
|
switch-tab="switchTab('vuls')" current-tab="'vuls'" description="TabDescription.vuls.description"></wz-welcome-card>
|
|
<wz-welcome-card ng-if="extensions.virustotal" class="euiFlexItem" logo="'icons/app_saved_objects.svg'"
|
|
title="'VirusTotal'" switch-tab="switchTab('virustotal')" current-tab="'virustotal'"
|
|
description="TabDescription.virustotal.description"></wz-welcome-card>
|
|
<wz-welcome-card ng-if="extensions.osquery" class="euiFlexItem" logo="'icons/osquery.svg'"
|
|
title="'Osquery'" switch-tab="switchTab('osquery')" current-tab="'osquery'" description="TabDescription.osquery.description"></wz-welcome-card>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="euiFlexItem" ng-if="extensions && (extensions.pci || extensions.gdpr)">
|
|
<div class="euiPanel euiPanel--paddingLarge">
|
|
<h3 class="euiTitle wzEuiTitle">Regulatory Compliance</h3>
|
|
<div class="euiSpacer euiSpacer--m"></div>
|
|
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
|
<wz-welcome-card ng-if="extensions.pci" class="euiFlexItem" logo="'icons/app_apm.svg'" title="'PCI DSS'"
|
|
switch-tab="switchTab('pci')" current-tab="'pci'" description="TabDescription.pci.description"></wz-welcome-card>
|
|
<wz-welcome-card ng-if="extensions.gdpr" class="euiFlexItem" logo="'icons/app_visualize.svg'"
|
|
title="'GDPR'" switch-tab="switchTab('gdpr')" current-tab="'gdpr'" description="TabDescription.gdpr.description"></wz-welcome-card>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |