[Tech] Miglior spiegazione:

Leonardo Boselli leo@dicea.unifi.it
Ven 27 Dic 2002 16:46:44 CET


On 27 Dec 2002, at 15:32, Gianni Bianchini wrote:
> > Lo script è un cgi che deve consentire a ogni utente di una 
> > macchina, che non ha/sa/vuole accesso shell di inserire nel file
> > .forward un indirizzo. Tale file deve avere uid/gid dell'utente ma
> > lo script viene fatto girare con gid mail .... La script vuole e
> > confronta la password , ma evitare di metterlo in suid root potrebbe
> > essere più sicuro (o se gli do owner 0:8 e permessi 770 sto
> > tranquillo ?)
> Non mi e' completamente chiaro cio' che vuoi fare.
> In ogni caso, la soluzione potrebbe essere quella di effettuare il
> controllo della password ecc. con uno script a basso privilegio per
> ricavarne un userid "sanitizzato", ovvero lo script non deve poter
> essere indotto a generare uid inesistenti, peggio se =0, oppure altri
Ecco ... poiché lo script prende un  username e una password 
inseriti, li confronta con /etc/passwd il creare username inesistenti 
non so come faccia ... l'unica cosa è che mi crei 'root' ,,, ma 
dovrebbe anche indovinarne la passwd .... e comunque visto che il 
.forward di root non viene mai esaminato il rischio è minimo.
Il dubbio che mi viene è invece questo, adesso:
quello che metto in .forward di un utente lo debbo controllare "duro" 
o posso fidarmi, con l'assunto che se l'utente mette cose sballate 
perde la SUA posta...
al massimo potrei fare un controllo che ciò che viene messo sia del 
tipo *[a-z.0-9A-Z_-]@*[a-z.0-9A-Z-] ... basta ?


> dati. Questo userid verra' poi passato a uno script perl setuid root
> (purtroppo non c'e' modo di passare da un utente !=0 ad un altro se
> non tramite un prog. setuid, un'idea potrebbe essere anche quella di
> fare uno script setuid-utente per ogni utente :P ) il quale per prima
> cosa fa setuid all'utente passato, poi scrive il file. Va da se' che
> anche il contenuto da mettere nel .forward va opportunamente
> controllato.
> 
> Questo potrebbe essere in qualche modo utile.
> 
> http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/perl.htm
> l
> 
> Ciao.
> Gianni.
> 
> _______________________________________________
> FLUG - Discussioni tecniche - tech@firenze.linux.it
> URL: http://lists.firenze.linux.it/mailman/listinfo/tech
> Archivio: http://lists.firenze.linux.it/pipermail/tech
> Ricerca nell'archivio: http://www.firenze.linux.it/search


--
Leonardo Boselli
Nucleo Informatico e Telematico del Dipartimento Ingegneria Civile
Universita` di Firenze , V. S. Marta 3 - I-50139 Firenze
tel +39 0554796431 cell +39 3488605348 fax +39 055495333
http://www.dicea.unifi.it/~leo



Maggiori informazioni sulla lista flug-tech