跳至主内容

安全服务器

在安全服务器上配置SNMP代理 安全服务器

在Bitdefender安全服务器上配置SNMP代理 Bitdefender 安全服务器 将实现与SNMP管理器的通信及信息传递

简单网络管理协议 (SNMP)用于从互联网协议网络中的服务器、集线器、交换机和路由器等网络设备收集信息。其设计旨在满足最低传输需求,并在大多数其他网络应用失效时仍能持续工作。SNMP可收集CPU与内存使用率、服务器负载及网络接口流量状态等信息。

SNMP代理 是内置于网元中的程序。启用代理后,可使其从设备本地收集管理信息数据库,并在被查询时向SNMP管理器提供这些数据。

在SNMP的典型应用中,一个或多个称为 管理器 的管理计算机负责监控或管理计算机网络中的一组主机或设备。每个被管理系统运行名为 代理 的软件组件,其通过SNMP向 管理器 .

本节说明如何在 Bitdefender 安全服务器 上配置SNMP代理,以实现与SNMP管理器的通信及信息传递。

注意

SNMP软件包自6.1.68.7705版本起已预装在 安全服务器 多平台版本中。

要在 安全服务器 上配置SNMP代理,需按以下步骤操作:

  1. 通过SSH登录 安全服务器 ,使用root凭证或具有管理权限的其他用户(如已设置)。

    重要提示

    root账户默认密码为 sve 。建议立即修改。

  2. 确保没有SNMP守护进程正在运行,若有,必须使用以下命令终止它:

    root@bitdefender-sva:~# service snmpd stop
  3. 为以下文件创建备份 /etc/snmp/snmpd.conf 使用以下命令:

    cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak$
  4. 打开 /etc/snmp/snmpd.conf 文件,使用文本编辑器配置SNMP守护进程以同时监听本地主机和接口IP。默认情况下,SNMP代理设置为仅允许来自本地主机的连接。搜索包含以下内容的行 agentaddress 并按如下方式配置:

    sudo nano /etc/snmp/snmp.conf
    #agentaddress  127.0.0.1,[::1]
    agentAddress udp:127.0.0.1:161,udp:your_interface_IP:161

    注意

    您也可以更改传输协议为TCP或SSH隧道,但必须确保您的监控设备支持。例如,Cacti无法处理基于TCP的SNMP。

  5. 要创建SNMP v3用户,请在以下文件中添加以下行 /etc/snmp/snmpd.conf 文件:

    createUser snmpadminSHA "your_auth_pass" AES"your_privacy_pass"

    仅可使用以下认证类型:

    • MD5

    • SHA

    • SHA-512

    • SHA-384

    • SHA-256

    • SHA-224

    注意

    并非所有SHA变体在所有监控工具中都得到完全支持。必须使用DES和AES隐私协议。

    最小密码长度为8个字符。若未指定隐私密码,则默认选择认证密码。

  6. 添加用户指令 rouserrwuser 以允许只读或读写访问,需在 /etc/snmp/snmpd.conf 文件中添加以下行:

    rouser snmpadmin authpriv

    SNMP v3代理支持官方 RFC系列USM MIB(RFC 2574)文档 :

    • noAuthNoPriv - 无认证无隐私的通信

    • authNoPriv - 有认证无隐私的通信

    • authPriv - 有认证有隐私的通信

  7. 启动SNMP守护进程并通过以下命令检查用户是否已添加到 /var/lib/snmp/snmpd.conf 文件中:

    root@bitdefender-sva:~#service snmpd start

    这是 snmpd.conf 文件的示例:

    root@bitdefender-sva:~# pgrep snmpd
    202826
    root@bitdefender-sva:~# service snmpd status
    ● snmpd.service - 简单网络管理协议(SNMP)守护进程
         已加载:已加载(/lib/systemd/system/snmpd.service;禁用;厂商预设:启用)
         活动状态:运行中(自UTC时间2024年1月15日22:09:27起已运行11小时)
       进程号:202815 ExecStartPre=/bin/mkdir -p /var/run/agentx(代码=退出,状态=0/成功)
       主PID:202826(snmpd)
          任务数:1(限制:2258)
         内存占用:3.7M
         CGroup:/system.slice/snmpd.service
                 └─202826 /usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f -p /run/snmpd.pid
    root@bitdefender-sva:~# netstat -nlpu | grep snmp
    udp        0      0 10.18.139.1:161         0.0.0.0:*                           202826/snmpd        
    udp        0      0 127.0.0.1:161           0.0.0.0:*                           202826/snmpd        
    #
    # net-snmp(或ucd-snmp)持久化数据文件
    #
    ############################################################################
    # 停止 停止 停止 停止 停止 停止 停止 停止 停止
    #
    #          **** 请勿编辑此文件 ****
    #
    # 停止 停止 停止 停止 停止 停止 停止 停止 停止
    ############################################################################
    #
    # 请勿在此存储配置条目
    # 请将snmpd的常规配置令牌保存在SNMPCONFPATH/snmpd.conf中
    # 只有"createUser"令牌应由snmpd管理员放置于此
    #(我是否提到过:请勿编辑此文件?)
    #
    
    usmUser 1 3 0x80001f88805b165469ceee666500000000 "snmpadmin" "snmpadmin" NULL .1.3.6.1.6.3.10.1.1.7 0x40b337c3ce06edf6b4fd0ebbbdac5dee06fd4fc67c0b1372b9f76a94ed5cc31234d09edc9c03b59a5b8e89676e501ba6a59f>
    usmUser 1 3 0x80001f88805b165469ceee666500000000 "snmpadmin2" "snmpadmin2" NULL .1.3.6.1.6.3.10.1.1.3 0x4707b03a201c155bfabeedce29b16a3e11351661 .1.3.6.1.6.3.10.1.2.4 0x4707b03a201c155bfabeedce29b16a3e >
    usmUser 1 3 0x80001f88805b165469ceee666500000000 "snmpadmin3" "snmpadmin3" NULL .1.3.6.1.6.3.10.1.1.3 0x4707b03a201c155bfabeedce29b16a3e11351661 .1.3.6.1.6.3.10.1.2.4 0x4707b03a201c155bfabeedce29b16a3e >
    usmUser 1 3 0x80001f88805b165469ceee666500000000 "snmpadmin4" "snmpadmin4" NULL .1.3.6.1.6.3.10.1.1.7 0xa1b0e4c0c34c8af1a395d65a71578468f18bfadd2b5cac1477a0f0817925e01d9178bc4b74b3ad7e91c3f9ef6600176221>
    setserialno 582543615

    注意

    添加用户后,若从 /etc/snmp/snmpd.conf 文件修改密码,该变更不会同步至 /var/lib/snmp/snmpd.conf 文件,将导致认证失败。此外,严禁手动编辑 /var/lib/snmp/snmpd.conf 文件。

  8. 安装SNMPwalk,使用 aptinstallsnmp 命令测试连接。在检查功能是否正常时,请确保没有其他网络访问相关问题。

    现在您可以通过从另一台机器连接来测试SNMP v3功能是否正常工作。

    以下是密码正确或错误时的连接测试示例:

    • 使用正确密码:

      username@work:~$ snmpwalk -v3 -a SHA-512 -A "password" -x AES -X "password" -l authPriv -u snmpadmin4 SVA_IP | head
      iso.3.6.1.2.1.1.1.0 = 字符串: "Linux bitdefender-sva 5.4.0-167-generic #184-Ubuntu SMP Tue Oct 31 09:21:49 UTC 2023 x86_64"
      iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
      iso.3.6.1.2.1.1.3.0 = 时间刻度: (1599) 0:00:15.99
      iso.3.6.1.2.1.1.4.0 = 字符串: "Me <me@example.org>"
      iso.3.6.1.2.1.1.5.0 = 字符串: "bitdefender-sva"
      iso.3.6.1.2.1.1.6.0 = 字符串: "Sitting on the Dock of the Bay"
      iso.3.6.1.2.1.1.7.0 = 整数: 72
      iso.3.6.1.2.1.1.8.0 = 时间刻度: (7) 0:00:00.07
      iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
      iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
    • 使用错误密码:

      username@work:~$ snmpwalk -v3 -a SHA-512 -A "password" -x AES -X " password" -l authPriv -u snmpadmin4 SVA_IP | head
      snmpwalk: 认证失败(密码、团体名或密钥错误)

    某些SNMP软件包和网络监控工具对密码中使用特殊字符有限制。最常见的限制字符包括: (,),;,!,|,$,<,>,',",`,\,{,} .

    以下是安装在Ubuntu机器上的SNMPwalk功能显示错误的示例:

    root@administrator-virtual-machine:/home/administrator# snmpwalk -v3 -a SHA -A "!@#4QWEr" -x AES -X "!@#4QWEr" -l authPriv -u snmpadmin SVA_IP | head
    bash: !@#4QWEr: 未找到事件
  9. (可选)要为Ubuntu 20.04安装管理信息库(MIB)模块,首先需要取消注释以下仓库,位于 /etc/apt/sources.list.d/ubuntu.list 文件中:

    • debhttp://us.archive.ubuntu.com/ubuntufocalmainrestricted

    • debhttp://us.archive.ubuntu.com/ubuntufocal-updatesmainrestricted

    • debhttp://us.archive.ubuntu.com/ubuntufocaluniverse

    • debhttp://us.archive.ubuntu.com/ubuntufocal-updatesuniverse

    • debhttp://us.archive.ubuntu.com/ubuntufocalmultiverse

    • debhttp://us.archive.ubuntu.com/ubuntufocal-updatesmultiverse

    • debhttp://us.archive.ubuntu.com/ubuntufocal-backportsmainrestricteduniversemultiverse

    • debhttp://us.archive.ubuntu.com/ubuntufocal-securitymainrestricted

    • debhttp://us.archive.ubuntu.com/ubuntufocal-securityuniverse

    • debhttp://us.archive.ubuntu.com/ubuntufocal-securitymultiverse

    运行以下命令安装模块:

    apt-get update
    apt -y install snmp-mibs-downloader

    重要提示

    完成此步骤后必须重新配置软件仓库,以防止安装不必要的软件包。

  10. 通过运行以下命令终止SNMP守护进程:

    root@bitdefender-sva:~# service snmpd stop
  11. 安全服务器 添加至您的网络监控工具并启用。

  12. 注释掉 mibs 行(位于 /etc/snmp/snmp.conf 文件中),如下例所示:

    root@bitdefender-sva:/etc/snmp# cat snmp.conf
    # 由于许可原因,snmp软件包未包含MIB文件,默认情况下
    # 禁用加载MIB功能。若您已添加MIB文件,可通过取消注释
    # 以下行重新启用加载功能。
    #mibs :
    
    # 如需全局修改snmp库、命令及守护进程查找MIB的路径,
    # 请更改下行。注意可通过-M选项或MIBDIRS环境变量
    # 为单个工具单独设置。
    #
    # mibdirs /usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf
  13. 使用以下命令启动SNMPD代理:

    root@bitdefender-sva:~#service snmpd start

默认情况下SNMPD服务需手动启动。若要在 安全服务器 重启时自动启动该服务,请运行以下命令:

# systemctl enable snmpd
# systemctl start snmpd