set
24

Accedere ad una VPN Kerio

 

Tra i tanti prodotti di sicurezza della Kerio Technologies alcuni offrono la possibilità di attivare un server VPN (Virtual Private Network) per consentire ad utenti esterni alla rete di accedere alle risorse che si trovano dietro il firewall in maniera controllata.

In questa guida vedremo come accedere ad una VPN creata da Kerio WinRoute Firewall utilizzando il client VPN di Kerio.

Configurazione esistente di Kerio WinRoute Firewall

Non spiegherò il funzionamento della configurazione del prodotto Kerio, non è nello scopo di questa guida. Vediamo soltanto com’è stato configurato il server VPN per comprendere come utilizzare il client.

Kerio WinRoute Firewall - InterfacceNella sezione Interfacce è presente la configurazione del server VPN e degli eventuali tunnel usati per far comunicare i client con le sottoreti.

L’interfaccia della LAN utilizza la sottorete 192.168.10.1/24.

Server VPN - GeneraleOsservando le proprietà del server VPN, nella scheda Generale si possono osservare il pool di indirizzi rilasciati ai client che si collegheranno (172.27.132.0/24) sia la Fingerprint (96:2a:b6:…) che servirà per identificare il certificato crittografico.

Server VPN - AvanzataSulla scheda Avanzata invece sarà possibile vedere la porta sulla quale il server VPN è in ascolto e inoltre sarà possibile configurare le rotte che verranno aggiunte automaticamente ai client che si collegheranno.

Questo server VPN è quindi in ascolto sulla porta 5090 e inoltre aggiungerà a tutti i client VPN che si connetteranno una rotta aggiuntiva per un Server Prova.

Modifica tunnel VPNE’ stato inoltre configurato un tunnel chiamato Interna che consente di far transitare gli utenti connessi in VPN dalla sottorete 172.27.132.x alla sottorete 192.168.10.x.

Tutti questi dettagli non interesseranno direttamente gli utenti della VPN, servono solo a chiarire e verificare se i client avranno ottenuto le informazioni corrette una volta connessi.

Installazione del client VPN Kerio

Il client per le VPN Kerio è disponibile online a questa pagina oppure nella pagina archivio di Kerio che contiene tutti i prodotti scaricabili.

Kerio VPN Client DownloadL’ultima versione ad oggi disponibile è la 7.0.1. Il file scaricato di questa versione si chiamerà kerio-control-vpnclient-7.0.1-1098-linux.deb, salvarlo nella cartella Home.

Per tutta l’installazione userò il terminale che è più rapido e diretto, iniziamo ad installare le dipendenze necessarie:

sudo apt-get install libuuid1 zlib1g debconf openssl procps

Alcuni o tutti i pacchetti indicati potrebbero essere già installati e alla versione più recente, ignorare l’avviso e procedere normalmente.

Eseguiamo l’installazione del pacchetto deb appena scaricato:

sudo dpkg -i kerio-control-vpnclient-7.0.1-1098-linux.deb

Nel caso si usasse una versione a 64 bit è necessario forzare l’architettura con:

sudo dpkg --force-architecture -i kerio-control-vpnclient-7.0.1-1098-linux.deb

La procedura di installazione farà alcune semplici domande per autoconfigurare il servizio client VPN.

Kerio VPN ServerLa prima domanda ovviamente riguarda l’indirizzo del server VPN a cui collegarsi, è possibile inserire l’indirizzo IP oppure il nome del suo DNS.

Nel caso si fosse cambiata la porta predefinita 4090 è possibile indicare la porta con indirizzo:porta. Poiché nella configurazione del nostro server Kerio abbiamo usato la porta 5090 basterà indicare indirizzo.server.vpn:5090.

Autodetect fingerprintVerrà richiesto se rilevare automaticamente la fingerprint dal server VPN, rispondere con per procedere all’autorilevazione.

Accept fingerprintSarà automaticamente trovata la fingerprint che avevamo configurato sul server: 96:2A:B6:...

Verificare che la fingerprint rilevata corrisponda esattamente a quella emessa dal server (vedi paragrafo precedente sulla configurazione del server). Se la fingerprint corrisponde allora si potrà confermare la chiave scegliendo l’opzione .

Se la fingerprint non corrispondesse, non procedere poiché i rischi di sicurezza sarebbero elevati, è probabile che la connessione non sia stata diretta a quel server oppure che qualcuno stia deviando il traffico altrove (un classico man in the middle).

User nameDopo l’accettazione della chiave sarà richiesto il nome utente con cui autenticarsi sul server VPN. Ovviamente l’utente qui indicato deve esistere sul server VPN ed essere autorizzato al collegamento VPN. Rivolgersi all’amministratore del server per farsi rilasciare le credenziali di accesso.

Password for user 'muflone'Segue la naturale richiesta della password per l’utente appena inserito. Prestare attenzione alla digitazione poiché non sarà richiesta la verifica della password. Se si dovesse sbagliare qualcosa nella configurazione, sarà possibile rilanciarla come spiegato in fondo all’articolo.

Terminati questi passaggi l’installazione procederà normalmente e senza ulteriori richieste:

Selezionato il pacchetto kerio-control-vpnclient.
(Lettura del database... 172379 file e directory attualmente installati.)
Estrazione di kerio-control-vpnclient (da kerio-control-vpnclient-7.0.1-1098-linux.deb)...
Configurazione di kerio-control-vpnclient (7.0.1-1098-1)...
Starting Kerio Control VPN client

Elaborazione dei trigger per ureadahead...
Elaborazione dei trigger per libc-bin...
ldconfig deferred processing now taking place

Al termine dell’installazione sarà automaticamente avviata la connessione della VPN con i dati indicati.

Verifica dell’avvenuta connessione

La prima verifica che andrà fatta è quella di controllare se l’interfaccia di rete VPN è attiva:

ifconfig -a
[ ... ]
kvnet Link encap:Ethernet  HWaddr 76:37:60:97:06:3a  
      indirizzo inet:172.27.132.3  Bcast:172.27.132.255  Maschera:255.255.255.0
      indirizzo inet6: fe80::7437:60ff:fe97:63a/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
      RX packets:7 errors:0 dropped:0 overruns:0 frame:0
      TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
      collisioni:0 txqueuelen:500
      Byte RX:594 (594.0 B)  Byte TX:5141 (5.1 KB)

E’ apparsa un’interfaccia di nome kvnet che ha come indirizzo IP 172.27.132.3, che corrisponde a uno degli indirizzi IP emessi dal nostro server VPN come abbiamo potuto vedere nella configurazione iniziale del server.

Andiamo adesso a verificare le rotte d’instradamento del traffico, per semplificazione ho nascosto le rotte che non riguardano la VPN:

route -n
Tabella di routing IP del kernel
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
50.50.50.33     192.168.100.254 255.255.255.255 UGH   1      0        0 usb0
123.123.123.112 172.27.132.1    255.255.255.240 UG    1      0        0 kvnet
172.27.132.0    0.0.0.0         255.255.255.0   U     0      0        0 kvnet
192.168.10.0    172.27.132.1    255.255.255.0   UG    1      0        0 kvnet
0.0.0.0         192.168.100.254 0.0.0.0         UG    0      0        0 usb0

La prima rotta 50.50.50.33 è il server VPN, questo assicura che il traffico diretto a quell’indirizzo passi attraverso il gateway predefinito 192.168.100.254, ovvero la connessione internet diretta.

La seconda rotta 123.123.123.112 è esattamente quella del cosiddetto Server Prova che era presente nella configurazione avanzata del server VPN. Tutti i client connessi al server VPN infatti ottengono le rotte che sono state decise sul server VPN. Tutto il traffico di queste rotte passerà ovviamente sull’interfaccia kvnet e quindi attraverso la VPN.

La terza rotta 172.27.132.0 consente ai client VPN di comunicare tra di loro attraverso il tunnel.

La quarta rotta 192.168.10.0 è la più importante, si tratta della LAN che si trova dietro il server VPN. Per mezzo di questa rotta tutto il traffico diretto agli indirizzi 192.168.10.x (si veda la configurazione dell’interfaccia LAN sul server Kerio) transiterà attraverso il tunnel e quindi gli utenti remoti potranno accedere alle risorse che si trovano dietro il server VPN.

La quinta rotta 0.0.0.0 è il gateway predefinito, attraverso il quale transiterà tutto il traffico che non è elencato nelle rotte precedenti. Corrisponde ovviamente all’indirizzo della nostra connessione internet.

Tutti questi elementi garantiscono che:

  1. Si possa comunicare col server VPN 50.50.50.33
  2. Si possa comunicare con le rotte che l’amministratore del server ha deciso per i suoi utenti (vedi Server Prova 123.123.123.112)
  3. Si possa far comunicare il client VPN col server VPN e gli altri client connessi
  4. Si possa accedere alle risorse che si trovano nella LAN dietro il server VPN
  5. Si possa continuare a navigare su internet anche senza disconnettersi dalla rete VPN

Test di funzionamento

Seguono alcune semplici dimostrazioni di funzionamento delle risorse della LAN remota che si trova dietro la VPN, motivo per il quale si vuole collegarsi.

iSeries AccessUn server iSeries/AS400, non direttamente esposto su internet ma a disposizione soltanto degli utenti della LAN e gli utenti VPN autorizzati. E’ stato utilizzato il client iSeries Access 6 di IBM.

Terminal Server ClientAvviamo una connessione RDP a un server Windows utilizzando direttamente il suo indirizzo IP privato 192.168.10.1.

Windows Server loginIl server Windows richiede le credenziali di accesso ma è perfettamente funzionante, ciò che vediamo infatti è la schermata di accesso sul server.

Visualizzatore di desktop remotiOvviamente è possibile collegarsi anche a server Linux attraverso SSH utilizzando il visualizzatore di desktop remoti.

Server SSH su Visualizzatore di desktop remotiIl terminale remoto conferma l’avvenuta connessione al server SSH.

Ovviamente tutte queste risorse sono tutte ben protette dal mondo esterno e sono accessibili soltanto agli utenti autorizzati sul server VPN o nella rete locale.

Disconnessione e riconnessione dal server VPN

La connessione del client VPN Kerio è permanente e gestita da un demone che si avvia automaticamente al riavvio del computer.

Per interrompere manualmente la connessione basterà:

sudo /etc/init.d/kerio-kvc stop
Stopping Kerio Control VPN client..

Per avviare nuovamente la connessione:

sudo /etc/init.d/kerio-kvc start
Starting Kerio Control VPN client

Per riconfigurare la connessione VPN:

sudo dpkg-reconfigure kerio-control-vpnclient

Ripartirà la procedura guidata mostrata durante l’installazione.

Per configurare o modificare manualmente le impostazioni della connessione:

sudo nano /etc/kerio-kvc.conf

Tutti i logs del client VPN Kerio si troveranno dentro /var/log/kerio-kvc, è possibile utilizzarli per investigare le cause degli errori:

  • init.log contiene le informazioni su connessione e disconnessione
  • debug.log contiene varie informazioni su tutto il processo di connessione e disconnessione
  • error.log contiene gli eventuali messaggi di errore (indirizzo non trovato, dati di accesso non validi)

Links utili

Kerio Technologies
Download del client VPN Kerio
Archivio dei download Kerio
Casella box.net con i pacchetti disponibili ad oggi, utilizzarli solo in caso di necessità se i server Kerio non dovessero essere raggiungibili, potrebbe contenere versioni non aggiornate.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

set
11

Trovare tutti gli IP attivi in una subnet ed effettuare un lookup per trovare il proprio mac address

 

In ambito sistemistico (più networking) si può avere la necessità di avere una lista di tutti gli indirizzi IP che sono già occupati. In più vogliamo sapere anche il mac-address a cui è legato l’ip.

In genere, tute le macchine hanno il ping-reply attivo: per vedere se è online, basta effettuare un ping all’host della macchina per vedere se è attiva.

Possiamo sfruttare, per questo, un comando poco conosciuto ma molto utile in linux: fping.

Non è presente, in genere, nei repository delle solite distribuzioni ma si può trovare, ad esempio, nel rpmforge per Centos/Redhat oppure mirror alternativi. Se non si sa dove prenderlo, basta scaricare i sorgenti e compilarlo.

Fping, come dice l’help, serve ad eseguire un ping su una determinata subnet che può essere specificata in due modi: con la corretta subnet (10.0.0.0/16) oppure in un intervallo (10.0.0.1 10.0.0.255).

Per ricavare il mac-address, possiamo utilizzare l’utilissimo comando arp che serve, appunto, a ricavare il mac-address a partire da un indirizzo IP (lookup).

Chiaramente, per funzione, la macchina da cui si lancia il comando arp DEVE essere sulla stessa rete della subnet altrimenti il lookup non funziona (se passa per un router, chiaramente, il mac-address non verrà visto).

Allora, per fare una combinazione di questi comandi, ho creato uno script in bash per fare questo lavoro:

#!/bin/bash

# coded by morphey (morphey@morphey.org)

FILE_OUT=”/root/out_fpingtoarp.txt”

rm -f $FILE_OUT
function FPingToArp()
{
for IP in `fping -c1 -g $1|cut -d ” ” -f 1-1`
do
STRING=”$IP `arp -n $IP|grep -v HWtype|awk {’print $3?} `”
echo $STRING >> $FILE_OUT
done
}

#### MODIFICARE QUI ###########

FPingToArp 10.0.2.1/24

###############################

echo;echo;echo “done.”

Come si vede, all’interno del codice è possibile lanciare il comando interno FPingToArp quante volte si vuole. Il resto del codice è abbastanza chiaro :)
Da modificare anche il FILE_OUT per avere il responso in qualsiasi file che si vuole.

P.S. nel caso si vuole copiare ed incollare il codice sopra, ricordatevi che wordpress mette delle virgolette che bisogna eliminare :)

Tags


,
,

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

apr
08

Assegnare più indirizzi IP ad una scheda di rete

 

Popularity: 6% [?]



Puoi visualizzare il post originale qui.

top