lhs-panel点击此处展开

在 UNIX 设备上配置 Syslog 服务

手动配置日志转发的步骤

注意: 请注意不同协议所使用的默认端口号。

默认端口号与所用协议

  1. 513 和 514 UDP
  2. 514 TCP
  3. 513 TLS

要查找正在使用的 Syslog 服务,请使用以下命令

复制到剪贴板

ps aux | grep syslog

因此,这将返回当前正在运行的 Syslog 服务。

请根据所使用的 Syslog 服务,按照以下步骤将日志转发配置到 EventLog Analyzer 服务器。

  1. Add the required entries in the configuration file based on protocol. Restart the syslog daemon service to apply the changes
    • syslogd
      • 文件路径: /etc/syslog.conf
      • UDP:
        复制到剪贴板

        *.*<空格/制表符>@<eventloganalyzer_Server_name>:<port_no>

    • rsyslogd
      • 文件路径:/etc/rsyslog.conf
      • UDP:
        复制到剪贴板

        *.*<空格/制表符>@<eventloganalyzer_Server_name>:<port_no>

      • TCP:
        复制到剪贴板

        *.*<空格/制表符>@@<eventloganalyzer_Server_name>:<port_no>

      • TLS:

        注意:在追加所述条目前,请先检查先决条件

        复制到剪贴板

        $DefaultNetstreamDriverCAFile <CACertificate>

        $ActionSendStreamDriver gtls

        $ActionSendStreamDriverMode 1

        $ActionSendStreamDriverAuthMode x509/name

        $ActionSendStreamDriverPermittedPeer <commonname>

        *.*<space/tab>@@<eventloganalyzer_Server_name>:<port_no>

    • syslog-ng
      • 文件路径:/etc/syslog-ng/syslog-ng.conf
      • <source_name> 可以在 syslog-ng.conf 文件中现有的 source 配置里找到,该配置包含 system(); 和 internal(); 调用

        例如:此处的 <source_name> 应为 "s_src"

        source s_src {

        system();

        internal();

        };

      • UDP:
        复制到剪贴板

        destination d_eventloganalyzer { network(<eventloganalyzer_Server_name> port(<port>) transport("udp")); }; log { source(<source_name>); destination(d_eventloganalyzer); };

      • TCP:
        复制到剪贴板

        destination d_eventloganalyzer { network(<eventloganalyzer_Server_name> port(<port>) transport("tcp")); }; log { source(<source_name>); destination(d_eventloganalyzer); };

      • TLS:

        注意:在添加所述条目前,请先检查先决条件

        复制到剪贴板

        destination d_eventloganalyzer { network(<eventloganalyzer_Server_name> port(<port>) transport("tls") tls(key-file("/path/to/private.key") cert-file("/path/to/certificate.crt") ca-dir("/path/to/ca/directory"))); }; log { source(<source_name>); destination(d_eventloganalyzer); };

  2. 保存配置,并使用以下命令重启 Syslog 守护进程

    复制到剪贴板

    service <syslog/rsyslog/syslog-ng> restart

    复制到剪贴板

    systemctl restart <syslog/rsyslog/syslog-ng>

注意:

上述配置只会把主机日志转发到 EventLog Analyzer 服务器。

要使用 sudo 或非 sudo 用户在 EventLog Analyzer 服务器上配置自动日志转发,请参阅此处

先决条件:

  • 启用 HTTPS 并在 server.xml 中配置有效的证书。点击此处以了解如何配置有效的 SSL 证书。
  • 仅 pfx 格式受支持用于存储证书,如果 你使用 keystore 格式,请将其转换为 pfx。

使用自签名证书:

  • 应用自签名证书后,名为 ca.crt 的文件将被创建,位置为 <EventLogAnalyzer_Home>/Certificates
  • 在客户端配置日志转发时,将此文件用作根证书。

使用其他证书:

  • 要配置日志转发,请从证书供应商处获取根证书。 
注意:
  1. 如果您想使用不同于上述默认端口的其他端口,请在端口管理设置中进行指定。
  2. CommonName 应与证书文件中给出的值相同。

将 application/审计日志 转发到 EventLog Analyzer Server

如果需要转发某个特定application的日志或审计日志,则需要在 Linux 设备上的rsyslog.conf(或)syslog.conf中进行以下配置

  1. 在 MODULES 部分下,检查是否包含“$ModLoad imfile”。(该模块“imfile”会将任意输入的文本文件转换为 syslog 消息,然后可以将其转发到 EventLog Analyzer Server。)
  2. 以下配置指令包含外部日志文件的详细信息:
    $InputFileName <被监控文件的绝对路径>
    $InputFileStateFile <状态文件名>
    $InputFileSeverity <严重性 >
    $InputFileFacility <设施 >
    $InputRunFileMonitor
  3. 要转发日志,我们必须提供这一行: <Facility>.<Severity> @Host-Ip:Port

示例:

$InputFileName /var/log/sample.log

$InputFileStateFile 示例

$InputFileSeverity 信息

$InputFileFacility local6

local6.info @eventloganalyzer-Server:514

这里 /var/log/sample.log 是要转发的外部文件。

注意:
  1. 这些说明适用于所有 Linux 设备。
  2. 对于不同的 <Monitored_File_Absolute_Path>,请使用唯一的 <State_Filename>
  3. 在转发审计日志时,带有安全增强(SElinux)的 Red Hat 系统中的默认策略有时不允许读取审计日志。请参阅故障排除提示

安装软件包的语法:

  • 适用于 CentOS/RHEL:
    复制到剪贴板

    yum install <package_name>

  • 适用于 Ubuntu:
    复制到剪贴板

    apt-get install <package_name>

  • 对于其他 Linux 发行版,请参阅官方网站获取软件包安装说明。

重要提示: 以下权限仅适用于单个用户。

sudo 和非 sudo 用户的自动日志转发权限:

为 rsyslog.conf [或] syslog.conf 文件授予权限。

复制到剪贴板

setfacl -m u:<username>:rw /etc/rsyslog.conf [或] /etc/syslog.conf

示例:

syslog.conf: setfacl -m u:testuser:rw /etc/syslog.conf

rsyslog.conf: setfacl -m u:testuser:rw /etc/rsyslog.conf

请按照以下说明,为无 sudo 权限的用户授予 syslog/rsyslog 服务的重启权限:

  • 使用 root 用户来配置权限。
  • 请执行以下命令:
    复制到剪贴板

    visudo -f /etc/sudoers.d/<username>

  • 将以下行添加到 sudoers 文件:
    复制到剪贴板

    <username> ALL=NOPASSWD: /usr/sbin/service <syslog/rsyslog> restart

    示例:
    • visudo -f /etc/sudoers.d/testuser
    • testuser ALL=NOPASSWD: /usr/sbin/service rsyslog restart
  • 要进行验证,请执行以下命令
    复制到剪贴板

    cat /etc/sudoers.d/<username>

    示例: cat /etc/sudoers.d/testuser

    预期输出: testuser ALL=NOPASSWD: /usr/sbin/service rsyslog restart

注意:必须安装 acl 软件包。在此之前,请确保文件系统已启用 ACL 支持进行挂载。更多详细信息,请参阅官方文档 [ 参考 ]。

    版权所有 © 2020ZOHO Corp。保留所有权利。

    获取下载链接