View previous topic :: View next topic |
Author |
Message |
FreeManAtomic Guru
Joined: 01 Feb 2005 Posts: 365
|
Posted: Sun Jun 11, 2006 9:29 pm Post subject: [risolto] disabiltiare php per le homedir |
|
|
Ciao,
mi trovo davante a questa necessità dato che purtroppo non posso settare a livello di directory le funzioni da disabilitare preferisco spegnerlo del tutto. Ma purtroppo in giro non trovo documentazione al riguardo.
Per ora sono riuscito a limtiare l'accesso alla stessa cartella e in safe mode.
Code: |
<IfModule mod_userdir.c>
UserDir /home/users/*/public_html
<Directory /home/users/*/public_html>
php_admin_value open_basedir .
php_admin_flag safe_mode on
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
Deny from 172.16.200.203
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
Allow from 172.16.
</LimitExcept>
</Directory>
</IfModule>
|
Ma vorrei proprio che gli utenti non lo utilizzassero, si e paranoia lo so!!
Qualcuno ci ha provato con successo?
Last edited by FreeManAtomic on Mon Jun 12, 2006 6:12 pm; edited 1 time in total |
|
Back to top |
|
|
Peach Advocate
Joined: 08 Mar 2003 Posts: 3686 Location: London, UK
|
Posted: Sun Jun 11, 2006 10:04 pm Post subject: |
|
|
togli "-D USERDIR" dalle APACHE2_OPTS in /etc/conf.d/apache _________________ Gentoo user since 2004.
"It's all fun and games, until someone loses an eye" - mom |
|
Back to top |
|
|
.:chrome:. Advocate
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Sun Jun 11, 2006 10:23 pm Post subject: Re: disabiltiare php per le homedir |
|
|
non credo sia possibile.
l'interprete php viene richiamato attraverso un bind sul tipo di file. in sostanza un file con le estensioni di php viene dato in pasto all'interprete, indipendentemente da quale che sia la sua posizione nel file system. questo vuol dire che l'interprete può essere attivato o disattivato, ma a livello globale, e non selettivo. questa è la versione che conosco io
se però dedichi qualche parola a raccontare il motivo per cui hai questa esigenza, forse si può trovare una soluzione equivalente. dipende da cosa devi fare tu |
|
Back to top |
|
|
Peach Advocate
Joined: 08 Mar 2003 Posts: 3686 Location: London, UK
|
Posted: Sun Jun 11, 2006 10:55 pm Post subject: Re: disabiltiare php per le homedir |
|
|
k.gothmog wrote: | non credo sia possibile.
l'interprete php viene richiamato attraverso un bind sul tipo di file. in sostanza un file con le estensioni di php viene dato in pasto all'interprete, indipendentemente da quale che sia la sua posizione nel file system. questo vuol dire che l'interprete può essere attivato o disattivato, ma a livello globale, e non selettivo. questa è la versione che conosco io
|
a livello generale si dovrebbe poter proibile l'esecuzione di qualsiasi file (o estensioni) in determinati punti del server. Penso che su apache.org ci siano pure dei tutorial a riguardo, se ho un secondo ci indago.
resta il fatto che per disabilitare PENSO basti eliminare -D USERDIR dalle opzioni di partenza di apache2. _________________ Gentoo user since 2004.
"It's all fun and games, until someone loses an eye" - mom |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Sun Jun 11, 2006 11:17 pm Post subject: |
|
|
Moved from Forum italiano (Italian) to Forum di discussione italiano. _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
skakz Guru
Joined: 03 Jul 2004 Posts: 380 Location: Ischia/Napoli/Italia/Terra
|
Posted: Mon Jun 12, 2006 10:16 am Post subject: |
|
|
prova ad aggiungere questo nella sezione <Directory>
Code: | <Files ~ "(\.(php|conf|pl|sh|py|sql)|Entries|Repositories|Root|scripts|updates)$">
order deny,allow
deny from all
</Files> |
_________________ Linux Registered User n.340423
Linux User Group Ischia
www.tush.it |
|
Back to top |
|
|
FreeManAtomic Guru
Joined: 01 Feb 2005 Posts: 365
|
Posted: Mon Jun 12, 2006 5:24 pm Post subject: |
|
|
l'esigienza e semplice non voglio che nelle userdir, si possano eseguire tutti i possibili script php, tipo readline('/etc/passwd'), pero questo l'ho risolto settando open_basedir e safe_mode a livello di directory (questo si e possibile farlo, come si vede nel codice) L'altra esigienza invece e' evitare che gli utenti tentino di connettersi al db mysql che si trova sulla macchina (lo so e paranoia), per questo vorrei disabilitare tutte le funzioni mysql_* MA NON lo posso fare a livello globare, per i miei script devono funzionare! Voglio solo che gli utenti non li usino.
Cercando in giro l'unica soluzione trovata sembra sia avviare due istanze di apache con due php.... cosa che non ho intenzione di fare |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Mon Jun 12, 2006 5:53 pm Post subject: |
|
|
non so se ho capito bene il problema, ma basterebbe usare la direttiva:
Code: | php_flag engine off |
dentro un file .htaccess, messa in una directory a monte delle USERDIR, e da applicare in cascata su tutte le sottodir tramite una direttiva <Directory>
ovviamente in http.conf, nella sezione specifica per le homedir, va abilitato il supporto agli .htaccess altrimenti non ha effetto alcuno.
/EDIT: per maggiori chiarimenti http://it.php.net/apache _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
|
.:chrome:. Advocate
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Mon Jun 12, 2006 5:55 pm Post subject: |
|
|
secondo me ti complichi la vita inutilmente (leggi: ti stai facendo delle seghe mentali). ovviamente scherzo
per evitare che legganmo il contenuto di /etc puoi impostare una ACL avanzata che toglie ogni permesso ad un determinato gruppo (pacchetto acl, comando setfacl).
per evitare che si connettano al db mysql, basta impostare i provilegi di accesso nel db stesso. non c'è molto da fare se non si ha un utente valido per accedere |
|
Back to top |
|
|
FreeManAtomic Guru
Joined: 01 Feb 2005 Posts: 365
|
Posted: Mon Jun 12, 2006 6:11 pm Post subject: |
|
|
@ !equilibrium perfetto funziona grazie!
@k.gothmog tranquillo, lo so che mi sto facendo delle seghe mentali |
|
Back to top |
|
|
|