MikroTik Hotspot: Come loggare il traffico degli utenti (parte 1)

MikroTik Hotspot: Come loggare il traffico degli utenti (parte 1)

WirelessGuru-Mikrotik-Log-Hotspot-Connection-Part-1

Realizzare delle reti Hotspot WiFi con MikroTik, a meno di non attribuire un ip pubblico per ogni utente, implica molto spesso di dover attivare un log del traffico degli utenti verso internet. Vediamo come possiamo con MikroTik attivare il logging del traffico degli utenti hotspot.

Generare i log

Grazie alla flessibilità e potenza del sistema operativo RouterOS possiamo in maniera molto semplice impostare alcune regole per tenere traccia delle attività relative agli utenti della rete wireless WiFi.

Per prima cosa andiamo nei settaggi relativi alle attività di Log ed abilitiamo il logging per hotspot e firewall:

[code]

/system logging add topics=firewall action=memory

/system loggin add topics=hotspot action=memory

[/code]

Attraverso queste due semplici regole diciamo al sistema di iniziare a tenere traccia delle attività relative all'hotspot (login, logout etc) e di "scrivere" nella RAM (memory) l'attività. Vedremo in seguito come veicolare in altri target questi log.

Adesso utilizzando il firewall andremo a creare una regola che permetta di "loggare" il traffico passante dal router:

[code]
/ip firewall mangle add chain=forward connection-state=new action=log
[/code]

Con questi semplici comandi abbiamo configurato il router MikroTik per "loggare" il traffico degli utenti, se infatti utilizziamo l'hotspot ed andiamo a vedere dentro "Log" troveremo sicuramente delle entry di questo tipo:

[code]
Feb 7 2016 20:17:59 firewall,info: in:bridge-hs out:ether1, src-mac 00:03:aa:dd:de:2c, proto TCP (SYN), 172.31.255.253:58523->64.233.166.188:5228, len 60
Feb 7 2016 20:20:16 firewall,info: in:bridge-hs out:ether1, src-mac 00:03:aa:dd:de:2c, proto TCP (SYN), 172.31.255.253:48072->64.233.167.192:7275, len 60
Feb 7 2016 20:22:59 firewall,info: in:bridge-hs out:ether1, src-mac 00:03:aa:dd:de:2c, proto TCP (SYN), 172.31.255.253:47049->64.233.184.188:5228, len 60
[/code]

ovviamente gli IP, le porte ed i mac-address varieranno dall'esempio sopra riportato!

Cosa abbiamo in queste entry? Andiamo ad analizzarle:

Feb 7 2016 10:17:59  Data ed ora del log

firewall,info  Chi ha generato il log (nel nostro caso il firewall)

in:bridge-hs out:ether1 Quali interfacce il pacchetto ha attraversato

src-mac 00:03:aa:dd:de:2c Il MAC ADDRESS del dispositivo in LAN

proto TCP (SYN) Il tipo di protocollo (TCP, UDP, etc)

172.31.255.253:58523->64.233.166.188:5228 L'ip sorgente e l'ip destinatario con le relative porte.

Come ben si nota con questa entry riesco a "loggare" il minimo indispensabile richiesto dalla normativa:

chi (ip sorgente)

dove (ip destinazione)

cosa (protocollo + porta di destinazione, ad esempio TCP/80 è una richiesta HTTP)

quando (data ed ora)

Non avremo mai nei log, ed è corretto così, l'url/dns richiesto dall'utente. Tale informazione lederebbe in maniera netta le leggi sulla privacy degli utilizzatori della nostra area Hotspot WiFi.

Per quanto riguarda il "chi" essendo un ip privato dobbiamo fare un ulteriore ricerca, e andare a vedere, a ritroso, a quale nome utente il sistema aveva assegnato quell'ip.

Scorrendo a ritroso i log troveremo sicuramente una entry tipo:

[code]

Feb 7 2016 9:23:34 hotspot, info 34733xxxxx (172.31.255.253) logged in

[/code]

dove 34733xxxxx è il nome utente e 172.31.255.253 è l'ip associato al momento del login. Questo IP sarà dell'utente per tutta la durata della sua sessione (fino al suo logout dalla rete), dopo il logout quell'ip sarà riutilizzato da un'altro utente, fate quindi attenzione quando andate ad incrociare i dati.

Se vi chiedete se c'è un modo per avere l'username direttamente nella entry di log senza andare a ricercarlo a ritroso... beh leggete fino in fondo 🙂

Redirezionare i log verso un syslog remoto

A questo punto, visto che le reti hotspot generano un alto numero di entry log, dobbiamo redirezionare tali log verso un syslog esterno. Non possiamo lasciarli come sono adesso in quanto si cancellerebbero ad ogni riavvio o al superamento di una soglia (piuttosto bassa).

Procediamo con il configurare l'ip del server syslog. Si consiglia di averlo in LAN con l'hotspot o, se volete metterlo centralizzato in Cloud, assicuratevi di avere banda internet sufficiente. Come parametro di misura considerate che ogni utente attivo genera in media 5Kb di log al secondo, quindi 100 utenti attivi sono 500Kbps e cosi' via.

Per impostare l'ip del server log, ad esempio su 192.168.0.200 digitare:

[code]
/system logging action set remote remote=192.168.0.200
[/code]

Associare adesso le due regole di logging precedentemente create alla nuova action "remote", per fare questo dobbiamo prima trovare il loro id, attraverso un comando print:

[code]
/system logging print

# TOPICS ACTION PREFIX
0 info memory
1 error memory
2 warning memory
3 critical echo
4 firewall memory
5 hotspot memory
[/code]

successivamente modifichiamo la action utilizzando il loro id (nel nostro caso 4 e 5):

[code]
/system logging set 4 action=remote
/system logging set 5 action=remote
[/code]

Adesso i nostri log verranno inviati sul server Syslog remoto tramite il suo protocollo UDP con porta 514 e saranno memorizzati in maniera permanente sullo storage.

Conclusione

Con questo articolo ho illustrato come, in maniera molto semplice, sia possibile generare il flusso di log relativo agli utenti delle aree WiFi create con i prodotti MikroTik o RouterOS based come gli apparati della linea HIPERLINK di SICE.

In un prossimo articolo, per questo il titolo del presente finisce con "parte 1", mostrerò come è possibile includere nella linea di log anche il nome utente, senza doverlo andare a ricercare a ritroso nel file di log.

Volete avere una entry log contenente anche il nome utente? Qualcosa tipo:

Feb 7 2016 20:17:59 firewall,info: 34733xxxxx in:bridge-hs out:ether1, src-mac 00:03:aa:dd:de:2c, proto TCP (SYN), 172.31.255.253:58->64.233.166.188:5228, len 60

dove 34733xxxxx è l'username dell'utente dell'area WiFi?
Allora commentate e condividete con i vostri colleghi di LinkedIn questo post il più possibile 🙂

MikroTik: DHCP server non autorizzato, come impostare un alert

MikroTik: DHCP server non autorizzato, come impostare un alert

WirelessGuru-Mikrotik-HowtoCome ben tutti noi System Administrator sappiamo il DHCP server in una LAN è diventato ormai un servizio necessario, soprattutto se forniamo connettività wireless WiFi. Ma cosa succede se nella LAN si attivano, per sbaglio, due server DHCP? Succede che la rete LAN si troverà ben presto con dei problemi e risulterà fuori controllo.

Se gestiamo una rete di un cliente, con apparati MikroTik, dobbiamo evitare nel modo più assoluto che qualcuno attivi a nostra insaputa un server DHCP, per esempio installando un router WiFi acquistato in qualche megastore.

E' possibile monitorare la rete LAN e far scattare un alert nel caso venga rilevato un server DHCP non autorizzato? Si', con MikroTik si può. Vediamo come.

Nel nostro router MikroTik dovremo andare a configurare, nella sezione DHCP server, un "alert" in caso di rilevazione server DHCP non autorizzato.

[code]

[admin@WirelessGuru] > /ip dhcp-server alert

[admin@WirelessGuru] /ip dhcp-server alert> add interface=ether1 valid-server=00:0C:42:8D:D1:30 alert-timeout=60 on-alert=":log info DHCP-ALERT" disabled=no

[/code]

Con questi semplici comandi abbiamo configurato il nostro router MikroTik per monitorare ogni minuto (alert-timeout=60s) l'interfaccia ether1, che nel mio caso è quella connessa alla LAN, se voi avete l'interfaccia ethernet collegata in un bridge è importante usare il bridge, e non l'ethernet, come interfaccia di monitoraggio.

E' fondamentale, affinchè il comando sia efficace, specificare con l'opzione "valid-server" il mac-address del dhcp server valido della rete. Tutti gli altri genereranno un alert.

Se a questo punto andiamo ad abilitare nella nostra LAN un secondo DHCP server il nostro settaggio dell'opzione "on-event" provvederà a scrivere nei log la frase "DHCP-ALERT".

Ovviamente possiamo fare ben altro, come ad esempio farci inviare dal router MikroTik una email di notifica, modificando opportunamente la sezione "on-event" in questo modo:

[code]
[admin@WirelessGuru] > /ip dhcp-server alert

[admin@WirelessGuru] /ip dhcp-server > add interface=ether1 valid-server=00:0C:42:8D:D1:30 alert-timeout=60 on-alert="/tool e-mail send to="info@wirelessguru.it" subject="ALERT Unauthorized DHCP Server" body="ALERT Server DHCP non autorizzato rilevato." disabled=no
[/code]

Ricapitolando, con questo Tool di MikroTik, se vogliamo vigilare (o ci hanno dato questo compito) su una LAN remota, saremo avvisati entro un minuto, se qualcuno per errore o per "furbizia" ha installato, e malconfigurato, un router con DHCP server attivo, nella LAN.

Spero che questa mini guida su come attivare un alert in caso di attivazione di un server DHCP non autorizzato vi sia stata utile per apprezzare e comprendere meglio le immense possibilità offerte dal sistema operativo RouterOS di MikroTik.

HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare