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)

Pagine: First | 1 | 2 | 3 | Next → | Last | Single Page

Come aggregare due o più connessioni internet con un router MikroTik

Come aggregare due o più connessioni internet con un router MikroTik

WirelessGuru-Mikrotik-HowtoTra gli scenari di rete che si possono realizzare utilizzando i router MikroTik, uno dei più richiesti è senza dubbio l'aggregazione di due o più collegamenti internet, come ad esempio ADSL via rame o via wireless.

RouterOS ci fornisce ottimi strumenti per riuscire in questo intento. Vediamo quindi quali sono le strade percorribili per aggregare due o più connessioni internet.

Il primo metodo è sicuramente utilizzando il "semplice" ECMP (Equal Cost Multi-Path). La configurazione ECMP consiste infatti nel mettere più di un destinatario come default gateway ed il nostro router utilizzando la metodologia Round-Robin invierà i pacchetti ethernet ai vari gateway in maniera "democratica".
Se ad esempio avessimo due connessioni ADSL raggiungibili tramite due router configurati con gli ip 172.23.0.1 e 10.0.0.1 basterà impostare il default gateway in questo modo:

[code]

/ip route dst-address=0.0.0.0/0 gateway=172.23.0.1,10.0.0.1

[/code]

Quindi come si può notare basterà aggiungere più gateway separati da una virgola per far sì che il nostro router aggreghi i due flussi. In pratica i pacchetti di rete verranno inviati il 50% al primo gateway ed il 50% al secondo gateway alternandoli uno ad uno in Round-Robin.

 

Se volessimo dare un peso maggiore alla prima connessione rispetto alla seconda potremmo dichiarare più volte un gateway:

[code] /ip route dst-address=0.0.0.0/0 gateway=172.23.0.1,172.23.0.1,172.23.0.1,10.0.0.1 [/code]

In questo esempio manderemmo il 75% dei pacchetti al router 172.23.0.1 ed il 25% al router 10.0.0.1

Questo scenario era molto in "voga" qualche anno fa quando le connessioni Web/HTTP erano più semplici e con meno controlli. Al giorno d'oggi, purtroppo, questo approccio risulta impercorribile in quanto, le moderne tecnologie di pubblicazione Web, fanno largo uso di tecnologie client side (come AJAX) che non permettono richieste "in sessione" da ip diversi. Implementare quindi un aggregazione di questo tipo, anche solo per il protocollo HTTP, risulterebbe disastroso.

E quindi niente aggregazione?

MikroTik per fortuna ha molti assi nella manica. Per aggregare in maniera funzionale due o più connettività possiamo utilizzare il firewall ed il suo "matcher" PCC (Per Connection Classifier).
Questo potente "matcher" permette di identificare i pacchetti appartenenti ad una "connessione" e di marchiarli in maniera diversa in base ad uno "scheduler".

In questo modo possiamo realizzare non tanto un bilanciamento di pacchetti, come per l'ECMP visto prima, ma un bilanciamento di connessioni.

Il flusso di lavoro che spiegherò in un prossimo articolo sarà:

Pagine: 1 | 2 | Single Page

Come non farvi tracciare, tramite traceroute, i router Mikrotik della vostra rete dai clienti

Come non farvi tracciare, tramite traceroute, i router Mikrotik della vostra rete dai clienti

WirelessGuru-Mikrotik-HowtoSe siete dei WISP o degli ISP ed utilizzate apparati MikroTik o SICE Hiperlink per la vostra rete Layer 3, sia con rotte statiche, sia con protocolli dinamici quali OSPF, RIP o BGP, vi sarà capitato, spesso e a malincuore, di vedere "esposti" ad un banale comando traceroute tutti vostri nodi di rete. A livello di sicurezza far conoscere ai vostri clienti il network layout non è proprio il massimo, in quanto una volta identificati gli ip dei nodi di rete, è sempre possibile tentare di eseguire "attacchi" ai vari router. Per "attacchi" intendo sia azioni per guadagnare il controllo del router (attacchi di brute force sugli account ad esempio), sia azioni di DoS (Denial Of Service) per tentare di rallentare o compromettere un nodo.

Ad esempio, se facciamo un traceroute da un router MikroTik, potremmo avere un risultato di questo tipo:

[code gutter="false" highlight="3,4"][admin@WirelessGuru] > tool traceroute 8.8.8.8
# ADDRESS LOSS SENT LAST AVG BEST WORST
1 13.25.11.65 0% 11 12.7ms 14.2 4.3 31.3
2 13.25.11.1 0% 11 4.5ms 7.5 3.5 13.4
3 94.32.134.137 0% 11 7.4ms 9.8 4.6 20.6
4 213.205.31.150 0% 11 12ms 15.7 10.2 29.5
5 94.32.128.105 0% 11 13.6ms 15.9 10.5 30.3
6 94.32.135.161 0% 11 17ms 41.4 13.7 257.5
7 94.32.134.146 0% 11 22.5ms 19.5 12.3 29.5
8 66.249.95.73 0% 11 35.6ms 18.9 11.6 35.6
9 8.8.8.8 0% 11 11.8ms 13 10.8 20
[/code]

I due router MikroTik evidenziati (13.25.11.65 e 13.25.11.1) fanno parte della nostra rete Layer 3 che instrada il traffico dei client verso internet.

Se volessimo far sparire quei router dal risultato del traceroute basterà aggiungere su ognuno di loro questa semplice regola di Firewall Mangle:

Pagine: First | 1 | 2 | 3 | Next → | Last | Single Page