■FortigateのDNATでCiscoのSYSLOG転送、NTP参照と
SNMPエージェント、トラップ通信ルールを作成してみる。
※SNMPはエージェント、マネージャ、トラップの方向によって目指すIPが異なる。
■Cisco892JのWAN側GE0とFrtigateのDMZを接続
FortigateのDMZ IPにSyslog転送
これはDMZ->Internal方向のSYSLOG_DNATルール。
logging source-interface GigabitEthernet 0
logging 192.168.102.250
end
■DNZで受けたSyslogはInternal側のDebianサーバにDNAT。
config firewall vip
edit "SYSLOG_DNAT" <---
set extip 192.168.102.250
set extintf "dmz"
set mappedip "172.31.31.254"
next
end
config firewall policy
edit 4
set srcintf "dmz"
set dstintf "internal"
set srcaddr "Cisco892J"
set dstaddr "SYSLOG_DNAT" <---
set action accept
set schedule "always"
set service "SYSLOG" "NTP" "SNMP"
set utm-status enable
set av-profile "default"
set spamfilter-profile "default"
set ips-sensor "default"
set profile-protocol-options "default"
set nat enable
next
end
■Debian側のrsyslog設定
$ grep -A 1 172.31.31.250 /etc/rsyslog.conf
fromhost-ip, isequal, "172.31.31.250" /var/log/Cisco892J.log
& ~
■出力されたSYSLOG
$ sudo tail -f /var/log/Cisco892J.log | sed s/"%SYS.*: "/"&\n\t"/g
Jul 7 23:22:15 172.31.31.250 826: .Jul 7 14:22:14.998: %SYS-6-LOGGINGHOST_STARTSTOP:
Logging to host 192.168.102.250 port 514 started - CLI initiated
Jul 7 23:36:36 172.31.31.250 830: .Jul 7 14:36:36.052: %SYS-5-CONFIG_I:
Configured from console by labunix on vty1 (192.168.102.250)
■DebianのNTPサーバの参照許可設定
私の環境では各IP単位で許可しているので、
NAT変換後のIPを許可ルールに追加。
これもDMZ->Internal方向のSYSLOG_DNATルール。
$ grep 172.31.31.250 /etc/ntp.conf
restrict -4 172.31.31.250 kod notrap
■CiscoのNTP参照設定
ntp peer 192.168.102.250
end
Ntp Software Name : Cisco-ntpv4
Ntp Software Version : Cisco-ntpv4-1.0
Ntp Software Vendor : CISCO
Ntp System Type : Cisco IOS / MPC8300
address ref clock st when poll reach delay offset disp
*~192.168.102.250 133.243.238.164 2 18 64 3 1.458 0.084 63.380
* sys.peer,
Clock is synchronized, stratum 3, reference is 192.168.102.250
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**19
ntp uptime is 6800 (1/100 of seconds), resolution is 4000
reference time is D94674C3.313907D0 (15:54:43.192 UTC Tue Jul 7 2015)
clock offset is 0.0843 msec, root delay is 9.12 msec
root dispersion is 3948.97 msec, peer dispersion is 187.57 msec
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is 0.000000000 s/s
system poll interval is 64, last update was 63 sec ago.
Ntp In packets : 9
Ntp Out packets : 9
Ntp bad version packets : 0
Ntp protocol error packets : 0
■Debian側のSNMPマネージャの設定
これはInternal->DMZ方向のVDMZ_DNATルール
$ sudo grep community.*public /etc/snmp/snmpd.conf | grep -v ^#
rocommunity public localhost
rocommunity public default -V systemonly
■CiscoのSNMPエージェント設定
snmp-server community public ro
end
■Debianからバージョンを取得してみる。
$ snmpwalk -c public -v 1 172.31.31.250 sysdescr 2>/dev/null | sed -e 's/,/\n\t/g'
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software
C890 Software (C890-UNIVERSALK9-M)
Version 15.3(3)M1
RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2013 by Cisco Systems
Inc.
Compiled Tue 22-Oct-13 06:26 by prod_rel_team
■Fortigateのコンフィグで見るVDMZ_DNAT。
config firewall vip
edit "VDMZ_DNAT" <---
set extip 172.31.31.250
set extintf "internal"
set mappedip "192.168.102.254"
next
end
config firewall policy
edit 3
set srcintf "internal"
set dstintf "dmz"
set srcaddr "all"
set dstaddr "VDMZ_DNAT" <---
set action accept
set schedule "always"
set service "ALL_TCP" "SNMP"
set utm-status enable
set logtraffic all
set av-profile "default"
set ips-sensor "default"
set profile-protocol-options "default"
set nat enable
next
end
■Debian側のSNMPトラップ受信設定
普通のpublic/v1で受信すると、システムユーザ宛にメール通知される。
これはDMZ->Internal方向のSYSLOG_DNATルール。
$ sudo grep -v "^\$\|^#" /etc/snmp/snmptrapd.conf
authCommunity log,execute,net public
traphandle default /usr/bin/mail -s "SNMP Trap Mail" root@`hostname -f`
■CiscoのSNMP通知の設定
snmp-server trap-source GigabitEthernet0
snmp-server enable traps config
snmp-server host 192.168.102.254 version 1 public
end
■SNMPTRAPDでメール通知されたログを確認
$ tail -12 /var/spool/mail/labunix
172.31.31.250
UDP: [172.31.31.250]:65133->[172.31.31.254]
iso.3.6.1.2.1.1.3.0 37:0:39:21.77
iso.3.6.1.6.3.1.1.4.1.0 iso.3.6.1.4.1.9.9.43.2.0.1
iso.3.6.1.4.1.9.9.43.1.1.6.1.3.208 1
iso.3.6.1.4.1.9.9.43.1.1.6.1.4.208 2
iso.3.6.1.4.1.9.9.43.1.1.6.1.5.208 3
iso.3.6.1.6.3.18.1.3.0 192.168.102.254
iso.3.6.1.6.3.18.1.4.0 "public"
iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.9.9.43.2