Logging

rsyslog relp - 防止遠端日誌被寫入我的本地 /var/log

  • April 22, 2019

我已經使用 rsyslog 和 relp 設置了一個日誌伺服器。就接收遠端日誌並將它們放入/var/spool/rsyslog 而言,它工作得很好。

我的問題是:這些消息中的大多數也出現在我的 /var/log/messages 文件中,它可以變得相當大,相當快。

我在日誌伺服器上的配置:

   #### MODULES ####

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)

# RELP config
$ModLoad imrelp
$InputRELPServerRun 2514

#### GLOBAL DIRECTIVES ####

# Filter duplicated messages
$RepeatedMsgReduction on

# Set the default permissions for all log files.
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

# Where to place spool files
$WorkDirectory /var/spool/rsyslog

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf

# global templates
# DONT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING
$ActionFileDefaultTemplate RSYSLOG_ForwardFormat
$template precise,"%syslogpriority% %syslogfacility% %timegenerated% %HOSTNAME% %syslogtag% %msg%\n"
$ActionFileDefaultTemplate precise

# This should place all remote log items into /var/spool/rsyslog
$template RemoteHost,"/var/spool/rsyslog/%programname%.log"

# My brain says: this prevents anything coming in from a remote host from
# being written in /var/log/whatever - MY BRAIN LIES TO ME!
if ($hostname != 'my.server.name') then ?RemoteHost
&~

我對手冊頁的閱讀表明,主機名檢查和“與號波浪號”應該可以防止遠端內容污染我的日誌文件。

線索?

DISTRIB_DESCRIPTION=“Ubuntu 12.04.3 LTS”

您的 rsyslog 配置文件中必須有類似的內容

*.*;auth,authpriv.none          -/var/log/syslog

如果您看一下,您正在將所有設施的所有嚴重性註冊到 syslog 文件,但 auth 和 authpriv 設施除外。

只需添加您不想記錄的設施,加上“無”嚴重性。即:本地6:

*.*;auth,authpriv.none;local6.none          -/var/log/syslog

當然,修改配置文件後必須重新啟動或重新載入 rsyslog 守護程序。

希望這對使用複雜的 rsyslog 過濾器有幫助。

引用自:https://serverfault.com/questions/541362