= 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 == [[http://en.wikipedia.org/wiki/Point-to-Point_Protocol|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 [[http://tools.ietf.org/html/rfc1334#section-2|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 [[http://www.howtogeek.com/howto/30184/10-ways-to-generate-a-random-password-from-the-command-line/|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: {{attachment:winpptp.png}} tag: PPPoE configuration for user auth in a open wireless infrastructure === Discussione === Versione iniziale claudyus il maggio 2012