Ensure rsyslog is configured to send logs to a remote log host
Scanned 9/3/2026
Install to Claude Code
npx -y skills add CyberStrikeus/CyberStrike --skill cis-ubuntu1804-v220-5-1-2-6 --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cis Ubuntu1804 V220 5 1 2 6?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/cyberstrikeus-cis-ubuntu1804-v220-5-1-2-6)More formats (shields.io, HTML) on the badges page.
---
name: cis-ubuntu1804-v220-5-1-2-6
description: "Ensure rsyslog is configured to send logs to a remote log host"
category: cis-logging
version: "2.2.0"
author: cyberstrike-official
tags: [cis, ubuntu, linux, ubuntu-18.04, rsyslog, logging]
cis_id: "5.1.2.6"
cis_benchmark: "CIS Ubuntu Linux 18.04 LTS Benchmark v2.2.0"
tech_stack: [ubuntu, linux]
cwe_ids: []
chains_with: []
prerequisites: []
severity_boost: {}
---
# 5.1.2.6 Ensure rsyslog is configured to send logs to a remote log host (Manual)
## Profile
- **Level:** 1 - Server
- **Level:** 1 - Workstation
- **Assessment Status:** Manual
## Description
RSyslog supports the ability to send log events it gathers to a remote log host or to receive messages from remote hosts, thus enabling centralised log management.
## Rationale
Storing log data on a remote host protects log integrity from local attacks. If an attacker gains root access on the local system, they could tamper with or remove log data that is stored on the local system.
## Audit Procedure
### Command Line
Review the `/etc/rsyslog.conf` and `/etc/rsyslog.d/*.conf` files and verify that logs are sent to a central host (where `loghost.example.com` is the name of your central log host):
Old format:
```bash
grep "*.*[^I][^I]*@" /etc/rsyslog.conf /etc/rsyslog.d/*.conf
```
Output should include `@@<FQDN or IP of remote loghost>`, for example:
```
*.* @@loghost.example.com
```
New format:
```bash
grep -E '^\s*([^#]+\s+)?action\(([^#]+\s+)?\btarget=\"?[^#"]+\"?\b' /etc/rsyslog.conf /etc/rsyslog.d/*.conf
```
Output should include `target=<FQDN or IP of remote loghost>`, for example:
```
*.* action(type="omfwd" target="loghost.example.com" port="514" protocol="tcp"
```
## Expected Result
Output should show logs being sent to a remote host.
## Remediation
### Command Line
Edit the `/etc/rsyslog.conf` and `/etc/rsyslog.d/*.conf` files and add the following line (where `loghost.example.com` is the name of your central log host). The `target` directive may either be a fully qualified domain name or an IP address.
```
*.* action(type="omfwd" target="192.168.2.100" port="514" protocol="tcp"
action.resumeRetryCount="100"
queue.type="LinkedList" queue.size="1000")
```
Run the following command to reload the `rsyslogd` configuration:
```bash
systemctl restart rsyslog
```
## Default Value
Logs are not sent to a remote host by default.
## References
1. See the rsyslog.conf(5) man page for more information.
2. NIST SP 800-53 Rev. 5: AU-6
## CIS Controls
| Controls Version | Control |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| v8 | 8.2 Collect Audit Logs - Collect audit logs. Ensure that logging, per the enterprise's audit log management process, has been enabled across enterprise assets. |
| v7 | 6.2 Activate audit logging - Ensure that local logging has been enabled on all systems and networking devices. |
| v7 | 6.3 Enable Detailed Logging - Enable system logging to include detailed information such as an event source, date, user, timestamp, source addresses, destination addresses, and other useful elements. |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!