Rsyslog - 如何禁用 udp syslog?

Rsyslog - 如何禁用 udp syslog?

目前rsyslog正在监听UDP套接字和UNIX套接字,如下所示:

[root@machine ~]# netstat -ap | grep rsyslog
udp        0      0 0.0.0.0:59018           0.0.0.0:*                           268440/rsyslogd     
unix  2      [ ]         DGRAM                    74163705 268440/rsyslogd      
[root@machine ~]# 
[root@machine ~]#
[root@machine ~]# 
[root@machine ~]# 
[root@machine ~]# uname -a
Linux machine.abc.com 3.10.0-693.17.1.el7.x86_64 #1 SMP Sun Jan 14 10:36:03 EST 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@machine ~]# 

rsyslogd 的 UDP 系统日志接收所需的配置更改尚不清楚。/etc/rsyslog.conf没有这样的变化,如下图:

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$WorkDirectory /var/lib/rsyslog

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf 

$OmitLocalLogging on

$IMJournalStateFile imjournal.state

authpriv.*                      @some_remote_machine.abc.com

其中/etc/rsyslog.d/*.conf有以下条目:

$SystemLogSocketName /run/systemd/journal/syslog

出于安全原因,目标是禁用 rsyslogd 的 UDP 系统日志接收

strace 显示socket()启动时仅调用一次rsyslogd

socket(AF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3

下面是udp相关的详细信息:

[root@machine ~]#  rsyslogd -d 2>&1|grep -i udp
4078.341962469:main thread    : tplAddLine processing template 'RSYSLOG_omudpspoofDfltSourceTpl'
4078.350580740:main thread    : Template: Name='RSYSLOG_omudpspoofDfltSourceTpl' 
[root@machine ~]# rsyslogd -v
rsyslogd 8.24.0, compiled with:
        PLATFORM:                               x86_64-redhat-linux-gnu
        PLATFORM (lsb_release -d):
        FEATURE_REGEXP:                         Yes
        GSSAPI Kerberos 5 support:              Yes
        FEATURE_DEBUG (debug build, slow code): No
        32bit Atomic operations supported:      Yes
        64bit Atomic operations supported:      Yes
        memory allocator:                       system default
        Runtime Instrumentation (slow code):    No
        uuid support:                           Yes
        Number of Bits in RainerScript integers: 64

See http://www.rsyslog.com for more information.
[root@machine ~]# 

如何配置 rsyslog 以禁用 UDP 系统日志接收?因为我们安装了 syslog-ng...

答案1

禁用 imudp 模块的加载。下面的例子。

确认当前正在使用 UDP

# netstat -ap|grep rsyslog
udp        0      0 0.0.0.0:syslog          0.0.0.0:*                           17076/rsyslogd
udp6       0      0 [::]:syslog             [::]:*                              17076/rsyslogd
unix  2      [ ]         DGRAM                    1074728  17076/rsyslogd
#

检查配置文件

# grep -i udp /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
#

禁用 UDP 并重新启动 rsyslog

# sed -i 's/\$ModLoad imudp/#\$ModLoad imudp/' /etc/rsyslog.conf
# systemctl restart rsyslog
#

确认现在仅使用 TCP

# netstat -ap|grep rsyslog
unix  2      [ ]         DGRAM                    1073845  16982/rsyslogd
#

答案2

rsyslog我在 RHEL 7.5 上运行时遇到了一些问题syslog-ng,甚至尝试停止或终止进程也没有帮助。所以我决定删除rsyslog

相关内容