Italiano English
Edit History Actions

ppp

Uso di ppp per l'autenticazione degli utenti su una infrastruttura wireless aperta

(RFC) Questo documento si propone di realizzare una politica comune di configurazione degli apparati in tutte le situazioni in cui uno o più utenti della rete volessero condividere la proprio connettività internet con un sottoinsieme degli utenti presenti nella rete comunitaria.

Per raggiungere questo scopo diverse soluzioni sono praticabili. Nonostante la premessa ppp viene considerato il miglior modo per AUTENTICARE i singoli utenti mantenendo un basso overhead sul protocollo di comunicazione e rendendo quindi la configurazione più generale possibile e utilizzabile anche su sistemi con scarse risorse quali i sistemi embedded.

Panoramica ppp

PPP è un protocollo di livello data-link il quale supporta autenticazione, compressione e error detect. Sono previsti due metodi di autenticazione Password authentication protocol (PAP) e Challenge-Handshake Authentication Protocol (CHAP)

Per i nostri scopi solo il CHAP è utilizzabile per un'autenticazione che possiamo ritenere minimamente sicura, la compressione inoltre potrebbe rivelarsi deleteria diminuendo il throughput effettivo su dispositivi con risorse limitate.

Da RFC1334:

  • PAP is not a strong authentication method. Passwords are sent over
    • the circuit "in the clear", and there is no protection from playback or repeated trial and error attacks. The peer is in control of the frequency and timing of the attempts. Any implementations which include a stronger authentication method (such as CHAP, described below) MUST offer to negotiate that method prior to PAP.

Nel seguito del documento si analizzerano le configurazioni server/client su sistemi linux Debian-Ubuntu/Openwrt.

Server Debian/Ubuntu

Installare pppd: sudo aptitude install pptpd

Modificare il file /etc/pptpd.conf aggiungendo localip:

localip 192.168.2.1
remoteip 192.168.2.3-238,192.168.2.50

Modificare il file /etc/ppp/chap-secret aggiungendo una riga per ogni utente:

# client    server    secret         IP addresses
pippo       *      pluto          *
paperino    *      pareroga       10.0.0.6

(Usare delle passwd migliori ;D)

Riavviare pptp sudo /etc/init.d/pptpd restart

Vedi anche http://www.howtogeek.com/51237/setting-up-a-vpn-pptp-server-on-debian/

Server OpenWrt

Installare e abilitare pptp:

opkg install pptpd
/etc/init.d/pptpd enable
/etc/init.d/pptpd start

In /etc/pptpd.conf modificare l'ip del server, ad esempio:

localip 192.168.2.1

In /etc/ppp/chap-secrets aggiungere gli utenti come spiegato per Debian.

A questo punto puoi configurare il routing/nat per i tuoi utenti oppure un proxyarp aggiungendo l'opzione proxyarp in /etc/ppp/options.pptpd

Vedi anche http://wiki.openwrt.org/doc/howto/vpn.server.pptpd

Client Debian/Ubuntu

Vedi https://help.ubuntu.com/community/VPNClient

Client OpenWrt

Installare pptp: opkg update && opkg install ptp

Se si ha LuCi installato si può scegliere di installare luci-proto-pptp

Modificare il file /etc/config/network aggiungendo il seguente blocco:

config 'interface' 'vpn'
        option 'ifname'    'pptp-vpn'
        option 'proto'     'pptp'
        option 'username'  'pippo' #nel nostro esempio
        option 'password'  'pluto'
        option 'server'    '10.0.0.1'  #l'ip del server
        option 'keepalive' '10'
        option 'ipaddr'    '192.168.2.5'
        option 'netmask'   '255.255.255.0'

Lanciare /etc/init.d/network restart per applicare la configurazione.

Vedi anche http://wiki.openwrt.org/doc/howto/vpn.client.pptp

Client Windows

Dal Pennello di controllo-> Connessioni di Rete

Sceglie Crea una nuova connessione. Connessione alla rete aziendale scegliere Avanti > Scegliere Connessione VPN scegliere Avanti > Inserire un nome per esempio "Internet da Gianni" Inserire l'ip del server pptp di riferimento.

Configurare la connessione appena creata: winpptp.png tag: PPPoE configuration for user auth in a open wireless infrastructure

Discussione

Versione iniziale claudyus il maggio 2012