IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

NOTA: Vegeu Packet Flow de mikrotik

Alert.png Aquesta wiki forma part dels materials d'un curs
Curs: SeguretatXarxesInformàtiques, LinuxAdministracioAvancada, DissenyXarxesLinux
Fitxers: EinesMonitoritzacio.pdf (EinesMonitoritzacio.odp)

EinesMonitoritzacio2.pdf (EinesMonitoritzacio2.odp)

Repositori SVN: https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/SeguretatXarxesInformàtiques
Usuari: anonymous
Paraula de pas: sense paraula de pas
Autors: Sergi Tur Badenas
ntop logo

Instal·lació

Per instal·lar ntop en un sistema Debian/Ubuntu:

$ sudo apt-get install ntop

La instal·lació crea un usuari específic del sistema (usuari ntop). Aquest és l'usuari que correrà l'aplicació ntop.

Un cop instal·lat és necessari que configurem ntop:

$ sudo dpkg-reconfigure ntop

Us preguntarà per les interfícies que voleu monitoritzar:

NTOPConfiguracio.png

IMPORTANT: A la imatge hi ha un error. La llista ha d'estar separada per comes, per exemple: eth0, eth1, eth2

I per l'usuari que utilitzarà NTOP a l'executar-se:

NTOPConfiguracio1.png

El primer cop és necessari executar ntop per tal de que ens pregunti per la contrasenya de l'usuari admin.

$ ntop
..................
dj 31 mai 2007 20:05:07 CEST  THREADMGMT[t3028818832]: DNSAR(1): Started thread for DNS address resolution
dj 31 mai 2007 20:05:07 CEST  Calling plugin start functions (if any)
dj 31 mai 2007 20:05:07 CEST  SSL is present but https is disabled: use -W <https port> for enabling it
dj 31 mai 2007 20:05:07 CEST  INITWEB: Initializing web server

ntop startup - waiting for user response!

Please enter the password for the admin user: dj 31 mai 2007 20:05:07 CEST  THREADMGMT[t3028818832]: DNSAR(1): Address resolution thread running [p14901]

Una altra opció és executar:

$ sudo -i
# ntop --set-admin-password
NOTE: --set-admin-password requested, no password.  Did you forget the =?
Sun Jun 24 19:26:16 2007  Initializing gdbm databases
Sun Jun 24 19:26:16 2007  Now running as requested user '(null)' (0:0)  

Please enter the password for the admin user: 
Please enter the password again: 
Sun Jun 24 19:26:37 2007  Admin user password has been set
# exit

On password és la contrasenya que volem per l'usuari admin. Ara ja podem executar/parar el servei ntop amb:

$ sudo /etc/init.d/ntop start

o

$ sudo /etc/init.d/ntop stop

Configuració

Control del servei. Execució, parada i reconfiguració de NTOP

Seguint els estàndards de Debian GNU/Linux (basat en el sistema d'scripts d'inicialització SystemV) l'script de control del dimoni bind és:

/etc/init.d/ntop

Les accions que podem fer amb el servei són {start|stop|restart|force-reload|reload}

Cada cop que fem un canvi a la configuració de ntop cal reiniciar el servei amb un restart o, millor encara, un reload del servei:

$ sudo /etc/init.d/apache2 reload

Tal com podem veure executant:

$ sudo updatedb
$ locate ntop |grep rc
/etc/rc5.d/S20ntop
/etc/rc4.d/S20ntop
/etc/rc3.d/S20ntop
/etc/rc0.d/K20ntop
/etc/rc1.d/K20ntop
/etc/rc2.d/S20ntop 
/etc/rc6.d/K20ntop

Com podem veure al fitxer /etc/default/ntop:

$ cat /etc/default/ntop
# This file will normally include the debconf template but you can disable
# that and use this file only.

. /var/lib/ntop/init.cfg
#GETOPT=""

El fitxer que conté el paràmetre d'inicialització de ntop és /var/lib/ntop/init.cfg:

$ sudo cat /var/lib/ntop/init.cfg
USER="ntop"
INTERFACES="eth0,eth1,eth2,eth3,eth4,eth5,eth6,eth10,eth11,eth12" 

Podeu trobar més informació a l'article Configuració de serveis en Linux

Configuració de les interfícies

Per indicar quines interfícies volem monitoritzar hem de modificar el fitxer /var/lib/ntop/init.cfg:

$ sudo nano /var/lib/ntop/init.cfg
USER="ntop"
INTERFACES="eth0,eth1,eth2,eth3,eth4,eth5,eth6,eth10,eth11,eth12"

O tal i com es comenta a la instal·lació podem executar:

$ sudo dpkg-reconfigure ntop

Configuració dels Protocols

Segons el manual el paràmetre -p (protocols) s'encarrega de determinar quins protocols controlarà ntop. Si no s'especifica una llista concreta només ens mostrarà la informació dels següents protocols per defecte:

FTP=ftp|ftp-data
        HTTP=http|www|https|3128     3128 is Squid, the HTTP cache
        DNS=name|domain
        Telnet=telnet|login
        NBios-IP=netbios-ns|netbios-dgm|netbios-ssn
        Mail=pop-2|pop-3|pop3|kpop|smtp|imap|imap2
        DHCP-BOOTP=67-68
        SNMP=snmp|snmp-trap
        NNTP=nntp
        NFS=mount|pcnfs|bwnfs|nfsd|nfsd-status
        X11=6000-6010
        SSH=22
        Peer-to-Peer Protocols
        ----------------------
        Gnutella=6346|6347|6348
        Kazaa=1214
        WinMX=6699|7730
        DirectConnect=0      Dummy port as this is a pure P2P protocol
        eDonkey=4661-4665
        Instant Messenger
        -----------------
        Messenger=1863|5000|5001|5190-5193

No executar ntop durant l'arrancada del sistema

Ntop és una eina que no val la pena tenir en execució continuament (sobretot quan no la utilitzem), ja que si tenim força trànsit de xarxa farà un consume força important de recursos. Lo ideal és doncs executar ntop en moment donats quan anem a utilitzar l'eina per tal de monitoritzar la xarxa. Podeu fer que ntop no s'executi per defecte al arranca la màquina amb:

$ sudo update-rc.d -f ntop remove

Quan vulgueu podeu executar ntop amb:

$ sudo /etc/init.d/ntop restart

PF_RING

Vegeu també: GULP

Reverse Proxing NTOP

Ntop utilitza el port 3000. Imagineu que el vostre servidor on s'està executant NTOP ésta darrera d'un router amb NAT i no podeu o no voleu obrir el port 3000 a l'exterior però si que voleu utilitzar ntop. Una opció és fer un Reverse Proxy i accedir a NTOP des de l'Apache.

Anem a veure els passos a seguir. En primer terme em de consultar si tenim els mòduls necessaris instal·lats i si estan actius.

Podem veure els mòduls instal·lats amb la comanda:

$ dpkg -l | grep apache2 | grep mod
ii  apache2-mpm-prefork          2.2.3-3.2ubuntu0.1                     Traditional model for Apache HTTPD 2.1
rc  libapache2-mod-php4          4.4.2-1.1                              server-side, HTML-embedded scripting languag
ii  libapache2-mod-php5          5.2.1-0ubuntu1.4                       server-side, HTML-embedded scripting languag
ii  libapache2-svn               1.4.3dfsg1-1ubuntu1                    Subversion server modules for Apache

Podem buscar paquets de mòduls d'Apache2 amb la comanda:

$ sudo apt-cache search apache2 | grep mod
...........
libapache2-mod-musicindex - Browse, stream, download and search through MP3/Ogg/FLAC files
libapache2-mod-ngobjweb - Apache2 module for the SOPE application server
libapache2-mod-proxy-html - Apache2 filter module for HTML links rewriting
..............

Per exemple el mòdul libapache2-mod-proxy-html podem veure que no esta instal·lat i el podem instal·lar executant:

$ sudo apt-get install libapache2-mod-proxy-html
NOTA: Alguns mòduls ja estan instal·lats per defecte amb la instal·lació base d'Apache 2 (com és el cas del mòdul Proxy)

Ara podem activar o comprovar si els mòduls de proxy estan activats amb la comanda a2enmod.

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_html 
$ sudo a2enmod headers

Són els mòduls que necessitarem per aquest exemple. Un cop activats cal recarregar Apache per aplicar els canvis

$ sudo /etc/init.d/apache2 force-reload

Més sobre mòduls a Mòduls Apache

Ara podem configurar el lloc web d'Apache que farà un Reverse Proxy d'NTOP. Creem i editem el fitxer

$ sudo nano /etc/apache2/sites-available/ntop

Afegim les següents línies:

ProxyRequests Off

ProxyPass /ntop http://192.168.0.2:3000
ProxyPassReverse /ntop http://192.168.0.2:3000
SetOutputFilter proxy-html
ProxyHTMLURLMap http://192.168.0.2:3000 /ntop
ProxyHTMLURLMap / /ntop/
ProxyHTMLURLMap /ntop /ntop
RequestHeader unset  Accept-Encoding

Ara només cal tornar a iniciar Apache:

$ sudo /etc/init.d/apache2 force-reload

I podrem accedir a NTOP sense utilitzar el port 3000:

http://adreça_del_lloc_web_apache/ntop

Podeu obtenir més informació sobre Apache2 i Reverse Proxy a la secció Apache Proxy de l'article sobre Apache.

Tingueu en compte el que es comenta en el següent apartat si teniu problemes amb el Proxy.

Resolució de problemes amb el reverse Proxy

Si obteniu un error amb el proxy que us indica que no teniu permisos és que teniu la configuració per defecte de denegar als clients utilitzar el vostre Apache com a Proxy.

L'error és detecta al fitxer de log d'errors d'Apache amb un missatge similar a:

$ sudo tail -f /var/log/apache2/error.log
.........
[Sun Oct 21 21:34:11 2007] [error] [client 87.219.198.174] client denied by server configuration: proxy:http://192.168.1.2
.....
.....

Cal repasar que no hi hagi cap lloc on l'accés al Proxy estigui denegada a tots els clients. Normalment ho trobareu a la configuració per defecte del proxy:

$ sudo nano /etc/apache2/mods-enabled/proxy.conf
<IfModule mod_proxy.c>
       #turning ProxyRequests on and allowing proxying from all may allow
       #spammers to use your proxy to send email.

       ProxyRequests Off

       <Proxy *>
               AddDefaultCharset off
               Order deny,allow
               #Deny from all
               Allow from all
       </Proxy>

       # Enable/disable the handling of HTTP/1.1 "Via:" headers.
       # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
       # Set to one of: Off | On | Full | Block

       ProxyVia On
</IfModule>

En aquest cas s'ha comentat la línia que impedia l'accés a tothom i s'ha afegit una línia per activar l'accés a tothom.Tal i com s'indica cal vigilar molt de no activar el Proxy per a tothom i amb la opció ProxyRequests en On.

Recursos