Analiza web prometa korištenjem Netflow alata

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Sadržaj

Traffic-Flow

Traffic-Flow općenito

Traffic-Flow je mogućnost usmjerivača koja služi za skupljanje mrežnog prometa na ulaznom ili izlaznom sučelju. Osim za nadzor mreže koristi se i za identifikaciju problema i optimizaciju cjelokupnih mrežnih performansi. Analizirajući podatke, administrator mreže može dobiti informacije kao što su izvor i odredište prometa, korištene protokole, količinu preuzetih podataka i mnoge druge. Mikrotik-ov Traffic-Flow je kompatibilan sa Netflow rješenjem iz vlasništva tvrtke Cisco, stoga ima podršku za sve opcije koje ono nudi. Detaljnije informacije moguće je pronaći u službenoj dokumentaciji.

Izvoz Traffic-Flow podataka s Mikrotik usmjerivača

Prilikom izrade ovog projekta korišten je usmjerivač Mikrotik RB951G-2HnD koji je konfiguriran na zadane (engl. default) postavke. Nakon spajanja u upravljačko sučelje pomoću winbox-a ili web sučelja, potrebno je iz izbornika odabrati karticu IP > Traffic Flow. Postavke podesiti kao na sljedećoj slici.

Tf1.PNG

Zatim je potrebno podesiti na kojoj adresi se nalazi kolektor podataka. Pritisnite tipku Targets, zatim plavi plus za dodavanje novog unosa, te postavke podesite kao na sljedećoj slici. Napomena: postavite IP adresu Vašeg računala na kojem će se nalaziti kolektor podataka i port preko kojeg će komunicirati. Netflow Analyzer koristi port 9996.

Tf2.PNG

Potvrdite unos pritiskom na tipku Apply, te OK. Zatvorite Traffic Flow Targets prozor, te u prozoru Trafic Flow Settings pritisnite tipku Apply. Sada možete provjeriti dali se Traffic-Flow podaci zaista šalju pritiskom na karticu Status. Nakon par trenutaka trebali bi vidjeti vrijednosti u Active i Finished Flows kako inkrementalno rastu.

Tf3.PNG

Napomena: potrebno je u vatrozid (engl. firewall) dodati pravilo koje odobrava korištenje porta 9996 u protivnom aplikacija za analizu neće dobivati podatke.


Konfiguracija Traffic-Flow postavki koristeći CLI

TL;DR - Nakon pokretanja terminala unesite sljedeće naredbe:

    ip traffic-flow < pritisni enter >
    ip traffic-flow> set enabled=yes interface=all < pritisni enter >
    ip traffic-flow> target < pritisni enter >
    ip traffic-flow target> add address=x.x.x.x:9996 disabled=no version=9 < pritisni enter >

Napomena: Izmijeniti IP adresu na flow collector, dodati port u firewall.

Tf4.PNG

Nadzor mrežnog prometa

Nadzor mrežnog prometa sastoji se od tri glavne komponente:

Traffic-Flow je samo izvoznik protoka koji skuplja pakete, od njih stvara tokove podataka i šalje ih prema jednom ili više kolektora protoka. Kolektori skupljaju podatke, pohranjuju ih te vrše početnu obradu podataka. Na kraju procesa je aplikacija koja je zadužena za analiziranje i prikazivanje podataka. Ponekad aplikacija može sadržavati i kolektor protoka što pojednostavljuje početnu konfiguraciju. Taj slučaj ćemo vidjeti na primjeru u nastavku gdje je korišten Netflow Analyzer.

Netflow Analyzer - Windows 10

Netflow Analyzer općenito

Netflow Analyzer je aplikacija za analizu mrežnog prometa. Koristi Traffic-Flow tehnologiju za snabdijevanje podacima te prikaz mrežne propusnosti u stvarnom vremenu. Osmišljeno je kao unificirano rješenje koje sakuplja, analizira i prikazuje za što se mrežni promet koristi i tko ga koristi.

Instalacija i konfiguracija Netflow Analyzer programa

Potrebno je preuzeti i instalirati besplatnu verziju ManageEngine-ovog alata s njihove službene web stranice. Ponuđena Vam je trial verzija koja traje 30 dana ili besplatna koja prati samo 2 sučelja.

Tijekom instalacije nije potrebno mijenjati zadane vrijednosti. Nakon instalacije potrebno je pokrenuti aplikaciju pomoću kratice na radnoj površini ili navigiranjem na http://localhost:8080 . Ulogirajte se s korisničkim imenom: admin i lozinkom:admin. Ako Traffic-Flow nije prethodno podešen prikazat će se sljedeća poruka.

Na1.png

Ako je Traffic-flow dobro podešen nakon par trenutaka možemo osvježiti stranicu i trebali bi dobiti: grafičke prikaze najkorištenijih aplikacija, protokola, konverzacija i QoS (engl. Quality of Service), te mnoge druge opcije na raspolaganju.

Network Analyzer - Dashboard a)
Network Analyzer - Dashboard b)
Network Analyzer - Grafički prikaz Layer 4 korištenih portova i protokola
Network Analyzer - Prikaz Generiranog Reporta



Ntopng - Ubuntu 15.10

Ntopng općenito

Ntopng je novija verzija programa ntop, koji služi za analizu Gbit mrežnog prometa. Sastoji se od sljedečih programa neophodnih za rad (engl. dependancies):

Napomena: Za snimanje prometa na vlastitom interface-u, ntopng je dovoljan. Ukoliko želite snimati WAN mrežu neophodan vam je nProbe koji nije besplatan i potrebno je kupiti licencu za normalno funkconiranje. U beplatnom izdanju limitira se snimanje paketa na 20K i zatim prestaje raditi.

Instalacija ntopng programa

Korišena konfiguracija:

Najlakši način za instalaciju prema službenoj dokumentaciji je sljedeći:

    wget http://www.nmon.net/apt-stable/12.04/all/apt-ntop.deb
    sudo dpkg -i apt-ntop.deb

Zatim update package list

    apt-get clean all
    apt-get update
    sudo apt-get install ntopng pfring nprobe ntopng-data n2disk nbox

Ukoliko nedostaju neki od dependancie-a pokrenite

    sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server libxml2-dev libnl-3-dev libhiredis0.10

Ako Vam još uvijek nešto nedostaje (kao što je meni nedostajalo) napravite sljedeće. U protivnom preskočite ovaj korak i nastavite sa pokretanjem ntopng programa.
Recimo da nedostaje libhiredis0.10 potražite ga na ovom linku. Pronađite source od tog dependancie-a.

    deb http://us.archive.ubuntu.com/ubuntu precise main universe

Te ga kopirajte i pospremite u sources.list

    sudo nano /etc/apt/sources.list

Sada osvježite apt-get i pokušajte ponovo sve instalirati

    sudo apt-get update
    sudo apt-get install libhiredis0.10
    sudo apt-get install ntopng pfring nprobe ntopng-data n2disk nbox

Pokretanje programa

Sa naredbom ip addr, ifconfig ili ntopng -h pogledajte slobodne interface-e. Možemo postaviti i opciju any.
Sada ćemo testirati dali ntop radi.

    sudo ntopng -i any -w 12345

U browseru idite na adresu localhost:12345 i ulogirajte se sa podacima username i password = admin. Kasnije ako želite u postavkama promijenite password.

Ntopng - Login

Kroz par trenutaka trebali bi vidjeti podatke koji pristižu te grafove koji se automatski ažuriraju.

Ntopng - prvo pokretanje Dashboard

Konfiguracija ntopng programa

Recimo da je IPv4 vašeg servera 192.168.1.55. Prvo pokrenite ntopng:

    ntopng -i tcp://127.0.0.1:5556 -d /var/tmp/ntopng -w 3000 -v >> /dev/null &

Zatim nProbe kolektor:

    nprobe --collector-port 6343 --zmq tcp://127.0.0.1:5556 >> /dev/null &

Sada pokrenite traffic flow na vašem ruteru, podesite željeni interface i podesite kao target ip adresu vašeg servera i port 6343.

Idite na 192.168.1.55:3000 , ulogirajte se i podaci bi se trebali početi prikazivati.


Opcionalno Ukoliko ne želite kod svakog pokretanja ponovo konfigurirati programe, možemo editirati njihove konfiguracijeske datoteke, npr.

    sudo nano /etc/ntopng/ntopng.conf
    # /etc/ntopng/ntopng.conf
    #
    #        The  configuration  file is similar to the command line, with the exception that an equal
    #        sign '=' must be used between key and value. Example:  -i=p1p2  or  --interface=p1p2  For
    #        options with no value (e.g. -v) the equal is also necessary. Example: "-v=" must be used.
    #
    #
    #       -G|--pid-path
    #        Specifies the path where the PID (process ID) is saved.
    #
    -G=/var/tmp/ntopng.pid
    #
    #       -e|--daemon
    #        This  parameter  causes ntop to become a daemon, i.e. a task which runs in the background
    #        without connection to a specific terminal. To use ntop other than as a casual  monitoring
    #        tool, you probably will want to use this option.
    #
    -e=
    #
    #       -i|--interface
    #        Specifies  the  network  interface or collector endpoint to be used by ntopng for network
    #        monitoring. On Unix you can specify both the interface name  (e.g.  lo)  or  the  numeric
    #        interface id as shown by ntopng -h. On Windows you must use the interface number instead.
    #        Note that you can specify -i multiple times in order to instruct ntopng to create  multi‐
    #        ple interfaces.
    #
    -i=
    #
    #       -w|--http-port
    #        Sets the HTTP port of the embedded web server.
    #
    -w=3000
    #
    #       -m|--local-networks
    #        ntopng determines the ip addresses and netmasks for each active interface. Any traffic on
    #        those  networks  is considered local. This parameter allows the user to define additional
    #        networks and subnetworks whose traffic is also considered local in  ntopng  reports.  All
    #        other hosts are considered remote. If not specified the default is set to 192.168.1.0/24.
    #
    #        Commas  separate  multiple  network  values.  Both netmask and CIDR notation may be used,
    #        even mixed together, for instance "131.114.21.0/24,10.0.0.0/255.0.0.0".
    #
    -m=192.168.1.0/24
    #
    #       -n|--dns-mode
    #        Sets the DNS address resolution mode: 0 - Decode DNS responses  and  resolve  only  local
    #        (-m)  numeric  IPs  1  -  Decode DNS responses and resolve all numeric IPs 2 - Decode DNS
    #        responses and don't resolve numeric IPs 3 - Don't decode DNS responses and don't  resolve
    #
    -n=1
    #
    #       -S|--sticky-hosts
    #        ntopng  periodically purges idle hosts. With this option you can modify this behaviour by
    #        telling ntopng not to purge the hosts specified by -S. This parameter requires  an  argu‐
    #        ment  that  can  be  "all"  (Keep  all hosts in memory), "local" (Keep only local hosts),
    #        "remote" (Keep only remote hosts), "none" (Flush hosts when idle).
    #
    -S=
    #
    #       -d|--data-dir
    #        Specifies the data directory (it must be writable). Default directory is ./data
    #
    -d=/var/tmp/ntopng
    #
    #       -q|--disable-autologout
    #        Disable web interface logout for inactivity.
    #
    -q=
    -v=

Kreirajte ntopng.start:

    sudo nano /etc/ntopng/ntopng.start

Dodajte sljedeće:

    --local-networks "192.168.0.0/24"  ## give your local IP Ranges here.
    --interface 1

Pokrenite ntopng:

    sudo service ntopng start


Ntopng nam daje odličan uvid u mrežno stanje. Prava je šteta što nije putpuno open source. Alternativa za korištenje može biti starija verzija - ntop ili neki drugi program kao npr. nfsen.


Ntopng - izbornik
Ntopng - top flow talkers
Ntopng - ports
Ntopng - applications
Ntopng - active flows
Ntopng - all hosts
Ntopng - geolokacija


--Marko Plaftarić 21:32, 24. siječnja 2016. (CET)

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima