Newsgroup: it.comp.sicurezza.unix
Titolo: La sicurezza mi mette in difficolta'

Unix e' certo fantastico per gestire provilegi su files e utenti.
Talvolta pero' mi crea dei problemi, e mi spiego:
Ho un utente che entra in un'applicazione, la sua login e' senza
password perche' comunque non esce dalla rete locale e perche' cosi'
deve essere. Poniamo la login sia "oronzo".
Questa applicazione deve manipolare dei files in andata e ritorno
da un altro sistema, tramite ftp.
Ora, come e' giusto, l'altro sistema nell'attivare l'ftp, gli viene 
chiesta una password. Siccome "oronzo" non ha e non deve avere una
password, creo un altro utente ad uso dell'ftp, poniamo "pippo" con
password "pippo".
A questo punto il client si connette con ftp, user pippo, password pippo
e mette (diciamo in /tmp) un file. 
Il problema nasce ora: quando oronzo vuole rinominare/cancellare il
file, soccombe nella lotta dei privilegi, essendo pippo l'owner del
file.
Al momento ho rimediato con uno script da cron che monitora
di continuo la /tmp e per presenza del file di pippo gli fa un
adeguato chmod e chown affinche' oronzo manipoli liberamente il
file, ma so che e' una soluzione un po' a ciofeca.
Qualcuno ha suggerimenti?
PS: non e' rilevante di quale unix si tratta, e' una caratteristica
comune a tutti quelli che ho visto, comunque per informazione io
lavoro sui vari AIX e su SCO.
Un grazie a chi vorra' rispondere
Saluti,
Claudio
-- 
                     _ _
                    (O O)
  +-----------oOO----(_)--------------------------+
  |                                               |
  |         Mail: 
claudio...@texnet.it
        |
  |    Home page: 
http://www.texnet.it/cfabbro
    |
  |                                               |
  |    La casa dell'aforisma e del petteguless    |
  |                                               |
  +-------------------------oOO-------------------+
                   |__|__|
                    || ||
                   ooO Ooo

claudio...@texnet.it
 wrote:
 >Qualcuno ha suggerimenti?
Una directory scrivibile da un gruppo a cui appartengono entrambi.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *

La cosa più semplice che potresti fare, a mio modestissimo avviso, è quella
di utilizzare i privilegi dei "gruppi". Infatti :
a) ogni utente fa parte di un gruppo;
b) di gruppi ne puoi creare quanti ne vuoi ( file /etc/group)
c) le tre terzine di previlegi di un file o rirectory rwx rwx rwx sone
nell'ordine relative a utente, gruppo, altri.
d) una volta che il tuo utente pippo ha scaricato il file( es. prova.txt)
tramite un ftp modifica gli attributi (es. chmod 774 prova.txt ( il
risultato sarà rwx rwx rxx prova.txt)); la volta successiva che pippo
preleva dalla macchina remota il file prova.txt, il file in locale verrà
sostituito con quello nuovo, ma i suoi attributi rimarranno invariati.
e) poichè l'utente oronzo e l'utente pippo fanno parte dello stesso gruppo
ed i privilegi del file prova.txt lo consentono, oronzo potrà modificare a
piacimento il file.
NOTA: se il file prova.txt deve essere cancellato dall'utente oronzo, egli
deve avere anche sufficienti diritti sulla directory che ospita il file.
Buon lavoro
Giacinto

 deve avere anche sufficienti diritti sulla directory che ospita il file.
Certo, la /tmp e' rwxrwxrwt, e' il bazaar istituzionalizzato...
Grazie per l'interessamento, Giacinto
Un salutone


di ftp?
"Matin per una "virgola" perse la cappa"
Il punto d doveva essere:
d) una volta che il tuo utente pippo ha scaricato il file( es. prova.txt)
tramite un ftp, entra sul sistema come utente pippo modifica gli attributi
(es. chmod 774 prova.txt ( il risultato sarà rwx rwx rxx prova.txt)) .....
Se ancora non sono stato abbastanza chiaro

accedere a comandi ch* per cambiare i permessi del file. >
Per quanto riguarda l'AIX, il servizio ftp non è capace di eseguire un
chmod, ma è capace di ricevere questo comando se lui ad essere contattato da
un'altra macchina la quale però deve essere in grado di eseguire un chmod da
una shell ftp.
L'IRIX della Silicon Graphics lo può fare, cioè può aprire una sezione ftp
su una macchina AIX e modificare con chmod gli attributi di un file.

 Se ancora non sono stato abbastanza chiaro
Chiaro sei stato chiarissimo, forse sono io che non mi sono spiegato
bene. Si tratta di applicazioni non presidiate, quindi non ricorre
il caso che pippo fa la put poi esce, fa un telnet, e via smanettando.
Il sistema da trovare e' di fare il chmod dall'ambiente ftp,
oppure impostare da qualche parte nelle caratteristiche dell'ftp
un umask. 
Al momento sto meditando tutte le risposte avute sui ng e in e-mail,
mi pare (ripeto: mi pare) di non intravvedere la soluzione.
Quindi attualmente sta funzionando il mio script da cron, che per
brutto che sia, almeno fa girare la minestra.
In ogni caso quando avro' la soluzione la pubblichero' qui, e fin da
ora ringrazio chi mi ha risposto in e-mail e sul ng, e quelli che
auspicabilmente continueranno a farlo.
Salutoni,


 file.
ti crei un gruppo poniamo pluto a cui appartengono pippo e oronzo.
la directory in cui ci sono i file che devono essere manipolati, e' 775 e
appartiene ad esempio allo user pippo e al gruppo pluto.
a questo punto sia oronzo che pippo possono fare quello che vogliono dei file
presenti nella directory....
Luca
-- 
(o-  ________________________________________________________________
//\  Luca Di Taranto                             dita...@zappami.tin
V_/_ to email me, please, remove "zappami" and add ".it" after ".tin"

claudio...@texnet.it
 wrote:
 >Temo sia qui il busillis. Dal prompt dell'ftp non posso (o non so?)
 >accedere a comandi ch* per cambiare i permessi del file. Tu scrivi
Puoi, ma non e` necessario. Basta installare wu-ftpd e configurarlo (da
ftpaccess) in modo che i file di cui si e` fatto l'upload abbiano owner
e permessi appropriati (es: qualcosa.gruppocomune 660) e creare la
directory con permessi 770 e owner root.gruppocomune.


 Una directory scrivibile da un gruppo a cui appartengono entrambi.
Una directory scrivibile da entrambi (come puo' essere la /tmp) non 
modifica l'umask di entrambi...


 V_/_ to email me, please, remove "zappami" and add ".it" after ".tin"
-- 


In calce il messaggio originale. Ringrazio tutti per le risposte,
alcune in NG altre in e-mail. Da una di quest'ultime, (grazie Andrea!)
ho ricavato il suggerimento piu' calzante per l'esigenza.
Modificare /etc/inetd.conf e al daemon ftpd aggiungere "-u xxx" dove
xxx e' l'umask desiderato. Andrea mi fa notare il calo di sicurezza
perche' questo coinvolge tutti gli ftp. E' vero, ma solo quelli; cioe'
i files creati da un utente nel suo ambiente interattivo mantengono
gli stessi attributi consueti, mentre l'umask modificato incide solo
per l'ftp.
Un saluto a tutti
Claudio


claudio...@texnet.it
 wrote:
 >Modificare /etc/inetd.conf e al daemon ftpd aggiungere "-u xxx" dove
 >xxx e' l'umask desiderato. Andrea mi fa notare il calo di sicurezza
 >perche' questo coinvolge tutti gli ftp. E' vero, ma solo quelli; cioe'
wu-ftpd permette di configurarlo per ogni directory di upload.


claudio...@texnet.it
 wrote:
 
 >>  >Qualcuno ha suggerimenti?
 >> Una directory scrivibile da un gruppo a cui appartengono entrambi.
 >Una directory scrivibile da entrambi (come puo' essere la /tmp) non 
 >modifica l'umask di entrambi...
Che c'entra l'umask? Basta che i file siano leggibili da tutti o almeno
dal gruppo.


 writes:
....
CF> Il problema nasce ora: quando oronzo vuole rinominare/cancellare il
CF> file, soccombe nella lotta dei privilegi, essendo pippo l'owner del
CF> file.
Se installi  wu-ftpd (l'FTP server della Washington  University), questo e`
in grado di gestire degli  utenti "semianonimi", ossia utenti FTP dotati di
login e password (opzionale),  ma che rimangono confinati all'area dedicata
all'FTP anonimo; wu-ftpd, inoltre, ti consente di specificare in che direc-
tory farli entrare  di default, oltre a permessi  e proprietario/gruppo del
file  inviato  (nel tuo  caso,  percio`, "pippo"  si  collega  con una  sua
password, ma i  file che invia diventano di proprieta`  di "oronzo", e puoi
fa lavorare "pippo" in una directory in cui nessun altro puo` entrare).
Un esempio di configurazione del file ftpaccess puo` essere
,--- >8 ----
| class           PIPPO    guest       *
| guestgroup      pluto
| chmod           no anon,guest
| umask           no anon,guest
| upload          /ftp /PIPPO yes oronzo pluto 660 dirs
`--- 8< ----
Definisce una classe "guest" opportuna,  un gruppo, vari privilegi e le mo-
dalita`  di upload  dei  file. Nel  manuale  del wu-ftpd  ci  sono tutti  i
dettagli, basta leggerselo con calma e non cedere al panico :-).
Saluti,
Luca Polo.
-- 
 / Luca Polo : 
Luca...@gest.unipd.it
 || Dipartimento di Tecnica e        \
|  System & network administrator      || Gestione dei Sistemi Industriali  |
 \ 
http://www.gest.unipd.it/~jake
      || Universita` di Padova -- Italy   /