Quando ci si connette ad un Internet Service Provider, è generalmente necessario mandare uno username e una password. Questo si può fare utilizzando molti modi diversi; il metodo da utilizzare viene stabilito dal provider.
In aggiunta alle tre opzioni mostrate, si può utilizzare una connessione senza autenticazione (per esempio quando l'estremità remota è sempre vostra).
In realtà questo non è un metodo comune per accedere ad internet attaverso un ISP.
L'identificazione viene fatta prima che pppd
venga attivato e, di
solito, è il chiamante che spedisce login e password. I dati vengono
spediti in chiaro e quindi questo metodo non è da considerarsi
sicuro.
Un esempio di script per chat
dove si può vedere come specificare
username e password per spedirli prima di caricare pppd
sarebbe simile a qualcosa del genere:
ABORT BUSY
ABORT "NO CARRIER"
ABORT VOICE
ABORT "NO DIALTONE"
ABORT "NO ANSWER"
"" ATZ
OK ATDT_TelephoneNumber_
CONNECT \d\c
ogin _Username_
assword _Password_
Le ultime due righe definiscono lo username e la password e quando spedirli (dopo aver ricevuto «ogin» e «assword» rispettivamente). Lo script chat ha solo bisogno di vedere parte delle parole «login» e «password» e quindi non abbiamo bisogno di controllare la prima lettera di ciascuna. In questo modo non abbiamo bisogno di preoccuparci delle maiuscole o minuscole.
Supponiamo che questo script sia chiamato provider
e che sia
salvato nella directory /etc/chatscripts
. È quindi possibile
lanciarlo con:
/usr/sbin/chat -v -f /etc/chatscripts/provider
Se il provider che si sta utilizzando richiede PAP come protocollo di
autenticazione, allora durante la negoziazione LCP del PPP, a questo
sarà richiesto di utilizzare tale protocollo.
Quando si è connessi, dopo aver usato
chat
, viene lanciato pppd
. In questo caso, pppd si occuperà
di mandare lo username e la password che troverà nel file
/etc/ppp/pap-secrets
. Questo file deve avere i permessi in
scrittura e lettura solo per root
in modo che nessun altro possa
leggere la password scritta all'interno.
PAP non è molto sicuro e la password viene trasmessa in chiaro così che potrebbe essere letta da chiunque stia monitorando la linea di trasmissione.
Questo è un semplice esempio di /etc/ppp/pap-secrets
:
_Username_ * _Password_
Se il provider che si sta utilizzando richiede CHAP come protocollo di
autenticazione, allora durante la negozioazione LCP nel PPP, questo
verrà richiesto di utilizzare tale protocollo. Quando si è
connessi, dopo aver usato chat
, viene lanciato
pppd
. In questo caso, pppd si occuperà di mandare
lo username e la password che troverà nel file
/etc/ppp/chap-secrets
. Questo file deve avere i permessi in
scrittura e lettura solo per root
in modo che nessun altro possa
leggere la password scritta all'interno.
CHAP è più sicuro di PAP in quanto la password non viene spedita in
chiaro sulla linea di trasmissione. Il server per l'autenticazione
spedisce un identificatore casuale (il challenge), che il client deve
criptare con la sua password e quindi spedire tutto indietro al
server.
Questo è un semplice esempio di /etc/ppp/chap-secrets
:
_Username_ * _Password_
Quelche volta un provider utilizza PAP, altre volte CHAP, quindi è normale definire la propria username e password in entrambi i file.