在操作系统中配置 snmpd 服务

通过 SNMP 与 Kaspersky Web Traffic Security 进行交互是使用操作系统的“snmpd”服务来实现的。snmpd 服务充当主代理,通过 SNMP 接收和处理来自监控系统和其他外部使用者的请求。Kaspersky Web Traffic Security 通过 UNIX™ 套接字通过 AgentX 协议作为子代理连接到 snmpd 服务。

安装 snmpd 服务

如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,则无需进一步操作。如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 包安装的,请确保 snmpd 服务已安装在您的操作系统中。如果未安装该服务,请安装相应的软件包。

要安装 snmpd 服务和辅助实用程序

输入以下命令:

创建用于访问数据的用户账户

创建账户之前,请停止 snmpd 服务。

为了保证使用身份验证和加密通过 SNMPv3 访问数据的安全性,您需要在 snmpd 服务端创建一个用户账户,其中包含以下信息:

出于安全考虑,我们建议在 Kaspersky Web Traffic Security 集群的每个节点上使用独立的用户账户。

您可以通过以下方式创建用户账户:

要使用 net-snmp-create-v3-user 实用程序创建用户账户:

  1. 如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,请使用 SSH 私钥在 root 账户下连接到 Kaspersky Web Traffic Security 虚拟机的管理控制台。这将带您进入技术支持模式。

    如果 Kaspersky Web Traffic Security 是通过 RPM 或 DEB 软件包安装的,请启动操作系统的命令 shell 以使用超级用户(系统管理员)权限运行命令。

  2. 运行以下命令:

    net-snmp-create-v3-user -ro -a <身份验证算法> -x <加密算法> <用户名>

交互请求身份验证和加密密码。

示例:

net-snmp-create-v3-user -ro -a SHA -x AES MonitoringUser

要在不使用该实用程序的情况下创建用户账户:

  1. 启动操作系统命令 shell,以使用超级用户(系统管理员)权限运行命令。
  2. 创建 /var/lib/snmp/snmpd.conf 配置文件:

    touch /var/lib/snmp/snmpd.conf

  3. 将下列行添加到配置文件:

    createUser <用户名> <身份验证算法> "<身份验证密码>" <加密算法> "<加密密码>"

    示例:

    createUser MonitoringUser SHA "MonitoringAuthSecret" AES "MonitoringPrivSecret"

创建用于接收 SNMP 陷阱的用户账户

要通过身份验证和加密通过 SNMPv3 接收 SNMP 陷阱,您需要在相应服务(通常是 snmptrapd 服务)的上下文中在监控系统一侧创建一个账户。

该账户必须包含以下信息:

出于安全目的,您必须使用单独的用户账户来访问数据和接收 SNMP 陷阱。
我们建议创建独立的用户账户,以从 Kaspersky Web Traffic Security 集群的每个节点接收 SNMP 陷阱。

有关创建用于接收 SNMP 陷阱的用户账户的说明,请参阅监控系统的文档。

配置 snmpd 服务

snmpd 服务的配置存储在 /etc/snmp/snmpd.conf 文件中。您必须创建一个新的配置文件并按给定顺序添加以下行。

要配置 snmpd 服务:

  1. 如果 Kaspersky Web Traffic Security 是从 ISO 文件部署的,请使用 SSH 私钥作为 root 连接到 Kaspersky Web Traffic Security 虚拟机的管理控制台。这将带您进入技术支持模式。

    如果 Kaspersky Web Traffic Security 是通过 RPM 或 DEB 软件包安装的,请启动操作系统的命令 shell 以使用超级用户(系统管理员)权限运行命令。

  2. 创建一个新的配置文件并为其设置访问权限:

    mv -f /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.backup

    touch /etc/snmp/snmpd.conf

    chown root:root /etc/snmp/snmpd.conf

    chmod 600 /etc/snmp/snmpd.conf

  3. 指定 snmpd 服务必须侦听传入请求的协议、网络接口地址和端口号。
    • 如果要监听所有网络接口上的请求,请将以下行添加到配置文件中:

      # 通过 UDP 侦听传入的 SNMP 请求

      agentAddress udp:161

    • 如果只想监听本地网络接口上的请求,例如监控系统安装在同一台机器上,则添加以下行:

      # 通过 UDP 侦听传入的 SNMP 请求

      agentAddress udp:127.0.0.1:161

  4. 指定 UNIX 套接字的路径和权限,snmpd 服务必须在该套接字上侦听通过 AgentX 协议的子代理连接。为此,请将以下行添加到配置文件中:

    # 通过 UNIX 套接字监听子代理连接

    master agentx

    agentXSocket unix:/var/run/agentx-master.socket

    agentXPerms 770 770 kluser klusers

  5. 如有必要,您可以提供系统描述、系统位置以及管理员的联系地址。为此,请将以下行添加到配置文件中:

    # 系统基本信息

    sysDescr <系统描述>

    sysLocation <系统位置>

    sysContact <管理员的联系地址>

    sysServices 72

  6. 指定您希望通过 SNMP 协议供监控系统使用的 OID 树的范围。要访问 Kaspersky Web Traffic Security 数据,请将以下行添加到配置文件中:

    # Kaspersky Web Traffic Security SNMP 统计信息

    view monitoring included .1.3.6.1.4.1.23668.2022

  7. 必要时,您还可以指定 OID 树的范围,其中包含 snmpd 服务存储的有关操作系统的信息。该范围将可供您的监控系统使用。

    有关操作系统的信息包括例如有关 CPU 和 RAM 使用情况、磁盘分区上的可用空间、网络接口负载的信息;已安装软件的列表;打开的网络连接列表;以及正在运行的进程的列表。该信息的一部分可能是机密的。

    • 如果您只想允许访问一般系统信息以及有关 RAM、CPU 和磁盘设备使用情况的信息,请将以下行添加到配置文件中:

      # SNMPv2-MIB - 基本系统信息

      view monitoring included .1.3.6.1.2.1.1

      # HOST-RESOURCES-MIB - CPU、内存、文件系统

      view monitoring included .1.3.6.1.2.1.25.1

      view monitoring included .1.3.6.1.2.1.25.2

      view monitoring included .1.3.6.1.2.1.25.3

      view monitoring included .1.3.6.1.2.1.25.5

      # UCD-SNMP-MIB - 内存和 CPU 使用情况

      view monitoring included .1.3.6.1.4.1.2021.4

      view monitoring included .1.3.6.1.4.1.2021.10

      view monitoring included .1.3.6.1.4.1.2021.11

      # UCD-SNMP-DISKIO-MIB - 块设备 I/O 统计信息

      view monitoring included .1.3.6.1.4.1.2021.13

      # IF-MIB - 网络接口 I/O 统计信息

      view monitoring included .1.3.6.1.2.1.2

      view monitoring included .1.3.6.1.2.1.31

    • 如果要允许访问所有系统信息,请将以下行添加到配置文件中:

      # 允许访问整个 OID 树

      view systemview included .1

  8. 指定创建的用户账户的访问模式和信息范围。为此,请将以下行添加到配置文件中:

    # SNMPv3 监控系统用户的访问控制

    rouser <用户名> priv -V 监控

  9. 要发送 SNMP 陷阱,请指定监控系统的 IP 地址和用于接收陷阱的用户凭据。为此,请将以下行添加到配置文件中:

    # 向监控系统发送 SNMPv3 陷阱

    trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u <用于接收陷阱的用户名> -a <身份验证算法> -A "<用于接收陷阱的用户密码>" -x <加密算法> -X "<加密密码>" udp:<IP 地址>:162

将配置 snmpd 服务。

要与多个监控系统集成,请为每个系统创建一个单独的用户账户,指定每个用户账户的可用信息范围(“view”和“rouser”指令)并配置 SNMP 陷阱的发送(“trapsess”指令)。

snmpd 服务配置文件示例

使用新配置启动 snmpd 服务

要应用新配置:

  1. 重启 snmpd 服务:

    systemctl restart snmpd

  2. 检查 snmpd 服务的状态:

    systemctl status snmpd

    状态必须是正在运行

  3. 允许该服务在操作系统启动时自动启动:

    systemctl enable snmpd

  4. 如果您在操作系统或网络设备中使用防火墙,请添加规则以允许 SNMP 数据包通过。

snmpd 服务已配置。

检查 snmpd 服务的运行状况

要测试 snmpd 服务,请在 Kaspersky Web Traffic Security Web 界面中配置 SNMP 的使用,并使用“snmpwalk”实用程序请求 SNMP 数据。

要获取 Kaspersky Web Traffic Security 提供的 SNMP 数据范围,请运行以下命令:

snmpwalk -v3 -l authPriv -u <用户名> -a <身份验证算法> -A "<身份验证密码>" -x <加密算法> -X "<加密密码>" <IP 地址> .1.3.6.1.4.1.23668.2022

示例:

snmpwalk -v3 -l authPriv -u MonitoringUser -a SHA -A "MonitoringAuthSecret" -x AES -X "MonitoringPrivSecret" 127.0.0.1 .1.3.6.1.4.1.23668.2022

页面顶端