erlug
[Top] [All Lists]

Re[4]: [Erlug] PAM! (o anche BUM!, se preferite)

To: Maurizio Lemmo - Tannoiser <erlug@xxxxxxxxxxxxxx>
Subject: Re[4]: [Erlug] PAM! (o anche BUM!, se preferite)
From: Fabio Muzzi <kurgan@xxxxxxxxxx>
Date: Fri, 18 Mar 2005 17:55:12 +0100
Hello Maurizio,
Friday, March 18, 2005, 5:32:29 PM, you wrote:

>> Il  coso funziona, ma richiede obbligatoriamente che l'utente esista anche
>> nel  sistema,  il  che rende inutile averlo, perche` io volevo autenticare
>> degli  utenti  in maniera totalmente indipendente da passwd. Questo invece
>> in  pratica  consente di autenticare un utente che esiste in passwd usando
>> pero` una password diversa da quella di passwd.

MLT> Ok, di "per davvero" quello che vuoi fare, che questa descrizione, e`
MLT> quanto meno sospetta (e magari ci sono soluzioni piu` indicate).

Risolto.

Dunque,  openvpn 2.0 permette di autenticare oltre che gli host con chiavi
asimmetriche  anche  gli  utenti con username e password. L'autenticazione
degli utenti avviene solo a mezzo di PAM. In realta` avviene attraverso un
plugin,  ma  ho paura a scrivere un plugin per autenticare una VPN date le
mie  scarse  conoscenze  di  programmazione,  potrei facilmente cascare in
qualche errore alla Microsoft e farmi aprire come una cozza.

Ora  volendo  fare  un  concentratore  di  VPN  che  usi openvpn 2.0 e che
anziche`  autenticare  i  client  con  delle  chiavi  asimmetriche usi una
accoppiata  user/password (in realta` faccio tutte e due le autenticazioni
una dietro l'altra) posso usare solo PAM. Una configurazione del tipo:

    password   required   pam_unix.so nullok obscure min=4 max=8 md5

funziona  benissimo e mi autentica gli utenti su passwd, ma non voglio che
gli utenti della vpn stiano in passwd.



Se faccio una configurazione del tipo:

  auth    required    /lib/security/pam_pwdfile.so pwdfile 
/etc/openvpn/rw-passwords

  
succede  che  pam_pwdfile mi autentica l'utente, ma poi (e qui si vede che
non  ho  capito  PAM)  veniva  chiamato pam_unix.so il quale ovviamente mi
diceva  che  non  esiste  l'utente  che  uso (che in effetti in passwd non
esiste).

Solo  dopo  ho scoperto (a naso!) che non avendo io specificato da nessuna
parte  una riga "account" nella mia configurazione di PAM, veniva comunque
chiamato pam_unix.so per la funzione "account" dopo che era stato chiamato
pam_pwdfile.so per la funzione "auth".

Insomma, ho risolto cosi`:


  auth    required    /lib/security/pam_pwdfile.so pwdfile 
/etc/openvpn/rw-passwords
  account sufficient  /lib/security/pam_permit.so

Questo   fa  autenticare  sul  file  rw-passwords e poi evita che l'utente
venga cercato in passwd.

Insomma,  di  PAM  ho capito veramente poco, ma cosi` funziona, pare.

-- 

 Fabio "Kurgan" Muzzi 

La diagnosi del tecnico:
   Occorre riorientare i cristalli di Dilitio


<Prev in Thread] Current Thread [Next in Thread>