SNMP与管理员可信主机的设置

组网需求

通过管理PC通过FortiGate的lan口访问SNMP,同时FortiGate配置了管理员可信主机。

网络拓扑

image-20230323155450210

配置步骤

  1. 在FortiGate的lan接口上开启SNMP的允许访问。

    image-20230323161047655

    config system interface
        edit "lan"
            append allowaccess snmp
        next
    end
    
  2. 开启SNMP代理的总开关,并填写代理信息。新建并配置SNMP v1和v2的属性,例如配置SNMP团体名称为Fortinet123#,建议不要使用通用的public,容易被探测和攻击。配置SNMP主机为192.168.100.177/32。

    image-20230323161651006

    image-20230323161841931

    config system snmp sysinfo
        set status enable
        set description "Fortinet_Beijing_LAB"
        set contact-info "bbai@fortinet.com"
        set location "Beijing"
    end
    
    config system snmp community
        edit 2
            set name "Fortinet123#"
            config hosts
                edit 1
                    set ip 192.168.100.177 255.255.255.255
                next
            end
        next
    end
    

结果验证

  1. 使用客户端PC 192.168.100.177对FortiGate进行SNMP读取,在没有配置管理员信任主机之前,SNMP可以正常读取。

    ~ > ifconfig en7
    ...
        inet 192.168.100.177 netmask 0xffffff00 broadcast 192.168.100.255
    ...
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.101.4.1.1.0
    SNMPv2-SMI::enterprises.12356.101.4.1.1.0 = STRING: "v7.0.11,build0489,230314 (GA.M)"
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 1.3.6.1.2.1.1.3.0
    DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11060652) 1 day, 6:43:26.52
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.100.1.1.1.0
    SNMPv2-SMI::enterprises.12356.100.1.1.1.0 = STRING: "FG101FTK20007637"
    
  2. 配置管理员信任主机为192.168.100.178/32,不包含192.168.100.177/32。

    image-20230323163341515

    image-20230323163434420

    config system admin
        edit "admin"
            set trusthost1 192.168.100.178 255.255.255.255
        next
    end
    
  3. 再次使用客户端PC 192.168.100.177对FortiGate进行SNMP读取,全部超时失败。

    ~ > ifconfig en7
    ...
        inet 192.168.100.177 netmask 0xffffff00 broadcast 192.168.100.255
    ...
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.101.4.1.1.0
    Timeout: No Response from 192.168.100.99
    
    ✘ ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 1.3.6.1.2.1.1.3.0
    Timeout: No Response from 192.168.100.99
    
    ✘ ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.100.1.1.1.0
    Timeout: No Response from 192.168.100.99
    
  4. 很明显管理员信任主机是对接口下面的所有访问协议起作用的,包括所有的管理协议(除了PING),自然也包括了SNMP协议。所以即使接口下开启了SNMP协议,但配置了管理主机后,也只有管理主机可以访问该接口的SNMP服务。
  5. 开启管理员可信主机后要解决这个问题,需要将SNMP管理主机的IP地址也加入到管理员的可信任主机中,这样SNMP才可以正常获取信息。

    image-20230323165018498

    config system admin
        edit "admin"
            set trusthost1 192.168.100.178 255.255.255.255
            set trusthost2 192.168.100.179 255.255.255.255
        next
    end
    
  6. 再次使用客户端PC 192.168.100.177对FortiGate进行SNMP读取,读取成功。

    ~ > ifconfig en7
    ...
        inet 192.168.100.177 netmask 0xffffff00 broadcast 192.168.100.255
    ...
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.101.4.1.1.0
    SNMPv2-SMI::enterprises.12356.101.4.1.1.0 = STRING: "v7.0.11,build0489,230314 (GA.M)"
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 1.3.6.1.2.1.1.3.0
    DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11060652) 1 day, 6:43:26.52
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.100.1.1.1.0
    SNMPv2-SMI::enterprises.12356.100.1.1.1.0 = STRING: "FG101FTK20007637"
    

注意事项

  1. 以上情况中,FortiGate只存在一个管理员账户admin,所以当配置了管理员可信主机后,即使接口下开启了管理协议,可信主机外的IP也无法正常访问接口下的管理协议(除了PING)。

  2. 但如果存在多个管理员账户,而其中有管理员配置了可信主机,但有管理员没有配置可信主机(如下图所示),且接口下开启了各种管理协议。那么对于像SNMP这种不需要FortiGate管理员认证的协议,则可以通过可信主机外的IP正常访问。

    image-20230323165414869

    ~ > ifconfig en7
    ...
        inet 192.168.100.179 netmask 0xffffff00 broadcast 192.168.100.255
    ...
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.101.4.1.1.0
    SNMPv2-SMI::enterprises.12356.101.4.1.1.0 = STRING: "v7.0.11,build0489,230314 (GA.M)"
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 1.3.6.1.2.1.1.3.0
    DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11060652) 1 day, 6:43:26.52
    
    ~ > snmpwalk -v2c -c Fortinet123# 192.168.100.99 .1.3.6.1.4.1.12356.100.1.1.1.0
    SNMPv2-SMI::enterprises.12356.100.1.1.1.0 = STRING: "FG101FTK20007637"
    
  3. 对于HTTPS、SSH、Telnet这类需要认证FortiGate管理员账号的协议来说:

    • 当只有一个管理员并且配置了可信主机后,非可信主机访问HTTPS、SSH、Telnet服务会被直接拒绝(无法打开HTTPS登录页面和SSH/Telnet连接)。
    • 当像2中那样配置了多个管理员,有的管理员配置了可信主机,有的管理员没有配置可信主机,那么使用非可信主机访问HTTPS的登录页面是可以正常打开登录页面的,SSH/Telnet登录信息也是可以显示的,会在登陆时检查是否为对应管理员的可信主机。

Copyright © 2024 Fortinet Inc. All rights reserved. Powered by Fortinet TAC Team.
📲扫描下方二维码分享此页面👇
该页面修订于: 2023-09-12 15:24:08

results matching ""

    No results matching ""