User Guide Functional Overview Requirements Architecture System Installation NetEye Additional Components Installation Setup The neteye Command Director NetEye Self Monitoring Tornado Business Service Monitoring IT Operation Analytics - Telemetry Geo Maps NagVis Audit Log Shutdown Manager Reporting ntopng Visual Monitoring with Alyvix Elastic Stack IT Operations (Command Orchestrator) Asset Management Service Level Management Cyber Threat Intelligence - SATAYO NetEye Update & Upgrade How To NetEye Extension Packs Troubleshooting Security Policy Glossary
module icon Setup
Cluster Satellite Security Identity and Access Management External Identity Providers Configure federated LDAP/AD Emergency Reset of Keycloak Configuration Advanced Configuration Authorization Resources Tuning Advanced Topics
Functional Overview Requirements Architecture System Installation NetEye Additional Components Installation Setup The neteye Command Introduction to NetEye Monitoring Business Service Monitoring IT Operation Analytics Visualization Network Visibility Log Management & Security Orchestrated Datacenter Shutdown Application Performance Monitoring User Experience Service Management Service Level Management & Reporting Requirements for a Node Cluster Requirements and Best Practices NetEye Satellite Requirements TCP and UDP Ports Requirements Additional Software Installation Introduction Single Node Cluster NetEye Master Master-Satellite Architecture Underlying Operating System Acquiring NetEye ISO Image Installing ISO Image Single Nodes and Satellites Cluster Nodes Configuration of Tenants Satellite Nodes Only Nodes behind a Proxy Additional NetEye Components Single Node Cluster Node Satellites Nodes only Verify if a module is running correctly Accessing the New Module Cluster Satellite Security Identity and Access Management External Identity Providers Configure federated LDAP/AD Emergency Reset of Keycloak Configuration Advanced Configuration Authorization Resources Tuning Advanced Topics Basic Concepts & Usage Advanced Topics Monitoring Environment Templates Monitored Objects Import Monitored Objects Data Fields Deployment Icinga 2 Agents Configuration Baskets Dashboard Monitoring Status VMD Permissions Notifications Jobs API Configuring Icinga Monitoring Retention Policy NetEye Self Monitoring 3b Concepts Collecting Events Add a Filter Node WHERE Conditions Iterating over Event fields Retrieving Payload of an Event Extract Variables Create a Rule Tornado Actions Test your Configuration Export and Import Configuration Example Under the hood Development Retry Strategy Configuration Thread Pool Configuration API Reference Configure a new Business Process Create your first Business Process Node Importing Processes Operators The ITOA Module Configuring User Permissions Telegraf Metrics in NetEye Telegraf Configuration Telegraf on Monitored Hosts Visualizing Dashboards Customizing Performance Graph The NetEye Geo Map Visualizer Map Viewer Configuring Geo Maps NagVis 3b Audit Log 3b Overview Shutdown Manager user Shutdown Manager GUI Shutdown Commands Advanced Topics Overview User Role Management Cube Use Cases ntopng and NetEye Integration Permissions Retention Advanced Topics Overview User Roles Nodes Test Cases Dashboard Use Cases Overview Architecture Authorization Elasticsearch Overview Enabling El Proxy Sending custom logs to El Proxy Configuration files Commands Elasticsearch Templates and Retentions El Proxy DLQ Blockchain Verification Handling Blockchain Corruptions El Proxy Metrics El Proxy Security El Proxy REST Endpoints Agents Logstash Elastic APM Elastic RUM Log Manager - Deprecated Overview Authorization in the Command Orchestrator Module Configuring CLI Commands Executing Commands Overview Permissions Installation Single Tenancy Multitenancy Communication through a Satellite Asset collection methods Display asset information in monitoring host page Overview Customers Availability Event Adjustment Outages Resource Advanced Topics Introduction Getting Started SATAYO Items Settings Managed Service Mitre Attack Coverage Changelog Before you start Update Procedure Single Node Upgrade from 4.41 to 4.42 Cluster Upgrade from 4.41 to 4.42 Satellite Upgrade from 4.41 to 4.42 DPO machine Upgrade from 4.41 to 4.42 Create a mirror of the RPM repository Sprint Releases Feature Troubleshooting Tornado Networking Service Management - Incident Response IT Operation Analytics - Telemetry Identity Provider (IdP) Configuration Introduction to NEP Getting Started with NEPs Online Resources Obtaining NEP Insights Available Packages Advanced Topics Upgrade to NetEye 4.31 Setup Configure swappiness Restarting Stopped Services Enable stack traces in web UI How to access standard logs Director does not deploy when services assigned to a host have the same name How to enable/disable debug logging Activate Debug Logging for Tornado Modules/Services do not start Sync Rule fails when trying to recreate Icinga object How to disable InfluxDB query logging Managing an Elasticsearch Cluster with a Full Disk Some logs are not indexed in Elasticsearch Elasticsearch is not functioning properly Reporting: Error when opening a report Debugging Logstash file input filter Bugfix Policy Reporting Vulnerabilities Glossary 3b

Identity and Access Management

User authentication is managed by Keycloak that is the component responsible for the identity and access management. It provides user federation, strong authentication, user management, fine-grained authorization, and many other features.

Here’s a diagram of the authentication flow in NetEye:

../../../_images/keycloak-flow-architecture.svg
  1. The login to NetEye goes through the login site of Keycloak. It will match your username to the right identity provider backend. If the username does not match any known IdP, it will lookup the user in the local users and on the federated systems.

  2. If your username matches a known authentication provider, you will be redirected to their site for login.

  3. Once the login succeeded, the external identity provider will redirect you to Keycloak with a authentication token, that will then in Keycloak be exchanged for a Keycloak Oauth token.

  4. This Oauth token will then be used by the icingaweb2 Oauth backend to create the icingweb2 session.

  5. The user in icingaweb2 will then be mapped to the correct roles, assigning your user the permissions and restrictions.

  6. Finally you are logged in and have access to the functionalities of NetEye configured for you.

If you need a reverse proxy in front of NetEye, please refer to this how-to: How to setup a reverse proxy

Authentication Admin Console

All the authentication settings can be managed from the Keycloak admin console that can be accessed from the NetEye web interface by clicking on the Configuration > Authentication menu item.

Note

By default only the root user has access to the Keycloak admin console. The password for the root user is saved in the file /root/.pwd_icingaweb2_root unless it has been previously changed.

Warning

DO NOT DELETE OR EDIT the user neteye-internal-keycloak-admin. It is used by NetEye itself to manage the Keycloak configuration.

To give access to the authentication admin console to another user refer to the dedicated section: realm roles.

Create a local user

Users can either be managed locally or be read from an external source like LDAP. Local users are often used to manage NetEye service accounts, e.g. for agents to login over the SSO, clients for automation that need restricted access to a small part of NetEye or any accounts that don’t need to be managed by external or federated identity providers.

Note

The root user is a local user whose privileges are escalated to the admin role.

Use the following procedure to create a local user:

  • Access the authentication admin console Configuration > Authentication

  • Click on Users > Add user

  • Fill at least the Username field

  • Click on Create

  • Set password for the user in Credentials tab

Now the user can be assigned to a group at Groups tab and be granted necessary permissions at Role Mappings tab.

Create a local group

Similar to the users, the groups can be read from an external source like LDAP or be created locally. As with the users, local groups can be used to manage privileges specific to users in NetEye without accessing the external or federated indentity providers.

To create a local group

  • Access the authentication admin console Configuration > Authentication

  • Click on Groups > Add group

  • Fill the Name field

  • Click on Create

Now one or multiple users can be assigned to the group at Members tab and obtain required permissions at Role Mappings tab.

Realm roles

For any neteye user to be able to manage other users and other authentication related configuration, they need to be assigned the right Realm roles inside of Keycloak. This also holds for all users that have administator level access in the rest of NetEye.

On a new installation, there are two users preconfigured with the necessary permissions: The root user is the administator of all of NetEye and therefore has all privileges, also inside of Keycloak. The user neteye-internal-keycloak-admin instead is a user that has only permissions inside of Keycloak, but no other access to other NetEye components. We do not recommend to use this account for user management, but use a dedicated account for that.

While the before mentioned users both have administrative access, Keycloak also allows for more finegrained access controll to the user configuration over the Realm roles. Some of the most commonly use Roles are:

  • admin - This role has full access to the authentication admin console like the root user

  • view-users - It allows to view the users and groups in the realm

  • manage-users - It allows to manage the users and groups in the realm

For a complete list of the Realm roles refer to the Keycloak documentation.