crontab e sicurezza

2006-06-14 Per discussione Francesca


Un utente mi ha chiesto di poter eseguire crontab per lanciare ogni  
notte uno script in php.


Ora mi sto chiedendo, dal punto di vista della sicurezza, che rischi  
corro.


Io vorrei creare personalmente il file da dare in pasto a crontab, in  
una directory non accessibile, quindi non dar all'utente nessun  
accesso ssh o cose simili.
Semplicemente direi al mio file di eseguire ogni notte il file php  
che il mio utente mi indicherà, che si troverà nella cartella web  
immagino, con i permessi di apache e basta.


A questo punto rischio qualcosa?
Nel php non credo lui possa scrivere qualcosa di particolarmente  
grave, dato che comunque ha solo i permessi di apache e si trova  
nella directory web.


Cosa ne pensate?

grazie
ciao


Re: crontab e sicurezza

2006-06-14 Per discussione Paolo Sala

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Francesca scrisse in data 06/14/06 16:36:

| Un utente mi ha chiesto di poter eseguire crontab per lanciare ogni
|  notte uno script in php.
|
| Ora mi sto chiedendo, dal punto di vista della sicurezza, che
| rischi  corro.
|
| Io vorrei creare personalmente il file da dare in pasto a crontab,
| in  una directory non accessibile, quindi non dar all'utente nessun
|  accesso ssh o cose simili. Semplicemente direi al mio file di
| eseguire ogni notte il file php che il mio utente mi indicherà, che
| si troverà nella cartella web immagino, con i permessi di apache e
| basta.

Qui credo che sbagli; cron viene eseguito con i permessi di root,
quindi rischi moooltissimo.

Ciao

Piviul
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEkCHCKmyb5NCvtXcRAtB1AJsFoOxUly3FoD287c0JzINrYbaGiwCdFKWf
0VzDiJAMtsDDMWYq9JBW+pg=
=DXsM
-END PGP SIGNATURE-


--
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto unsubscribe. Per

problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: crontab e sicurezza

2006-06-14 Per discussione Walter Valenti

--- Paolo Sala [EMAIL PROTECTED] ha scritto: 

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Francesca scrisse in data 06/14/06 16:36:
 
 | Un utente mi ha chiesto di poter eseguire crontab per lanciare ogni
 |  notte uno script in php.
 |
 | Ora mi sto chiedendo, dal punto di vista della sicurezza, che
 | rischi  corro.
 |
 | Io vorrei creare personalmente il file da dare in pasto a crontab,
 | in  una directory non accessibile, quindi non dar all'utente nessun
 |  accesso ssh o cose simili. Semplicemente direi al mio file di
 | eseguire ogni notte il file php che il mio utente mi indicherà, che
 | si troverà nella cartella web immagino, con i permessi di apache e
 | basta.
 
 Qui credo che sbagli; cron viene eseguito con i permessi di root,
 quindi rischi moooltissimo.
 

Puoi eseguire in cron processi con l'utenza che vuoi.

Walter


--
Per favore non inviatemi allegati in formato MS Office.
Utilizza alternativamente documenti in formato OpenDocument.

Software is like sex, it is better when it is free
--Linus B. Torvalds

Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: crontab e sicurezza

2006-06-14 Per discussione Stefano Sasso

Paolo Sala ha scritto:

Qui credo che sbagli; cron viene eseguito con i permessi di root,
quindi rischi moooltissimo.


io ho risolto un problema simile chiamando il file php via http, ovvero 
eseguendo un wget in cron.


ciao
stefano

--

---
 Per favore non mandate allegati in Word o PowerPoint.
 Si veda http://www.gnu.org/philosophy/no-word-attachments.it.html
---
Stefano Sasso
stefano AT sasso DOT no-ip DOT org
Linux User #330315
http://sasso.no-ip.org/
http://www.gnustile.net/


--
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto unsubscribe. Per

problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: crontab e sicurezza

2006-06-14 Per discussione Francesca


Il giorno 14/giu/06, alle ore 17:09, Stefano Sasso ha scritto:


Paolo Sala ha scritto:

Qui credo che sbagli; cron viene eseguito con i permessi di root,
quindi rischi moooltissimo.


io ho risolto un problema simile chiamando il file php via http,  
ovvero eseguendo un wget in cron.


ciao
stefano





Infatti il file php dovrebbe essere chiamato da wget

con questo continuo a rischiare, o va meglio?

grazie



--
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto unsubscribe. Per

problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: crontab e sicurezza

2006-06-14 Per discussione Filippo Biondi
Il giorno mer, 14/06/2006 alle 16.36 +0200, Francesca ha scritto:

 A questo punto rischio qualcosa?
 Nel php non credo lui possa scrivere qualcosa di particolarmente  
 grave, dato che comunque ha solo i permessi di apache e si trova  
 nella directory web.

beh... come ben sai ogni utente puo' far girare tramite cron i propri
processi con i *propri* permessi.

es.

//creo un file di cron appartenente all'utente filippo

crontab -u filippo -e

a quel punto all'ora prestabilita cron fara' girare il processo
appartenente all'utente filippo con i relativi permessi.

Inoltre anche se lo script e' in php, ma lo fai girare da linea di
comando tramite l'interprete php, il processo relativo avra' sempre i
permessi dell'utente che lo fa girare (se era nel file creato sopra
avra' i permessi dell'utente filippo).

Da questo capisci bene che se lo script si trova nella dir di Apache,
allora l'utente che invochera' lo script dovra' avere i permessi di
esecuzione in tale dir.

Ovviamente puoi creare il file di cron come utente Apache (-u www-data)
e stai serena per i permessi[*]


HTH
Ciao
Filo

[*]
Poi dipende da quali/quanti permessi ha Apache e quante volte bkuppi al
giorno la tua document root :)


-- 
Filippo Biondi
[Ubuntu|Debian] GNU User
Linux Registered User #357105
Proud member of 
.:ERLUG:. 
no1984.org member - Stop TCG!


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: crontab e sicurezza

2006-06-14 Per discussione Alessandro De Zorzi
Francesca wrote:

 Infatti il file php dovrebbe essere chiamato da wget

 con questo continuo a rischiare, o va meglio?
come ti ha giustamente detto Filippo php dispone anche di un interprete
a linea
di comando (php cli), questo, a parte il fatto che lo stesso script
potrebbe non giare a linea
di comando perché ci sono delle differenze di programmazione non cambia
dal punto
di vista della sicurezza praticamente nulla

per la sicurezza (lato PHP) devi vedere le impostazioni di php.ini

/etc/php4/apache2/php.ini
/etc/php4/cli/php.ini

in particolare nel virtual del dominio comincerei con impostare

php_admin_value upload_tmp_dir
php_admin_value open_basedir
php_value include_path

tanto per iniziare

Alessandro De Zorzi

PS rimane il fatto che se l'utente è un utente non anonimo è poco probabile
che tenti di innescare situazioni di pericolo, ma potrebbe comunque per
incuria
o inesperienza farlo inavvertitamente, quindi uno sguardo alla sicurezza
è d'obbligo


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]