Table of Contents
- Getting Started
- Agent-Based Management
- Data Providers
- Directory Services
- Event Log Archiving for JSIG and CMMC Compliance
- Auditing
- Hosts
- Templates
- Template Properties
- Batch Update Templates
- Assign Templates
- Log Management Templates
- SCAP Compliance Monitor
- File and Directory Monitor Templates
- Windows Monitor Templates
- Account Lockout Monitor Template
- Logon Monitor Template
- CPU Monitor Template
- Memory Monitor Template
- Disk Space Monitor Template
- SMART Monitor Template
- Process Monitor Template
- Service Monitor Template
- Performance Counter Monitor Template
- PowerShell Template
- Registry Value Monitor Template
- System Security Monitor Template
- Active Directory User Monitor Template
- Active Directory User Integrity Monitor Template
- Task Scheduler Template
- Clock Synchronization Template
- Defragment NTFS Disks Template
- Windows Audit Policy Monitor Template
- Windows Logon As Monitor Template
- Windows Update Template
- Windows Management Instrumentation (WMI) Templates
- Database Monitor Template
- Directory Service Monitor Template
- DNS Blacklist Monitor Template
- DNS Monitor Template
- Domain Expiration Monitor Template
- Network Speed Monitor Template
- Ping Monitor Template
- Database Table Reseed
- SQL Server Shrink and Backup Template
- SSH Shell
- TCP Port Scan Monitor Template
- Website Monitor Template
- Wake On LAN Template
- SSL Certificate Monitor Templates
- Email Monitor Templates
- SNMP Monitor Templates
- Windows Accounts Templates
- Monitors
- Reports
- File and Permission Reports
- Summary Reports
- Auto-Configurators
- Filters
- Actions
- Database Actions
- Desktop Actions
- Email Actions
- Event Log Actions
- Executable Actions
- File Actions
- IIS IP Address Restriction Actions
- Microsoft Teams Actions
- PowerShell Actions
- Report Actions
- Service Actions
- SMS Actions
- SNMP Trap Actions
- Syslog Actions
- Template Actions
- IIS IP Address Restriction Actions
- Action Variables
- Schedules
- Environment Variables
- Options
- Account Lockout Monitoring and Reporting
- Merging Logs
- SNMP
- SSH Shell
- Syslog
- Exporting and Importing Configuration Objects
- Shared Views
- Active Directory User and Group Filters
- Assign Actions
- Assign Azure Audit Logs
- Assign Consolidated Logs
- Assign Directories
- Assign Disks
- Assign Event Logs
- Assign Files
- Assign Services
- Assign Shares
- Auto-Config Host Assignment Properties
- Define CSV and W3C Log Entry Columns
- Define Log Entry Columns
- Define Log Entry Columns with Regular Expressions
- Executable Status
- Executable Timeline
- Explicitly Assigned Logs
- File Explorer
- General Executable Properties
- Report Columns
- Report Date/Time Ranges
- Report Security Event Log Filters
- Select Folder or File
- Target Files and Sub-Directories
- Command Line Interface
- Server Configuration
- Agent Configuration
- Troubleshooting
- Terminology
Linux Agent Installation
In this Topic
Tutorials
Background
Server Manager includes a Linux Agent to remotely manage Linux hosts. Our agent-based solution solves several security and performance issues with existing built-in technologies and security implementations. To understand the benefits, we must first understand the technologies used to remotely manage Linux hosts without an agent.
Agentless Management
Linux (Red Hat (RHEL) and Ubuntu)
Linux Audit Logs are downloaded using a two step process that utilizes both SSH and SFTP. Since audit logs are in a protected directory, SSH must be used to login as a superuser then copy files from the protected directory to a temporary directory. Once complete, the SSH connection is closed then a new SFTP connection opened, which then downloads the audit log files from the temporary directory.
Security and Performance Issues
- Remote connections require root or superuser access to copy audit logs.
- SFTP typically has limited access to operating system files and audit logs.
- Each time an audit log's latest contents are retreived, the entire log is copied then downloaded, a highly ineffecient method when download new entries every few minutes.
- Real-time log monitoring is not supported.
Agent-Based Management Benefits
- The Linux Agent runs with root access enabling the software to access audit logs without generating logon events.
- All data is transmitted over a single TLS 1.2 capable TCP/IP port using a highly efficient binary protocol stack.
- Audit logs are efficiently accessed, parsed, and filtered directly on each Linux host prior to transmitting the latest filtered entries to the Management Server.
- Real-time log monitoring is fully supported.
Supported Templates
The following templates are currently supported on Linux:
- CPU Monitor
- Directory Size Monitor
- File Monitor
- File Integrity Monitor (FIM)
- Memory Monitor
- SQL Server Shirk and Backup
- TCP Port Scan Monitor
- Text Log Consolidation
- Text Log Monitor
System Requirements
The Linux Agent requires the Microsoft .Net 8 Runtime or higher to be installed.
How to Install the Microsoft .Net 8 Runtime
- From the target Linux host, open a command prompt.
Red Hat Enterprise Linux (RHEL)
- Type the following command:
sudo yum install dotnet-runtime-8.0 -y
CentOS
- Type the following commands:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm sudo yum install dotnet-runtime-8.0 -y
Ubuntu:
- Type the following commands:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt install apt-transport-https sudo apt update sudo apt install dotnet-sdk-8.0
How to Remotely Install the Linux Agent
- Add the hostname or IP add to Corner Bowl Server Manager. For more informatino see: Adding Hosts.
- Configure the Linux host's SSH/SFTP connection with superuser credentials. For more informatino see: SSH/SFTP Properties
- From the Host Properties View, select the Agent Tab, then click the Install Agent button.
How to Manually Install the Linux Agent
- From the host you have installed Server Manager, open the following file in Notepad as an administrator.
C:\Program Files\Corner Bowl\Server Manager\Agent Installers\Linux\tcpserver.json
- Set the Host value to the routable hostname or IP address the Corner Bowl Server Manager Service is installed.
- Save your changes.
- Copy all of the files located in the following directory to your Linux host:
C:\Program Files\Corner Bowl\Server Manager\Agent Installers\Linux
- From the Linux host, create the installation directory /usr/bin/corner-bowl/server-manager-agent, for example:
sudo mkdir /usr/bin/corner-bowl/server-manager-agent
- Copy the dll and json files to the target installation directory, for example:
sudo cp ./*.dll /usr/bin/corner-bowl/server-manager-agent sudo cp ./*.json /usr/bin/corner-bowl/server-manager-agent
- Create the configuration directory /usr/share/corner-bowl/server-manager-agent, for example:
sudo mkdir /usr/share/corner-bowl/server-manager-agent
- Copy the configuration file, tcpserver.json, to the configuration directory, for example:
sudo cp ./tcpserver.json /usr/share/corner-bowl/server-manager-agent
- Copy the systemD service file, cbsmagt.service, to the /etc/systemd/system directory, for example:
sudo cp ./cbsmagt.service /etc/systemd/system
- Reload the systemctl:
sudo systemctl daemon-reload
- Configure the Daemon to start when the server is booted:
sudo systemctl enable cbsmagt
- Start the Daemon:
sudo systemctl start cbsmagt
How to Upgrade the Linux Agent
As of build 23.0.0.400, the Linux Agent is automatically updated when the Agent detects the Server is running a later version. No user interaction is required. If you are running a previous version, re-install with the latest version.
How to Re-Configure the Agent
- Once installed, if you need to change the target hostname or would like to enable TLS 1.2, you must modify the tcpserver.json configuration file located in the configuration directory:
/usr/share/corner-bowl/server-manager-agent/tcpserver.json
Configuration File Reference
{ "Host": "SERVERNAME", "Port": 21843, "IdleTimeout": 300, "ReceiveTimeout": 120, "SendTimeout": 120, "TempDirectory": "./temp", "TlsConfiguration": { "Enabled": false, "Certificate": null, "RequireRemoteCertificate": false, "AllowSelfSignedCertificate": true, "CheckCertificateRevocation": false, "AllowCertificateChainErrors": true } }
For more information see: Agent Configuration
How to Configure Templates to Run on the Agent
- Select File | New Template. The Select Template Type view displays.
- Click the Template type to create. The Template Properties view displays.
- Select the Agent Template Tab
- Use the Enabled Check Box to flag the template as an Agent-Based Template.
- Use the Trigger Check Box to trigger actions when assigned hosts do not connect within the configured time span.
- Use the On Host Not Connecting Drop-Down to assign the actions to fire when assigned hosts do not connect within the configured time span.
Troubleshooting
If the Agent does not appear to be connecting or processing Templates, view the Agent's verbose output log for detailed information. The log file is located in the following directory on each remotely managed host:
/var/log/corner-bowl/agent.log
- Open a command-prompt, then type the following command to tail the log file:
tail -f /var/log/corner-bowl/agent.log
- Monitor the file for at least 2 minutes. 9 times of out of 10, there is a connection error due to the tcpserver.json file not specifying the correct host or other invalid parameter, a firewall blocking the default port, 21843, on the Corner Bowl Server Manager Service host, or the Agent Server is configured to use DNS or FQDN lookup when instead the local hostname is expected. All of these error scenarios are easily identified when tailing the agent.log file.