Hi,

I've reset the rsyslog configuration on the rsyslog server to the Red
Hat default and confirmed it with `rpmverify`, I'm running version
rsyslog-8.2102.0-7.el8_6.1.x86_64.

Then I only added the config to receive and process the Bash history
logs:

cat /etc/rsyslog.d/00-a.conf 
if $programname == '-bash' or $programname == 'bash' and $msg contains
'HISTORY:' then {
    @127.0.0.1:10514
    /var/log/bash-history.log
    & stop
}

The default /etc/rsyslog.conf (without comments) is shown below:

# rg -v '^#' /etc/rsyslog.conf
2:
6:
8:
9:module(load="imuxsock"          # provides support for local system
logging (e.g. via logger command)
10:       SysSock.Use="off") # Turn off message reception via local log
socket; 
11:                       # local messages are retrieved through
imjournal now.
12:module(load="imjournal"          # provides access to the systemd
journal
13:       StateFile="imjournal.state") # File to store the position in
the journal
16:
21:
26:
28:
30:global(workDirectory="/var/lib/rsyslog")
31:
33:module(load="builtin:omfile"
Template="RSYSLOG_TraditionalFileFormat")
34:
36:include(file="/etc/rsyslog.d/*.conf" mode="optional")
37:
39:
43:
46:*.info;mail.none;authpriv.none;cron.none               
/var/log/messages
47:
49:authpriv.*                                             
/var/log/secure
50:
52:mail.*                                                  -
/var/log/maillog
53:
54:
56:cron.*                                                 
/var/log/cron
57:
59:*.emerg                                                 :omusrmsg:*
60:
62:uucp,news.crit                                         
/var/log/spooler
63:
65:local7.*                                               
/var/log/boot.log
66:
67:

As you can see, I both forward the logs to a local UDP socket and a
local file. I also commented out one of them each time, to make sure
there is no issue with either the socket or file setup.

When I run a `tcpdump` on the rsyslog server, I do see that the
messages are coming in from the client:

10:49:00.007063 IP (tos 0x0, ttl 64, id 30789, offset 0, flags [DF],
proto UDP (17), length 98)
    x.x.x.x.50145 > y.y.y.y.syslog: SYSLOG, length: 70
        Facility user (1), Severity info (6)
        Msg: Mar 25 10:48:59 rsyslogclient -bash[398711]: HISTORY:
PID=398711 UID=0 ls
        
However, the rsyslog server does not process these logs. The receiving
server forwards the logs to a local socket which is setup with
`netcat`, it does not show any output of messages. The local log file
remains empty as well. It's writable by anyone (-rw-rw-rw- 1 root root
0 Mar 25 10:52 /var/log/bash-history.log)

I've ran the same setup also on a VM with Fedora with version rsyslog-
8.2310.0-1.fc39.x86_64, with that version and setup it works fine.
Could it be that there is a syntax change somewhere? Or maybe something
else is wrong here? If it could be a syntax issue, what change could I
test?

Just to summarize:
* The client is able to forward the Bash history messages through
syslog.
* The server receives these messages as well.
* However, for some reason it does not match with the filter and thus
no action is taken by rsyslog to forward it to either a local socket or
a local file.



-- 
Kees de Jong | Supercomputing | https://www.surf.nl/en/about-surf
OpenPGP fingerprint: 0x0E45C98AB51428E6

On Wed, 2024-03-20 at 08:54 +0000, Kees de Jong via rsyslog wrote:
> Hi David,
> 
> 
> I've attached the full config with some redacted parts such as IPs. I
> hope that helps.
> 
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
rsyslog mailing list
https://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to