Page 1 of 4

monitorare il traffico internet

Posted: Thu Apr 14, 2005 10:54 am
by pistodj
Salve!!

Mi chiedevo se qualcuno di voi mi sa consigliare un buon programma di monitoraggio per il traffico internet in una rete locale lan avente un server che distribuisce l'accesso a internet.

ho gi' provato a smanettare in google ma nn sono riuscito a trovare quasi nulla...

Grazie!!

Posted: Thu Apr 14, 2005 10:56 am
by gutter
Cosa intendi per monitorare?

Spiega meglio cosa devi fare.

Posted: Thu Apr 14, 2005 11:03 am
by pistodj
devo essere in grado di sapere che connessioni sono state stabilite:
-da che utente o ip
-quando
-dove si e' connesso
- come (porta)

esempio se tizio si e' scaricato 50 mb di mp3 io tramite dei registri voglio sapere se lo ha fatto!!
per cui se un giorno devo sapere se 4 settimane fa un tizio ha dei download o altro io devo essere in grado di dimostrarlo!!

Posted: Thu Apr 14, 2005 11:38 am
by gutter
Non penso che tu lo possa fare semplicemenete con usa solo applicazione, penso che ti serva almeno un firewall ed un proxy di livello applicativo che faccia il log. Tutto dipende da che protocolli vuoi controllare.

Posted: Thu Apr 14, 2005 11:48 am
by pistodj
a me interessa l'http e https e ch più ne ha più ne metta!!
A me infine interessa la sicurezza della rete interna e per renderla sicura devo essere in grado di monitorarla!!
cmq che proxy applicativo mi consigli e che firewall??

Posted: Thu Apr 14, 2005 12:05 pm
by hellraiser
per il firewall senz altro iptables...configurato bene, con le giuste regole che ti logghi quel che ti interessa...

per il proxy non so se squid possa andare bene...bho :(

Posted: Thu Apr 14, 2005 12:11 pm
by pistodj
iptable già lo conosco ma con cosa lo configuro?? ora già ce l'ho ma mi parte con uno script di bash ma in quanto a log nn so nulla!!

conosci programmi che gestiscano la configurazione di esso via grazica o browser in modo serio??

Posted: Thu Apr 14, 2005 12:33 pm
by hellraiser
ci sarebbe shorewall, di cui tutti ne parlano bene...ma sinceramente io non l ho mai provato..preferisco impostarmi iptables tutto da solo, in modo da saper in modo preciso quel che faccia

Posted: Thu Apr 14, 2005 12:47 pm
by pistodj
all'ora ci do un'occhiata!!

cmq se vi posto il mio script di iptables potete darci un'occhiata?? Tanto per vedere se ci sono gravi lacune!!

Posted: Thu Apr 14, 2005 1:08 pm
by hellraiser
si ok prova a postarlo...cosi vediamo di darti una mano...

Posted: Thu Apr 14, 2005 1:32 pm
by klaudyo
Ho letto di sfuggita tutto il thread, quindi forse do un suggerimento sbagliato. Ad ogni modo per gestire la rete è utile anche SNMP che è un protocollo per la gestione di rete.

Su Interent si troba molta documentazione e quello che serve è in Portage. Non so, giusto per avere qualcosa in più da valutare....

Posted: Thu Apr 14, 2005 2:17 pm
by pistodj
ecco il mio script di iptables:

tenete presente che il mio server ha due schede di rete una per collegarsi al router e una per collegarsi alla rete locale

Code: Select all

#! /bin/sh
ETH_INTERNET=eth0
ETH_LAN=eth1
SUBNET_LAN=192.100.12.0/255.255.255.0
IPTABLES=iptables




iptables -F FORWARD
iptables -F INPUT
iptables -F OUTPUT
iptables  -t nat -F POSTROUTING

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP


#------------------------------------------------------------------------------
#-------------- CONTROLLI GENERALI --------------------------------------------
#------------------------------------------------------------------------------


#Se mi entrano in input pacchetti con indirizzi di rete locali dall'interfaccia di internet scartali!!
iptables -A INPUT   -s $SUBNET_LAN -i $ETH_INTERNET -j DROP
iptables -A FORWARD -s $SUBNET_LAN -i $ETH_INTERNET -j DROP

#Permetto di entrare nel server solo dalla rete locale (scarto il resto)
iptables -A INPUT -p tcp --destination-port 1024: -s ! $SUBNET_LAN  -m state --state RELATED,ESTABLISHED	-j ACCEPT
iptables -A INPUT -p tcp --destination-port 1024: -i $ETH_INTERNET -m state --state RELATED,ESTABLISHED  -j ACCEPT
iptables -A INPUT -m unclean -j DROP
iptables -A FORWARD -m unclean -j DROP

#Accettiamo per il postfix e cose varie se conoscete metodi meno rischiosi fatemi sapere grazie!!
iptables -A OUTPUT -p tcp --destination-port 0: -s ! $SUBNET_LAN  -m state --state NEW,RELATED,ESTABLISHED       -j ACCEPT





#------------------------------------------------------------------------------
#--------------      MASQUERADING      ----------------------------------------
#------------------------------------------------------------------------------

iptables -t nat -A POSTROUTING -p tcp -o $ETH_INTERNET  -j MASQUERADE



#FTP


iptables -A FORWARD -i eth1 -o eth0 -p tcp --destination-port 20  -m state --state NEW,RELATED,ESTABLISHED  -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --destination-port 21  -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


iptables -A FORWARD -i eth0 -o eth1 -p tcp --source-port 20  -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --source-port 21  -m state --state RELATED,ESTABLISHED -j ACCEPT



#------------------------------------------------------------------------------
#---  VERIFICATE SE HANNO SENSO A ME SEMBRANO INUTILI OLTRE CHE RISCHIOSE ----
#------------------------------------------------------------------------------

ricordo che però se nn le applicavo X nn mi partiva.


iptables -A FORWARD -i eth1 -o eth0 -p tcp  --source-port 1024: --destination-port 1024: -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1  -p tcp  --source-port 1024: --destination-port 1024: -m state        --state RELATED,ESTABLISHED  -j ACCEPT




#------------------------------------------------------------------------------
#--------------    FORWARD     ------------------------------------------------
#------------------------------------------------------------------------------


#Socket
iptables -A INPUT  -p tcp  -i lo   -j ACCEPT




#http


iptables -A FORWARD  -p tcp --source-port 80 -d 192.100.12.159 		-i eth0 -m state 	--state RELATED,ESTABLISHED  -j ACCEPT
iptables -A FORWARD  -p tcp --source-port 80 -d 192.100.12.28 		-i eth0 -m state 	--state RELATED,ESTABLISHED  -j ACCEPT
iptables -A FORWARD  -p tcp --source-port 80 -d 192.100.12.32  		-i eth0 -m state 	--state RELATED,ESTABLISHED -j ACCEPT



iptables -A FORWARD  -p tcp --destination-port 80 -s 192.100.12.159 	-i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD  -p tcp --destination-port 80 -s 192.100.12.28 	-i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD  -p tcp --destination-port 80 -s 192.100.12.32 	-i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT





#https

iptables -A FORWARD  -p tcp --destination-port 443 -s 192.100.12.159 -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD  -p tcp --destination-port 443 -s 192.100.12.27 -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD  -p tcp --destination-port 443 -s 192.100.12.28 -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD  -p tcp --destination-port 443 -s 192.100.12.6  -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


iptables -A FORWARD  -p tcp --source-port 443  -d 192.100.12.159 -i eth0	-m state        --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD  -p tcp --source-port 443 -d 192.100.12.27  -i eth0 	-m state        --state RELATED,ESTABLISHED  -j ACCEPT
iptables -A FORWARD  -p tcp --source-port 443 -d 192.100.12.28  -i eth0 	-m state        --state RELATED,ESTABLISHED  -j ACCEPT
iptables -A FORWARD  -p tcp --source-port 443 -d 192.100.12.6  -i eth0		-m state        --state RELATED,ESTABLISHED  -j ACCEPT




#------------------------------------------------------------------------------
#--------------    INPUT/OUTPUT     -------------------------------------------
#------------------------------------------------------------------------------


# E-Mail
iptables -A INPUT 	-p tcp --destination-port 25 	-s 192.100.12.159   -j ACCEPT
iptables -A INPUT 	-p tcp --destination-port 25 	-s 192.100.12.28    -j ACCEPT
iptables -A INPUT 	-p tcp --destination-port 25 	-s 192.100.12.32    -j ACCEPT




iptables -A INPUT 	-p tcp --destination-port 110 	-s 192.100.12.159  	-j ACCEPT
iptables -A INPUT 	-p tcp --destination-port 110	-s 192.100.12.28   	-j ACCEPT
iptables -A INPUT 	-p tcp --destination-port 110 	-s 192.100.12.32   	-j ACCEPT




#Mail

iptables -A INPUT 	-p tcp --source-port 25 	-d 192.100.12.159  -j ACCEPT
iptables -A INPUT 	-p tcp --source-port 25 	-d 192.100.12.28   -j ACCEPT
iptables -A INPUT 	-p tcp --source-port 25 	-d 192.100.12.32   -j ACCEPT



iptables -A INPUT 	-p tcp --source-port 110 	-d 192.100.12.159 	-j ACCEPT
iptables -A INPUT 	-p tcp --source-port 110	-d 192.100.12.28  	-j ACCEPT
iptables -A INPUT 	-p tcp --source-port 110 	-d 192.100.12.32  	-j ACCEPT

#-----------------------------------------------------------------------------------------------------------------------------------
#---------------------------------------------     ICMP     ------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------------------



#iptables -A FORWARD  -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP




#-----------------------------------------------------------------------------------------------------------------------------------
#---------------------------------------------     SAMBA ------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------------------
#ssh
iptables -A INPUT -p tcp --destination-port 22 -s 192.100.12.159 -j ACCEPT
iptables -A INPUT -p udp --destination-port 22 -s 192.100.12.159 -j ACCEPT

iptables -A INPUT -p tcp --source-port 22 -d 192.100.12.159 -j ACCEPT
iptables  -A INPUT -p udp --source-port 22 -d 192.100.12.159 -j ACCEPT


#telnet
iptables -A INPUT -p tcp --destination-port 23 -s 192.100.12.159 -j ACCEPT
iptables -A INPUT -p udp --destination-port 23 -s 192.100.12.159 -j ACCEPT

iptables -A INPUT -p tcp --source-port 23 -d 192.100.12.159 -j ACCEPT
iptables  -A INPUT -p udp --source-port 23 -d 192.100.12.159 -j ACCEPT

#mail
#iptables -A INPUT -p tcp --destination-port 110  -j ACCEPT
#iptables -A INPUT -p tcp --source-port 110  -j ACCEPT
##iptables -A INPUT -p udp --destination-port 110  -j ACCEPT
#iptables -A INPUT -p udp --source-port 110  -j ACCEPT

#iptables -A INPUT -p tcp --destination-port 25  -j ACCEPT
#iptables -A INPUT -p tcp --source-port 25  -j ACCEPT
#iptables -A INPUT -p udp --destination-port 25  -j ACCEPT
#iptables -A INPUT -p udp --source-port 25  -j ACCEPT



#dns
iptables -A INPUT -p tcp --destination-port 53  -j ACCEPT
iptables -A INPUT -p tcp --source-port 53  -j ACCEPT
iptables -A INPUT -p udp --destination-port 53  -j ACCEPT
iptables -A INPUT -p udp --source-port 53  -j ACCEPT

iptables -A FORWARD -p tcp --source-port 53 -j ACCEPT
iptables -A FORWARD -p tcp --destination-port 53 -j ACCEPT
iptables -A FORWARD -p udp --source-port 53 -j ACCEPT
iptables -A FORWARD -p udp --destination-port 53 -j ACCEPT


iptables -A OUTPUT -p tcp --destination-port 53    -j ACCEPT
iptables -A OUTPUT -p tcp --source-port 53   -j ACCEPT
iptables -A OUTPUT -p udp --destination-port 53    -j ACCEPT
iptables -A OUTPUT -p udp --source-port 53   -j ACCEPT



#SAMBA
iptables -A INPUT  -p udp --destination-port 137 -s $SUBNET_LAN  -i eth1 -j ACCEPT
iptables -A INPUT  -p udp --destination-port 138 -s $SUBNET_LAN  -i eth1 -j ACCEPT
iptables -A INPUT  -p tcp --destination-port 139 -s $SUBNET_LAN  -i eth1  -j ACCEPT
iptables -A INPUT  -p tcp --destination-port 445  -s $SUBNET_LAN -i eth1 -j ACCEPT




#webmin
iptables -A INPUT  -p tcp -s $SUBNET_LAN --destination-port 10000 -i eth1 -j ACCEPT
iptables -A INPUT  -p udp -s $SUBNET_LAN --destination-port 10000 -i eth1 -j ACCEPT

iptables -A INPUT  -p tcp -d $SUBNET_LAN --source-port 10000 -i eth1 -j ACCEPT
iptables -A INPUT  -p udp -d $SUBNET_LAN --source-port 10000 -i eth1 -j ACCEPT

#------------------------------------------------------------------------------
#--------------    OUTPUT     -------------------------------------------------
#------------------------------------------------------------------------------



iptables -A OUTPUT -p tcp --destination-port 25    -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 110   -j ACCEPT

iptables -A OUTPUT -p tcp --source-port 25    -j ACCEPT
iptables -A OUTPUT -p tcp --source-port 110   -j ACCEPT


iptables -A OUTPUT -p tcp --destination-port 20    -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 21   -j ACCEPT

iptables -A OUTPUT -p tcp --source-port 20    -j ACCEPT
iptables -A OUTPUT -p tcp --source-port 21   -j ACCEPT

iptables -A OUTPUT  -p udp --source-port 137 -d $SUBNET_LAN -o $ETH_LAN -j ACCEPT
iptables -A OUTPUT  -p udp --source-port 138 -d $SUBNET_LAN -o $ETH_LAN -j ACCEPT
iptables -A OUTPUT  -p tcp --source-port 139 -d $SUBNET_LAN -o $ETH_LAN -j ACCEPT


iptables -A OUTPUT -p tcp --source-port 22 -d 192.100.12.159 -j ACCEPT
iptables  -A OUTPUT -p udp --source-port 22 -d 192.100.12.159 -j ACCEPT

iptables -A OUTPUT -p tcp --source-port 23 -d 192.100.12.159 -j ACCEPT
iptables  -A OUTPUT -p udp --source-port 23 -d 192.100.12.159 -j ACCEPT


iptables -A OUTPUT  -p tcp -d $SUBNET_LAN --source-port 10000 -j ACCEPT
iptables -A OUTPUT  -p udp -d $SUBNET_LAN --source-port 10000 -j ACCEPT
Grazie!!

Edit gutter: Per favore usiamo i bbcode

Posted: Thu Apr 14, 2005 4:04 pm
by drizztbsd
uhm ntop faceva qualcosa di simile credo (non lo uso da troppo tempo) 8)
oppure sì un classico iptables logging magari con query via web in php

Posted: Thu Apr 14, 2005 5:28 pm
by Truzzone
Anch'io sono interessato a qualcosa di simile, cioè voglio riuscire ad implementare un "registro" del tipo ip_locale-sito_o_servizio_richiesto, in modo tale che anche dopo un mese riesca a risalire dove è chi utilizzava quell'indirizzo ip_locale, è fattibile senza l'ausilio di un proxy? È possibile farlo con il semplice iptables (link howto)? :?:
Ho provato ntop, però da quello che ho visto non ha un'history di un determinato ip_locale, ma solamente quello che sta visitando in quel preciso momento, se non ricordo male :?

Ciao by Truzzone :)

Posted: Thu Apr 14, 2005 5:36 pm
by federico
Come programmi esistono anche mrtg e darkstat, non so se fanno al caso vostro. Eventualmente iptables coi log segna tutto

Federico

Posted: Thu Apr 14, 2005 6:05 pm
by FonderiaDigitale
puoi usare squid come transparent proxy, nella box che fa da gateway.
ricordati di usare USE=snmp di modo tale da poterlo monitorare dall'esterno.
usando snmp, puoi monitorarlo con cacti per fare dei grafici tipo questo http://stats.it.gac.edu/cacti/graph.php ... &type=tree


per quanto riguarda ip-access-ore ecc, ti servono degli strumenti come questi: http://merlino.merlinobbs.net/Squid-Boo ... i-log.html

Posted: Thu Apr 14, 2005 8:28 pm
by .:chrome:.
pistodj wrote:ecco il mio script di iptables:
beh... deve andare bene a te... :)
se mi permetti una critica, però, è un gran casino!!!
prima di tutto: perché non usi /var/lib/iptables/rules-save? puoi specificare lì tutte (e sole) le regole, senza tirare in ballo script e/o variabili che rendono difficile la lettura, e quindi anche la manutenzione.
e poi è tutto poco leggibile: ci sono spesso informazioni ridondanti (vedi il modulo state che compare in ogni entry) che potrebbero essere raccolte in un unico punto.
nota che non si tratta di osservazioni sulla funzionalità, ma sulla leggibilità, che però è fondamentale quando c'è da fare manutenzione!!

per il monitoraggio: io uso ntop, e quando voglio proprio farmi i cazzacci dei miei utenti uso awstats, associato a squid (da un'occhio qui: http://awstats.sf.net)

ciao!

Posted: Fri Apr 15, 2005 8:39 am
by pistodj
awstats sembra giusto ciò che mi serve!!
a colpo docchio nn ho capito una cosa...
riesco anche vedere chi della mia lan interna è andato dove o so solo se uno della mia lan è andato dove??

Posted: Fri Apr 15, 2005 9:09 am
by .:chrome:.
pistodj wrote:awstats sembra giusto ciò che mi serve!!
a colpo docchio nn ho capito una cosa...
riesco anche vedere chi della mia lan interna è andato dove o so solo se uno della mia lan è andato dove??
con le connessioni http sì (circa)

Posted: Fri Apr 15, 2005 1:01 pm
by Taglia
E usare snort?

Posted: Fri Apr 15, 2005 1:17 pm
by .:chrome:.
Taglia wrote:E usare snort?
snort mi pare una cosa un po' eccessiva, per quello che voleva fare :?

Posted: Fri Apr 15, 2005 7:01 pm
by pistodj
cosa sarebbe snort?? che funzionalità ha in più...??

Posted: Fri Apr 15, 2005 10:50 pm
by .:chrome:.
pistodj wrote:cosa sarebbe snort?? che funzionalità ha in più...??
lascia perdere. snort è un network analyzer, ma viene usato per testare la vulnerabilità della rete e per fare forensics analisys. fa molto più di quello che chiedi, e nello specifico, non è abbastanza dettagliato per quello che vuoi te

Posted: Sat Apr 16, 2005 9:33 am
by comio
k.gothmog wrote:
pistodj wrote:cosa sarebbe snort?? che funzionalità ha in più...??
lascia perdere. snort è un network analyzer, ma viene usato per testare la vulnerabilità della rete e per fare forensics analisys. fa molto più di quello che chiedi, e nello specifico, non è abbastanza dettagliato per quello che vuoi te
snort è un IDS (Intrusion Detection System)... anzi è l'IDS. Comunque non server per fare monitoring di prestazioni, ma per analizzare il traffico e beccare le anomalie, tipo attacchi alla rete.

ciao

Posted: Sat Apr 16, 2005 11:22 am
by Taglia
Appunto ... analizzare il traffico ... è un IDS ma ciò non vuol dire che lo posso utilizzare anche per analizzare altre cose rispetto alle intrusioni (es scoprire e loggare chi scarica mp3)... o mi sbaglio?