snmp弱口令及安全加固
snmp弱口令及安全加固
弱口令检测
nmap –sU –p161 –script=snmp-brute ip //查找snmp弱口令
弱口令利用
nmap -sU -p161 --script=snmp-netstat ip//获取网络端口状态
nmap –sU –p161 –script=snmp-sysdescr ip //获取系统信息
nmap -sU -p161 --script=snmp-win32-user ip //获取用户信息
其他利用方式
snmputil walk ip public .1.3.6.1.2.1.25.4.2.1.2//列出系统进程
snmputil walk ip public.1.3.6.1.2.1.25.6.3.1.2 //列出安装的软件
snmputil walk ip public .1.3.6.1.2.1.1 //列出系统信息
snmputil get ip public .1.3.6.1.4.1.77.1.4.1.0 //列出域名
snmputil walk ip public.1.3.6.1.4.1.77.1.2.25.1.1 //列系统用户列表
安全加固
定位:通过存在snmp弱口令的端口,定位进程ID和进程名
判断:通过开放该服务的运行进程,判断这个进程是否和业务相关,是否需要 对外提供服务,只对哪些远程主机提供服务。
配置:若判断的结果与业务不相关,是没有用处的服务。则关闭端口,kill PID简单暴力没烦恼;若判断的结果与业务有关,服务不能关闭。那就去除弱口令+白名单;若判断的结果与业务相关,服务不能关闭,且弱口令还不能修改,那就白名单控制;
配置口令
windows
方法1:
开始—>程序—>管理工具—>服务—>SNMPService—>属性—>安全
1.修改社区名称(snmp密码)
2.配置白名单
重启服务
方法2:
开始- > 运行- > regedit 打开注册表
1.修改弱口令
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities
删除public,替换成强口令
2.设置白名单
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers
linux
方法1:
1.修改public默认团体字符串 vi /etc/snmp/snmps.conf
2.可以通过开启iptable 注意:iptable可能影响网络性能
3.重启服务
AIX
AIX默认的是snmpv3,修改/etc/snmpdv3.conf的community串,或者使用snmpd_ssw命令将snmp的版本降到1,再修改snmpd.conf。
方法1:
1.修改snmp的版本,切换到v1 /usr/sbin/snmpv3_ssw -1
2.停服务 stopsrc -s snmpd
3.备份并修改密码 cp /etc/snmpd.conf /etc/snmpd.conf.bak vi /etc/snmpd.conf
4.重启服务 startsrc -s snmpd
方法2:
1.停服务 stopsrc -s snmpd
2.备份并修改密码 cp /etc/snmpdv3.conf /etc/snmpd.conf.bak vi /etc/snmpdv3.conf
3.重启服务 startsrc -s snmpd
Solaris
1.编辑配置文件 /etc/sma/snmp/snmpd.conf 文件中的rocommunity的值,将public换为复杂的密码
2.重启sma服务
svcadm disable sma
svcadm enable sma
Cisco
1.进入配置模式
configure terminal
2.删除public/private默认团体名
no snmp-server community public RO
no snmp-server community private RW
3.设置团体名
security_partNer_guest 只读属性
security_partNer_admin 读写属性
snmp-server community security_partNer_guest RO
snmp-server community security_partNer_admin RW