当前位置: 首页 > news >正文

SNMPv3开发--snmpd.conf

SNMPv3开发–snmpd.conf

Manpage of SNMPD.CONF
net-snmp配置文件详解
net-snmp配置:snmp v3的安全配置

基础测试实测配置

snmpv3 conf
sysName "XXX"
syslocation "XXX"
syscontact Admin <admin@example.com>
sysservices 72
view customView included .1.3.6.1
view customView included .1.3.6.1.6.1
view customView included .1.3.6.1.4.1.572.1000
rwuser v3user authPriv -V customHCView
trapsess -v 3 -l authPriv -u v3user 192.168.200.165:162

有个问题:反复重启snmpd会出现问题:USM unknown security name (no such user exists)

	1. Net-SNMP通常将持久化数据(包括用户信息)存储在`/var/lib/snmp/snmpd.conf``/var/net-snmp/snmpd.conf`# 查看Net-SNMP的默认设置net-snmp-config --default-mibdirsnet-snmp-config --snmpconfpath# 清除旧用户数据(重要!)sudo rm -f /var/net-snmp/snmpd.conf2. 官方推荐创建用户的方式,它会在后台正确处理持久化# 使用 net-snmp-config 工具sudo net-snmp-config --create-snmpv3-user -ro -a SHA -A "AuthPass123" -x AES -X "PrivPass123" v3user

trapsess 的问题

REF:https://net-snmp-users.narkive.com/QrdbFaOk/net-snmp-5-3-1-trouble-sending-v3-trap特性	trap2sink	trapsess
协议版本	主要为 SNMPv1/v2c 设计	专为 SNMPv3 设计
配置方式	简单参数	完整会话配置
安全支持	有限(依赖全局安全设置)	完整安全参数控制
目标指定	只能指定 IP 和社区名	可指定完整传输参数
会话控制	全局共享会话	独立会话实例
灵活性	低	高
初始化时机	启动时立即初始化	按需初始化
推荐使用场景	SNMPv1/v2c 环境	SNMPv3 环境

解决:使用脚本动态创建用户,并且创建前清理之前的用户信息。

获取USM用户列表

snmpwalk -v 3 -n “” -u v3user -l authNoPriv -a SHA -A AuthPass123 localhost .1.3.6.1.6.3.10.2.1.1

视图授权
视图授权是 SNMPv3 的安全模型,用于精确控制:
哪些用户(who)
可以访问哪些 OID(what)
进行什么操作(read/write)

视图定义
view <视图名称> <子树OID> included|excluded

# 示例:
view basicView included .1.3.6.1.2.1.1            # 系统组
view customView included .1.3.6.1.4.1.310   # 企业自定义OID
view fullAccess included .1                                 # 整个OID树

组和访问权限
# 语法
group <组名> <安全模型> <安全级别>
access <组名> “” <安全模型> <安全级别> <上下文> <前缀> <读视图> <写视图> <通知视图>

# 示例:
group AdminGroup usm authPriv
access AdminGroup "" usm authPriv noPrefix fullAccess fullAccess none

用户授权
# 简写形式
rouser v3user authPriv -V customView # 只读访问
rwuser v3user authPriv -V customView # 读写访问

安全级别详解
级别 命令选项 认证 加密 适用场景
noAuthNoPriv -l noAuthNoPriv × × 内网安全环境
authNoPriv -l authNoPriv √ × 需要认证但无需加密
authPriv -l authPriv √ √ 公网或敏感数据

###############################################################################

一、代理行为配置 (AGENT BEHAVIOUR)

###############################################################################

监听地址配置 (核心配置)

agentAddress udp:127.0.0.1:161 # 只监听本地回环
#agentAddress udp:161 # 监听所有IPv4接口
#agentAddress udp6:[::1]:161 # 监听IPv6回环
#agentAddress udp:161,udp6:161 # 同时监听IPv4和IPv6

推荐生产环境配置:

agentAddress udp:192.168.1.100:161 # 指定IP监听

###############################################################################

二、SNMPv3 用户认证

###############################################################################

创建V3用户 (重启后会自动移除密码)

createUser authOnlyUser MD5 “auth_password”
createUser authPrivUser SHA “auth_pass” AES “priv_pass”
createUser internalUser MD5 “internal_pass”

最佳实践:

1. 将createUser放入/var/lib/snmp/snmpd.conf

2. 使用复杂密码(12位以上混合字符)

3. 定期轮换密码

###############################################################################

三、访问控制 (ACCESS CONTROL) - 最复杂关键部分

###############################################################################

视图定义 - 控制可见OID范围

view systemonly included .1.3.6.1.2.1.1 # 系统信息
view systemonly included .1.3.6.1.2.1.25.1 # 主机资源
view fullView included .1 # 整个OID树
view customView included .1.3.6.1.4.1.310 # 企业自定义

社区字符串访问 (SNMPv1/v2c)

rocommunity public # 所有IP可读
rocommunity secret 10.0.0.0/16 # 指定网段
rwcommunity admin localhost # 本地读写

SNMPv3用户访问

rouser authOnlyUser # 只读无需加密
rwuser authPrivUser priv # 读写需加密
rouser monitor -V systemonly # 限制视图

传统访问控制 (更精细)

com2sec mySec default public
group MyGroup v2c mySec
view all included .1
access MyGroup “” any noauth exact all none none

###############################################################################

四、系统信息配置

###############################################################################

sysLocation “数据中心-A3机架”
sysContact “noc@example.com | 紧急: 13800138000”
sysName “core-router-01”
sysServices 72 # 服务标识(64+8=应用层+网络层)

设备描述扩展

sysDescr “Cisco IOS XE Software, ISR4451/K9”

###############################################################################

九、代理扩展功能

###############################################################################

1. 执行外部命令

extend webserver /usr/bin/curl -Is http://localhost
extend-sh diskusage /bin/df -h /

2. 传递处理 (Pass-through)

pass .1.3.6.1.4.1.2021.789 /usr/local/bin/custom_agent

3. AgentX 子代理支持

master agentx
agentXSocket tcp:localhost:705 # 网络连接
#agentXSocket /var/agentx/master # 本地socket

4. 可加载模块

dlmod cisco /usr/lib/snmp/cisco.so

日志分析:
# 在snmpd.conf中添加
logfile /var/log/snmpd.log
doDebug 1
debugTokens all

http://www.dtcms.com/a/358989.html

相关文章:

  • Vue加载速度优化,verder.js和element.js加载速度慢解决方法
  • VGG改进(6):基于PyTorch的VGG16-SE网络实战
  • 项目管理方法适用场景对比
  • Linux kernel arm64 启动流程
  • ubuntu 安装conda, ubuntu24安装miniConda
  • python制作一个股票盯盘系统
  • 三重积分从入门到入土
  • 微风PLC编程软件下载(C4G02_Develop)
  • GESP5级2024年03月真题解析
  • Python实现全角数字转半角数字的完整教程
  • 一站式可视化运维:解锁时序数据库 TDengine 的正确打开方式
  • 数值分析——算法的稳定性
  • 鸿蒙服务端开发资料汇总
  • 中级统计师-统计实务-第三章 国民经济核算
  • 从支付工具到收益资产:稳定币在 Berachain 上的二次进化
  • 数位 dp
  • 函数(1)
  • React useState基本使用
  • 鸿蒙ArkTS 核心篇-13-if分支语句
  • 玄机靶场 | 第五届红明谷-异常行为溯源
  • Fortran二维数组去重(unique)算法实战
  • WSL使用指南
  • AUTOSAR进阶图解==>AUTOSAR_TR_FrancaIntegration
  • 【超全汇总】MySQL服务启动命令手册(Linux+Windows+macOS)(中)
  • 腾讯云OpenCloudOS 9系统部署OpenTenBase数据库详细教程
  • 轻量xlsx读取库xlsx_drone的编译与测试
  • 关联容器(Associative containers)
  • Windows server 2012安装步骤
  • 为什么要用 Markdown?以及如何使用它
  • 软考备考(5)