9. A hálózati forgalom ellenőrzése

A kiszolgáló /var/log könyvtárban találjuk a naplóállományokat. A legnagyobb forgalmú naplóállomány a /var/log/messages. Ebben látjuk a rendszer üzeneteit démonok indításáról, leállításáról, rendszermag-szintű hibákról és még sok egyéb üzenet.
 
    9.1. Az Internet használat naplóállománya
 
Az Internet használat naplóállománya a /var/log/squid/access.log.
Az aktuális Internet használatot ellenőrizhetjük a tail -f paranccsal:
 
[root@centos5 ~]# tail -f /var/log/squid/access.log
1268775759.455    351 192.168.55.21 TCP_MISS/200 4864 GET http://www.google.hu/ hrobi DIRECT/74.125.87.106 text/html
1268775759.577      3 192.168.55.21 TCP_NEGATIVE_HIT/204 293 GET http://clients1.google.hu/generate_204 hrobi NONE/- text/html
 
A fenti sorokban at látjuk, hogy a 192.168.55.21 IP címről hrobi felhasználó a www.google.hu oldalt látogatja. A mezők szóközzel vannak elválasztva, az első oszlop dátum és idő, csak szabvány UNIX formátumban, vagyis az 1970 óta eltelt másodpercek számát mutatja. A log állomány képernyőre történő kiíratását a Ctrl+C billentyűkombinációval szakíthatjuk meg.
 
A squidlog.scp program segítségével átalakíthatjuk a UNIX formátumú időértéket hagyományosra. A programot megtaláljuk a http://kmf.uz.ua/centos/gui/server5.zip csomagban. Másoljuk a /root könyvtárba, módisítsuk tulajdonságait és nézzük meg a tartalmát:

 
[root@centos5 ~]# chmod 755 squidlog.scp
[root@centos5 ~]# cat ./squidlog.scp
#!/usr/bin/perl -p
s/^\d+\.\d+/localtime $&/e;
 
Látjuk, hogy egy egyszerű perl szkriptről van szó. Adjuk ki az előző parancsot, azzal a módosítással, hogy a parancs kimenetét átirányítjuk a squidlog.scp állományba. Figyeljük meg a működését:
 
[root@centos5 ~]# tail -f /var/log/squid/access.log | /root/squidlog.scp
Tue Mar 16 22:44:54 2010    625 192.168.55.21 TCP_MISS/304 239 GET http://www.google.hu/extern_chrome/2e2a706fb6752efb.js hrobi DIRECT/74.125.87.99 -
Tue Mar 16 22:44:55 2010    117 192.168.55.21 TCP_REFRESH_HIT/304 379 GET http://www.google.hu/images/nav_logo7.png hrobi DIRECT/74.125.87.99 -
  
    9.2. Sarg - Squid Analysis Report Generator
 
A Sarg nagy teljesítményű jelentéskészítő eszköz. A program a Squid log állományaiból naponta jelentést készít a webszerver könyvtárába. A jelentések megjelenítéséhez webszervert kell futtatni a kiszolgálón. A Sarg telepítéséhez adjuk ki a következő parancsot:
 
[root@centos5 ~]# yum --enablerepo=rpmforge install sarg
 
Módosítsuk az /etc/httpd/conf.d/sarg.conf állományt. A 192.168.4.101 helyett a saját munkaállomásunk IP címét írjuk:
 
Alias /sarg /var/www/sarg

<Directory /var/www/sarg>
        DirectoryIndex index.html
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        Allow from ::1
        # Allow from your-workstation.com
        Allow from 192.168.55.101
</Directory>
  
Mivel a SARG által összeállított jelentés bizalmas információkat tartalmaz, semmiképp se engedélyezzük hozzáférést bármilyen IP-ről. Az oldal tartalmát mi magunk is kezeljük ennek megfelelően. A felhasználói azonosítók és jelszavak kiosztásakor figyelmeztessük a felhasználókat, hogy az Internet használatát a rendszer naplózza.
 
Indítsuk újra a webszervert:

 
[root@centos5 ~]# service httpd restart
httpd leállítása:                                         [  OK  ]
httpd indítása:                                           [  OK  ]
[root@centos5 ~]#
  
A SARG minden éjjel 04:02 kor készíti el az előző napi jelentéseket. Mivel csak a 192.168.55.101 IP-című munkaállomásról engedélyeztük a hozzáférést, erről a gépről a http://192.168.55.1/sarg/ címen tekinthetjük meg az Internet-használati statisztikákat.  A napi statisztikákat a „daily” feliratra kattintva tekinthetjük meg. A kiszolgálón a sarg parancsot kiadva a program elkészíti az aktuális statisztikát, ezt a „ONE-SHOT” link alatt láthatjuk. A program által készített sokféle statisztika közül a 9.1. ábrán a március 16.-i Internethasználat adatait látjuk.
  
sarg1
9.1. ábra
 
A USERID oszlop bármelyik elemére kattintva, az adott felhasználó vagy gép részletes adatait látjuk. A 9.2. ábrán hrobi felhasználó Internet-használati adatainak részletét látjuk.

  
sarg2
9.2. ábra
 
    9.3. MRTG - Multi Router Traffic Grapher
 
A Multi Router Traffic Grapher (MRTG) egy olyan program, amellyel ellenőrizni tudjuk a hálózati eszközökön átmenő forgalmat. Az MRTG a hálózati forgalomból különböző szempontok alapján HTML oldalakat készít, amelyekben png kiterjesztésű képekként láthatjuk a grafikonokat.
A program telepítéshez adjuk aki a következő két parancsot:
 
[root@centos5 ~]# yum install mrtg
[root@centos5 ~]# yum install net-snmp
  
A telepítendő csomagok mérete kb. 2 Mb.

Készítsünk másolatot az /etc/snmp/snmpd.conf állományról a /root/conf.orig/ könyvtárba:

 
[root@centos5 ~]# cp /etc/snmp/snmpd.conf /root/conf.orig/
  
Másoljuk a http://kmf.uz.ua/centos/gui/server5.zip csomagban lévő snmpd.conf állományt az /etc/snmp könyvtárba. Az átmásolt konfigurációs állományban a syslocation és a syscontact értékeket megváltoztathatjuk.

Az /etc/snmp/snmpd.conf tartalma:
com2sec user1     default       user1
group   user1           v1      user1
group   user1           v2c     user1
group   user1           usm     user1
view all    included  .1                               80
access  user1           ""      any       noauth    exact  all none none
syslocation SULI
syscontact admin@suli.uz.ua
  
Indítsuk el az snmpd szolgáltatást és állítsuk be, hogy automatikusan induljon:
 
[root@centos5 ~]# service snmpd start
snmpd indítása:                                           [  OK  ]
[root@centos5 ~]# chkconfig --levels 235 snmpd on
  
Adjuk ki a következő parancsot:
 
[root@centos5 ~]# cfgmaker user1@192.168.55.1 >> /etc/mrtg/mrtg.cfg
  
Ahol a 192.168.55.1 a kiszolgáló belsőhálózati IP címe.
 
Az /etc/mrtg/mrtg.cfg fájlba írjuk be a következő sort: (amennyiben tartalmazza, töröljük a sor eleji # -et)

 
Options[_]: growright, bits
  
Mentsük az állományt és adjuk ki a következő parancsot:
 
[root@centos5 ~]# indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
  
Módosítsuk a /etc/httpd/conf.d/mrtg.conf állományt a következőre:
 
Alias /mrtg /var/www/mrtg

<Location /mrtg>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    # Allow from .example.com
    Allow from 127.0.0.1
    Allow from 192.168.55.0/24
</Location>
  
Ahol 192.168.55.0/24 a belső hálózatunk címe.
 
Indítsuk újra a webszervert:

 
[root@centos5 ~]# service httpd restart
httpd leállítása:                                         [  OK  ]
httpd indítása:                                          [  OK  ]
[root@centos5 ~]#
  
Az MRTG ötpercenként, a hálózati forgalom átlagából készít statisztikát. A http://192.168.55.1/mrtg/ címen a 9.3. ábrához hasonló grafikonokat láthatunk működő kapcsolat esetén, körülbelül két óra elteltével. Természetesen az adott sávszélesség és használat függvényében az alábbi ábrától eltérő grafikont fogunk látni. Két grafikont tartalmaz az oldal, mivel két interfész van a kiszolgálóban. A grafikonokon a zöld színnel a bejövő, kékkel a kimenő forgalmat látjuk.
A bal oldali grafikon a kiszolgáló eth0, vagyis a külső interfészének forgalmát mutatja. A jobb oldali a belső, vagyis az eth1 interfész. A jobb oldali grafikon a proxy servernek köszönhetően mutat a bejövőnél nagyobb sávszélességet. Azonos tartalmak több kliensen történő letöltése esetén még nagyobb eltérést is tapasztalhatunk.
 
mrtg
9.3. ábra
 
A grafikonokra kattintva az elmúlt 30 perc átlagáról (heti nézet - weekly view), az elmúlt 2 óra átlagáról (havi nézet - monthly view), és az elmúlt 1 nap átlagáról (éves nézet - yearly view) látunk statisztikákat.


    9.4. IPTraf

Az IPTraf program segítségével megfigyelhetjük a kiszolgáló hálózati csatolóinak adatforgalmát. Az eddig tárgyalt programok mellett elsősorban azért van szükség rá, mert segítségével a TCP kapcsolatok fontosabb paramétereit is megvizsgáljatjuk kiszolgáló működése közben. Telepítsük a programot és indítsuk el:
 

[root@centos5 ~]# yum install iptraf
...
[root@centos5 ~]# iptraf
   
A program karakteres felülettel rendelkezik és angol nyelvű. Elindítva a program verziószámát, készítőjének nevét és licence információkat olvashatunk, bármelyik billentyűt leütve megjelnik a menü, melynek elemeit az iránybillenyűkkel tudjuk kiválasztani (9.4. ábra)
 
ipt1
9.4. ábra
 
Az IP traffic monitor (IP forgalom figyelése) sort választva újabb menü jelenik meg, ahol a hálózati intefészek közül választhatunk. Az All interfaces (Minden interfész) sort választva mindkét csatoló forgalmát megfigyelhetjük (9.5. ábra)

ipt2
9.5. ábra
 
A 9.5. ábrán látható táblázat első két sorában azt látjuk, hogy 192.168.55.21 IP című gépen egy alkalmazás 1226 porton a kiszolgálónk 8080 portjához kapcsolódott. Az ötödik hatodik sor pedig a kiszolgáló eth0, tehát a külső, csatolója a 195.137.254.90 IP című gép 80 portjához kapcsolódott. Megállapíthatjuk, hogy az egyik munkaállomásunk (192.168.55.21) a proxy szerverhez csatlakozott, az pedig egy webszerverhez.
Az S és utánna B billentyűket lenyomva a kapcsolatokat a letöltött adatmennyiség szerint sökkenő sorrendbe rendezhetjük, hogy a legaktívabb kliensek legyenek az első sorokban. Kilépni a munükből és a programból az X billenyűvel lehet.

Részletes leírást találunk a programról az alábbi címen: http://www.linuxvilag.hu/content/files/cikk/61/cikk_61_49_53.pdf