
Monitoritzant un firewall Fortigate des de Centreon
En aquest post veurem com monitoritzar els nostres firewalls de Fortigate des d'un Centreon o Nagios o el que tinguem 🙂 Ho farem mitjançant consultes SNMP i vam poder conèixer en tot moment l'estat el seu xassís, l' estat del clúster si és que el tenim, l' ús i consum de les interfícies de xarxa, si disposem de VPNs el mateix, saber si es cauen, les sessions, etc., etc.… si tens un Fortigate, aquest és el teu post!
Habilitant SNMP al Fortigate,
Abans de començar a monitoritzar hem d'habilitar SNMP al firewall de Fortigate, els lloguem al web d'administració i des del menú “System” > “SNMP”, haurem d'habilitar l'SNMP Agent’ i en aquest cas habilitaré SNMP v2c, ho fem polsant en “Create New”.
Indiquem el nom de la comunitat, la IP a la qual permetrà consultes (la nostra màquina de monitoratge) i indiquem que permeti únicament consoles amb 'Accept queries only'. “OK”,
Tindrem en compte que cal indicar la interfície de xarxa del Fortigate per la qual se li faran consultes, per a això, des de “Network” > “Interfícies”, seleccionem la xarxa on hi ha la nostra màquina Centreon o Nagios, en el meu cas la pota LAN, i marquem el tick de SNMP a 'Administrative Access'. “OK”,
Instal·lant el Plugin per monitoritzar Fortigate,
Bé, a la nostra màquina Centreon, hem de descarregar l'script que vam fer servir per monitoritzar aquests cadells, usarem check_fortigate.pl, un pedaç script de Oliver Skibbe que ens permetrà monitoritzar no només els dispositius Fortigate, si no que els FortiMail o FortiAnalyzer si és que també els tenim. Si executem el següent ens instal·larem els requisits, ens descarregarem l'script, el fem executable, el deixarem on ha de ser 🙂 creem un directori necessari i canviem els seus permisos:
[sourcecode]cpan -i List::Compare
wget https://raw.githubusercontent.com/riskersen/Monitoring/master/fortigate/check_fortigate.pl
chmod +x check_fortigate.pl
mv check_fortigate.pl /usr/lib/centreon/plugins/
mkdir -p /var/spool/nagios/ramdisk/FortiSerial
chown centreon-engine:centreon-engine /var/spool/nagios/ramdisk/FortiSerial/ -R[/sourcecode]
Podeu provar d'executar check_fortigate.pl -h per veure totes les possibilitats que us dóna l'script, aquí veurem algunes de les més interessants!
Ja a Centreon, crear els Comandaments,
Vam crear els 2 Comandaments que necessitarem per poder obtenir els valors de les mètriques, un d'ells portarà valors de Warning i de Crítical per si volem personalitzar els valors a l'hora de crear els Serveis.
El que s'ha dit, des de “Configuration” > “Commands” creem 2 Comandaments:
- Command Name: check_fortigate.pl_wc
- Command Type: $CENTREONPLUGINS$/check_fortigate.pl -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -T $ARG 1$ -w $ARG 2$ -c $ARG 3$
- Arguments: Creem 3 arguments, posem en “Descriu arguments” i els donem d'alta: ARG1 : Tipus, ARG2 : Warning i ARG3 : Critical.
- Command Name: check_fortigate.pl
- Command Type: $CENTREONPLUGINS$/check_fortigate.pl -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -T $ARG 1$
- Arguments: Creem 1 argument, posem en “Descriu arguments” i li donem d'alta: ARG1 : Tipus
Crear el Host,
Simplement haurem de donar d'alta al nostre Centreon el nostre firewall de Fortigate, no? Per això crearem el Host des de “Configuration” > “Hosts”. Si disposem d'un clúster de firewalls el que es monitoritza en tot moment és el FW actiu, i no el passiu; per tant, donem d'alta la IP del nostre clúster i després ja veurem com monitoritzar els firewalls esclaus. Indiquem com sempre el seu nom, la seva adreça IP, comunitat SNMP i la versió. L'associem a la nostra plantilla administrativa i llest!
Crear els Serveis,
Ara hem de crear tants Serveis com ítems volem monitoritzar (que si la CPU, memòria…), us deixo molt breument un resum dels Serveis que estic fent servir jo, amb el Comandament que van associat i els arguments que necessiten.
Per saber l'estat de la salut del clúster crearem aquest servei:
- Description: Cluster
- Check Command: check_fortigate.pl
- Argument: Cluster
Per saber l'ús de CPU, creem aquest servei:
- Description: CPU
- Check Command: check_fortigate.pl_wc
- Arguments: CPU, 80, 90.
Per saber el consmum de Memòria RAM, creem aquest servei:
- Description: MEM
- Check Command: check_fortigate.pl_wc
- Arguments: CPU, 80, 90.
Bé, si volem monitoritzar el consum de qualsevol interfície, siguin físiques com les WAN1 o WAN2, la DMZ, boca de MANAGEMENT o les interfícies de HA, les VLAN o VPN, podrem prèviament saber a quin ID d'interfície correspondrà quina xarxa, per a això, simplement des de la shell del Centreon executem:
[sourcecode]snmpwalk -Os -c COMUNIDAD_SNMP -v 2c DIRECCION_IP_FORTIGATE | grep ifName.[/sourcecode]
I llest, creem tants Serveis com interfícies volem monitoritzar, per exemple la WAN1 del meu forti que és una línia de fibra que va a 600Mb:
- Description: Interfície WAN1
- Check Command: check_centreon_snmp_traffic_id
- Arguments: 3, 80, 90, 2, 300.
Nota, aquest Comando si no el tens, ho vam veure en un post anterior, quan monitoritzàvem les interfícies de xarxa d'un Windows, Linux…
Per saber l'estat de les connexions VPN, podrem mirar-ho de manera individual si ens interessés, per tipus de VPN, si són IPSEC o SSL… però en aquest exemple el mostri de manera global, tinc 3 VPNs aixecades i amb què m'avisi si se'n cau alguna ja val, no?
- Description: VPNs
- Check Command: check_fortigate.pl
- Arguments: VPN
Si volem conèixer les Sessions actives que té el firewall doncs això mateix… però ull! que ara et dic un truc, si vols conèixer les mètriques de l'altre firewall, vagi, del passiu, que sàpigues que ficant un '-s’ al final l'obtindràs, el cuqui és haver fet un Comando per a això, però si t'interessa el dit, saber la CPU de l'esclau o el que fos, fas com en la imatge de dalt.
- Description: Sessions
- Check Command: check_fortigate.pl_wc
- Arguments: ses, 2000, 3000.
Resultat!
Badaboom! Aquí tenim el resultat del que estaríem monitoritzat, un cop creats tots els serveis i gravada la configuració, veurem el resultat! Una maravilla! Tenim ja els fortis monitoritzats! Espero us hagi agradat 🙂