[Tech] Alias sotto Proftpd

Gianni Bianchini giannibi@firenze.linux.it
Ven 9 Mar 2001 16:22:55 CET


On Fri, Mar 09, 2001 at 01:32:28PM +0100, Francesco Giovannini wrote:

> >       Only the super-user may change the root directory. 
> >
> 
> Gia' e' vero.... ma come mai mi funziona?!?

Nell'unico modo in cui e' possibile conciliare le due cose. :)
Ovvero proftpd _parte comunque come root_, legge un session.uid dal file
di configurazione ed esegue

setreuid(0,session.uid);

in questo modo setta all'utente non privilegiato il solo effective uid
cercando cosi' di limitare i danni nelle operazioni che non richiedono
privilegio e lasciandosi la possibilita' all'occorrenza di fare

setreuid(session.uid,0)

in modo da poter fare chroot e poi assumere, definitivamente stavolta,
l'identita' dell'utente che fa login.

E' la cosa piu' sicura che si puo' fare per gestire correttamente i
diritti degli utenti senza dover ad esempio creare un gruppo sotto cui 
gira il demone ed a cui tutta l'area ftp deve essere accessibile (cosa
che fa muddleftpd). Chiaramente quest'ultima cosa e' limitante
(se l'utente vuole rendere parte della sua home accessibile in ftp
deve dare gli opportuni diritti al gruppo). 

Dunque proftpd non rilascia completamente i privilegi di root fino a
quando l'utente non ha fatto login. Se da una parte questo protegge
contro bachi dovuti ad esempio alla creazione non sicura di file,
corse critiche, ecc., credo che sia assolutamente inefficiente nei
confronti dello sfruttamento di eventuali bachi che permettano
l'esecuzione di codice maligno estraneo da parte del demone. 

Ciao.
Gianni. 


--
   Gianni Bianchini - giannibi@firenze.linux.it
                      giannibi@iname.com





Maggiori informazioni sulla lista flug-tech