Monitorowanie SNMP dla STORMSHIELD

Opublikowany przez pawel w PROBLEMATYKA OGÓLNA

STORMSHIELD UTM ma wbudowanego agenta SNMP. W artykule opisuję w jaki sposób zainstalować i skonfigurować oprogramowanie MRTG w celu monitorowania ruchu na interfejsach UTM-a. MRTG to popularny (oparty o PERL) program do wizualizacji przepływów na interfejsach urządzenia sieciowego. Przykładowa instalacja zostanie przeprowadzona w ramach dystrybucji Ubuntu 16.04 LTS. MRTG generuje pliki graficzne wykresów które mogą być udostępniane poprzez http (Apache).

Jeżeli tak ja będziecie używać Ubuntu Desktop trzeba zainstalować serwer http – Apache v2:

sudo apt-get update
sudo apt-get install apache2

następnie instalujemy pakiet MRTG:

sudo apt-get install mrtg

Podczas procesu instalacji pakietu pojawi się monit:

konf_mrtg

Odpowiedź YES oznacza, plik konfiguracyjny MRTG będzie miał prawa (640) czy, że nie będzie mógł być odczytany przez others. Odpowiedź No oznacza, że plik konfiguracyjny będzie mógł być czytany przez others (644). Wybrałem opcję domyślną czyli Yes. Plik konfiguracyjny zostanie zapisany w:

/etc/mrtg.cfg

W paczce MRTG znajduje się skrypt do konfiguracji MRTG o nazwie cfgmaker, pozwala on na pozyskanie informacji z agenta SNMP i zapisanie ich w pliku konfiguracyjnym /etc/mrtg.cfg. Nim jednak uruchomimy skrypt musimy przygotować STORMSHIELD-a do „rozmowy” z cfgmaker.

Konfiguracja agenta SNMP znajduje się w MODUŁY/POWIADOMIENIA/SNMP AGENT

snmp_1

snmp_2

gdzie:

snmp_serwer reprezentuje adres IP MRTG

trzeba również zapewnić na FW możliwość przesyłania pakietów z MRTG do agenta:

snmp_3

teraz możemy wywołać skrypt konfiguracyjny:

sudo cfgmaker --output=/etc/mrtg.cfg public@192.168.99.1

gdzie:

adres 192.168.99.1 jest adresem agenta SNMP (czyli interfejsu lokalnego mojego U30S)

Otwieramy np. w edytorze vi plik /etc/mrtg.cfg:

sudo vi /etc/mrtg.cfg

i w sekcji Global Defaults dopisujemy:

RunAsDaemon: Yes
Interval: 5

oraz kasujemy znak komentarza przy Options[_]: growright, bits

 

snmp_5

następnie wykonujemy polecenia:

sudo mkdir /var/www/mrtg
sudo indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg

co spowoduje utworzenie katalogu w ramach przestrzeni serwera http i utworzenie w tym katalogu pliku indeksującego.

Należy dokonać edycji pliku konfiguracyjnego /etc/apache2/apache2.cfg w celu dopisania nowego obszaru:

Alias /mrtg "/var/www/mrtg/"
<Directory "/var/www/mrtg/">
        Options None
        AllowOverride None
        Require all granted
</Directory>

snmp_6

restarujemy serwer http:

sudo service apache2 restart

aby uprościć sobie życie możemy zapewnić automatyczny start MRTG po uruchomieniu systemu (/etc/init.d), należy wykonać poniższe polecenia:

cd ~
sudo touch mrtg

plik mrtg powinien zawierać treść:

#! /bin/sh
### BEGIN INIT INFO
# Provides: mrtg
# Required-Start: 
# Required-Stop: 
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mrtg init script
# Description: This file is used to start, stop, restart, 
# and determined status of the mrtg daemon.
# Author: iceflatline <iceflatline@gmail.com>
### END INIT INFO
 
### START OF SCRIPT
set -e
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="mrtg"
NAME=mrtg
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="/etc/mrtg.cfg"
PIDFILE=/etc/mrtg/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
 
# Exit if the mrtg package is not installed
[ -x "$DAEMON" ] || exit 0
 
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
 
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
 
# Function that starts the mrtg daemon
start()
{
 env LANG=C start-stop-daemon --start --quiet \
 --exec $DAEMON -- $DAEMON_ARGS
}
 
# Function that stops the mrtg daemon
stop()
{
 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
 --pidfile $PIDFILE 
}
 
case "$1" in
 start)
 log_daemon_msg "Starting $DESC" 
 start
 case "$?" in
 0) log_end_msg 0 ;;
 1) log_end_msg 1 ;;
 esac
 ;;
 stop)
 log_daemon_msg "Stopping $DESC"
 stop
 case "$?" in
 0) log_end_msg 0 ;;
 1) log_end_msg 1 ;;
 esac
 ;;
 restart|force-reload)
 log_daemon_msg "Restarting $DESC" 
 stop
 case "$?" in
 0|1)
 start
 case "$?" in
 0) log_end_msg 0 ;;
 1) log_end_msg 1 ;; 
 esac
 ;;
 esac
 ;;
 status)
 status_of_proc "$DAEMON" "$NAME" 
 ;;
 *)
 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" 
 ;;
esac
exit 0
### END OF SCRIPT

następnie wykonujemy polecenia:

sudo chmod +x mrtg
sudo mv mrtg /etc/init.d/
sudo update-rc.d mrtg defaults

na koniec startujemy demona MRTG:

sudo service mrtg start

w celu oglądania statystyk z ruchu na interfejsach w przeglądarce internetowej wywołujemy stronę:

http://adres_ip_mrtg/mrtg

mrtg_sns

Klikając na obrazek reprezentujący ruch na danym interfejsie otrzymamy dodatkowe statystyki w ujęciu: dziennym, tygodniowym, miesięcznym i rocznym.

Pliki MIB-s są dostępne pod adresem: https://www.stormshield.com/products-services/services/mibs/

- Paweł Grzelewski

05 Gru 2016


Najnowszy firmware SNS: 3.2.1 (Release Note)
Najnowszy firmware SNSv2: 2.7.2 (Release Note)