RHEL/Alma/Rocky
Deployment Guide
This guide covers deploying Runtime Sensor on RPM-based distributions including RedHat Enterprise Linux (RHEL), AlmaLinux, and Rocky Linux using the official Endura package repository.
Prerequisites
Before starting, ensure you have:
- RedHat Enterprise Linux 9/10, AlmaLinux 9/10, or Rocky Linux 9/10
- Root or sudo access for package installation
- curl command available for repository installation
- systemd for service management
- Active internet connection for package downloads
- At least 512MB of available RAM
- 1GB of available disk space
Installation
Step 1: Install Endura Repository and Sensor Package
Install the Endura repository and sensor package with a single command:
curl -sSf https://repo.endurasecurity.com/install/endura-sensor/testing.sh | sudo -E shThis command will:
- Add the Endura package repository to your system
- Install the GPG key for package verification
- Install the
endura-sensorpackage - Install systemd service files
Package authenticity: The installation script configures Endura’s package repository for signature verification and imports the Endura GPG public key. Your package manager (dnf) cryptographically verifies the signature of the endura-sensor package on every install and update, so unsigned or tampered packages are rejected. Leave the repository definition and GPG key in place so future updates remain verified.
Step 2: Verify Installation
Verify that the Runtime Sensor is installed correctly:
endura versionYou should see output showing the installed version of the Runtime Sensor.
Step 3: Check Service Status
Check that the systemd service is installed but not yet running:
sudo systemctl status endura-sensorThe service should be installed but inactive (stopped) by default.
Configuration
Step 1: Configure Team Server Connection
In order for the Runtime Sensor to report data to a centralized Team Server instance, edit the environment configuration file:
sudo nano /opt/endura/sensor/environAdd or modify the following environment variables in this file:
# Required for Team Server integration
ENDURA_LICENSE_KEY=your_license_key_from_endura_security
ENDURA_TEAM_SERVER=https://your-team-server.company.com
ENDURA_SENSOR_TOKEN=your_sensor_token_from_team_server
# Optional configuration variables
ENDURA_BATCHER_AUTOFLUSH=false
ENDURA_EXIT_ZERO=false
ENDURA_HTTP_TIMEOUT=5
ENDURA_JOB_TIMEOUT=2h
ENDURA_LOG_FILE=/var/log/endura/sensor.log
ENDURA_LOG_LEVEL=info
ENDURA_SENSOR_KILL_TASK=true
ENDURA_TLS_VERIFY=trueYou can obtain the value for ENDURA_SENSOR_TOKEN as follows:
- Browse to your Team Server instance and login.
- Select Sensors in the main navigation on the left-hand side.
- Click the Create button in the upper-left hand corner.
- Provide a name and description for the sensor and click Save.
- The provided Access Token serves as your
ENDURA_SENSOR_TOKEN.
Configuration Variables
For the complete list of supported environment variables, their defaults, and descriptions, see the Runtime Sensor Configuration reference.
Step 2: Start and Enable the Service
Start the Runtime Sensor service and enable it to start automatically at boot:
# Start the service
sudo systemctl start endura-sensor
# Enable automatic startup at boot
sudo systemctl enable endura-sensor
# Verify the service is running
sudo systemctl status endura-sensorStep 3: Verify Service Operation
Check that the sensor is operating correctly:
# Check service status
sudo systemctl is-active endura-sensor
# View recent logs
sudo journalctl -u endura-sensor -n 20
# Follow live logs
sudo journalctl -u endura-sensor -fStep 4: Verify License
Verify your license key is valid and view license details:
# Verify the license key
endura license verify
# View license details
endura license infoThe sensor logs a warning when the license is within 90 days of expiration.
Step 5: Verify Team Server Connection (Optional)
If you configured Team Server integration, verify the connection is working:
- Browse to your Team Server instance and login.
- Select Sensors in the main navigation on the left-hand side.
- Search for your recently created Sensor and verify the Status column shows “Active”.
- Select Deployments in the main navigation on the left-hand side.
- Verify a new Deployment appears whose name reflects the hostname of this host.
Service Management
Viewing Logs
View service logs using journalctl:
# View all logs for the service
sudo journalctl -u endura-sensor
# View recent logs (last 50 lines)
sudo journalctl -u endura-sensor -n 50
# Follow live logs
sudo journalctl -u endura-sensor -f
# View logs since a specific time
sudo journalctl -u endura-sensor --since "2024-01-01 00:00:00"
# View logs with timestamps
sudo journalctl -u endura-sensor -o short-isoService Control Commands
# Start the service
sudo systemctl start endura-sensor
# Stop the service
sudo systemctl stop endura-sensor
# Restart the service
sudo systemctl restart endura-sensor
# Reload configuration (if supported)
sudo systemctl reload endura-sensor
# Check service status
sudo systemctl status endura-sensor
# Enable automatic startup
sudo systemctl enable endura-sensor
# Disable automatic startup
sudo systemctl disable endura-sensor
# Check if service is enabled
sudo systemctl is-enabled endura-sensorUpdating the Sensor
Update via DNF
Update the Runtime Sensor to the latest version:
# Update the sensor package
sudo dnf upgrade -y endura-sensor
# Verify the new version
endura versionThe upgrade restarts the sensor for you. The package stops the sensor before replacing its files and starts it again afterward — but only if it was running when the upgrade began. There is no need to restart it manually. If the sensor was stopped beforehand, it stays stopped so you can review any configuration changes first; start it with
sudo systemctl start endura-sensorwhen you’re ready.
Verify Update
After updating, verify the sensor is running correctly:
# Check service status
sudo systemctl status endura-sensor
# Check logs for any issues
sudo journalctl -u endura-sensor -n 20
# Verify the new version
endura versionSecurity Considerations
File Permissions
The sensor runs with appropriate security permissions:
# Check service file permissions
ls -la /etc/systemd/system/endura-sensor.service
# Check configuration file permissions
ls -la /opt/endura/sensor/environ
# Ensure configuration files have restricted permissions
sudo chmod 600 /opt/endura/sensor/environ
sudo chown root:root /opt/endura/sensor/environFirewall Configuration
If using a firewall, ensure the sensor can communicate with Team Server:
# For firewalld (RHEL/Rocky/Alma default)
sudo firewall-cmd --permanent --add-rich-rule="rule family=ipv4 destination address=your-team-server-ip port=443 protocol=tcp accept"
sudo firewall-cmd --reload
# Or allow HTTPS traffic generally
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reloadSELinux Considerations
If SELinux is enabled (default on RHEL-based systems), the sensor package includes appropriate SELinux policies. If you encounter SELinux denials:
# Check for SELinux denials
sudo ausearch -m avc -ts recent | grep endura
# If issues persist, check SELinux status
sudo sestatus
# View SELinux context of sensor files
ls -laZ /opt/endura/sensor/Downgrading the Sensor
To downgrade the Runtime Sensor to a specific version:
# Stop the running sensor
sudo systemctl stop endura-sensor
# Downgrade to a specific version (replace <VERSION> with the desired version, e.g. 0.33.4)
sudo dnf downgrade -y https://repo.endurasecurity.com/testing/endura-sensor/rpm/endura-sensor-<VERSION>-1.x86_64.rpm
# Verify the installed version
endura version
# Restart the sensor
sudo systemctl start endura-sensorUninstalling the Sensor
Remove the Package
To completely remove the Runtime Sensor:
# Stop the service
sudo systemctl stop endura-sensor
sudo systemctl disable endura-sensor
# Remove the package
sudo dnf remove -y endura-sensor
# Remove logs if desired
sudo rm -rf /var/log/endura/Remove Repository (Optional)
To remove the Endura repository from your system:
# Remove repository configuration
sudo rm -f /etc/yum.repos.d/endura*.repo
# Remove GPG key
sudo rpm -e gpg-pubkey-$(rpm -qa gpg-pubkey* | grep -i endura | head -1 | cut -d'-' -f3-4)
# Clean package cache
sudo dnf clean allTroubleshooting
Common Issues
Service fails to start:
# Check detailed service status
sudo systemctl status endura-sensor -l
# Check configuration syntax
sudo /usr/bin/endura --help
# Verify configuration file exists and is readable
sudo ls -la /opt/endura/sensor/environ
# Check for permission issues
sudo journalctl -u endura-sensor | grep -i permissionCannot connect to Team Server:
# Test network connectivity
curl -v https://your-team-server.company.com/_health
# Check DNS resolution
nslookup your-team-server.company.com
# Verify firewall rules
sudo firewall-cmd --list-all
# Check TLS certificate issues
openssl s_client -connect your-team-server.company.com:443High resource usage:
# Monitor resource usage
top -p $(pgrep endura-sensor)
# Check memory usage
ps aux | grep endura-sensor
# View detailed system usage
sudo systemd-cgtopConfiguration issues:
# Validate environment file syntax
sudo cat /opt/endura/sensor/environ
# Test configuration
sudo -u endura /usr/bin/endura version
# Check file permissions
sudo ls -la /opt/endura/sensor/Log Analysis
# Search for error messages
sudo journalctl -u endura-sensor | grep -i error
# Search for connection issues
sudo journalctl -u endura-sensor | grep -i "connection\|timeout\|refused"
# Check startup messages
sudo journalctl -u endura-sensor --since "$(date -d '1 hour ago')"
# Export logs for analysis
sudo journalctl -u endura-sensor --no-pager > endura-sensor.logGetting Help
If you encounter issues:
- Check service logs:
sudo journalctl -u endura-sensor - Verify configuration:
sudo cat /opt/endura/sensor/environ - Test network connectivity to Team Server
- Ensure proper file permissions and SELinux contexts
- Check system resources and kernel compatibility
For additional support, refer to the Endura documentation or contact your system administrator.