Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1785 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Apache + VirtualHost + Directory = aucune sécurité ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Apache + VirtualHost + Directory = aucune sécurité ?

n°835349
AthlonSold​ier
Feel the power
Posté le 16-08-2006 à 01:39:49  profilanswer
 

Bonjour,
 
J'ai fais un petit serveur web sous apache avec plusieurs domaines (donc virtualhosts) gérés...
Tout marche parfaitement. Mais ce soir je décide de tester ce que d'éventuels pirates pourraient faire...et là je m'apercois qu'en téléchargeant par exemple le programme "QuiXplorer", qui est juste un script php permettant de naviguer dans l'arborescence du serveur, que je pouvais accéder aux répertoires de sites "concurrents"  :pt1cable:  :pt1cable:  :ouch:  
 
J'explique mieux la situation... j'ai cette arborescence :  
 
/var/www/
/var/www/main/ = répertoire "root" (et vide) qui est utilisé quand on accède au serveur directement via l'IP (sans utiliser de domaine quoi  :o )
/var/www/toto.com/ = répertoire du site web "www.toto.com"
/var/www/abc.fr/ = répertoire du site web "www.abc.fr"
 
Mainteant si j'extrait les scripts php de "QuiXplorer" (+ configuration) dans /var/www/toto.com/quix/ et que je tape l'url http://www.toto.com/quix/ je vois les fichiers de www.toto.com, jusque là normal. Maintenant si je change la config de QuiXplorer en mettant comme "base directory" /var/www/abc.fr/ et que je tape l'url http://www.toto.com/quix/ je vois les fichiers/répertoires du domaine www.abc.fr et là c'est pas normal  :ouch:  :ouch:  :ouch:  
 
Voilà l'extrait de la configuration de httpd.conf :

Citation :

DocumentRoot /var/www/main
 
<Directory />
    Options SymLinksIfOwnerMatch
    AllowOverride None
 
    Order allow,deny
    Deny from all
</Directory>
 
<Directory /var/www/>
    Options FollowSymLinks MultiViews
    AllowOverride All
 
    Order allow,deny
    Allow from all
</Directory>
 
<VirtualHost 192.168.1.1>
DocumentRoot /var/www/main/
ServerName 192.168.1.1
</VirtualHost>
 
<VirtualHost 192.168.1.1>
DocumentRoot /var/www/toto.com/
ServerName www.toto.com
ErrorLog /var/log/apache/www.toto.com_error_log
TransferLog /var/log/apache/www.toto.com_access_log
</VirtualHost>
 
<VirtualHost 192.168.1.1>
DocumentRoot /var/www/abc.fr/
ServerName www.abc.fr
ErrorLog /var/log/apache/www.abc.fr_error_log
TransferLog /var/log/apache/www.abc.fr_access_log
</VirtualHost>


 
A prioris ca vient du fait que j'autorise tout le monde sur le répertoire racine /var/www/ qui contient les deux sites...ok mais je pensais qu'un virtual host était plus fort et aller les encapsuler dans leur répertoire respectif ?  :??:  :heink:  
 
Comment corriger ce gros trou de sécurité ?  :??:  
Merci de m'aider, je comprends plus rien là.  :sweat:


Message édité par AthlonSoldier le 16-08-2006 à 01:39:57
mood
Publicité
Posté le 16-08-2006 à 01:39:49  profilanswer
 

n°835359
farib
Posté le 16-08-2006 à 03:29:21  profilanswer
 
n°835363
AthlonSold​ier
Feel the power
Posté le 16-08-2006 à 04:58:53  profilanswer
 

Merci  :jap:
 
Pour ceux qui un jour auraient le même problème j'ai donc rajouté simplement une ligne à la fin de chaque virtual host, par exemple :
 

Citation :

<VirtualHost 192.168.1.1>
DocumentRoot /var/www/abc.fr/
ServerName www.abc.fr
ErrorLog /var/log/apache/www.abc.fr_error_log
TransferLog /var/log/apache/www.abc.fr_access_log
php_admin_value open_basedir /var/www/abc.fr/
</VirtualHost>


Message édité par AthlonSoldier le 16-08-2006 à 05:00:55
n°835376
tabb
Posté le 16-08-2006 à 09:44:02  profilanswer
 

Ce n'est pas un "gros trou de sécurité" du coté d'apache mdr.
C'est simplement que tu n'a pas bien sécurisé ton php.ini  :non:  
Les exploreurs php se servent des commandes comme system(), passthru(), exec(), shell() pour remonter des repertoires (cd ..) et les lister (ls)
 
il suffit simplement d'interdire ces fonctions dans php.ini en rajoutant  

Code :
  1. disable_functions =


et en ajoutant les fonctions que tu veux interdire.
Tu peux aussi activer le safe_mode=on.
 
Avant de dire que tu as découvert un enorme trou de sécu, regarde la source de ton explorateur php pour voir comment il fonctionne, tu verra qu'il n'ya rien de magique ;)

Message cité 1 fois
Message édité par tabb le 16-08-2006 à 09:45:17
n°835420
AthlonSold​ier
Feel the power
Posté le 16-08-2006 à 13:00:02  profilanswer
 

Non c'est faux. Tu ne peux faire aucune commande système sur mon serveur. En fait si, je n'ai pas désactivé exec()...mais tu ne peux pas aller bien loin, vu que tu ne peux executer que deux scripts (j'ai restreint toutes les commandes à un répertoire). Alors les "ls" & co ne marche pas du tout. :)

n°835442
farib
Posté le 16-08-2006 à 14:32:05  profilanswer
 

tabb a écrit :

Ce n'est pas un "gros trou de sécurité" du coté d'apache mdr.
C'est simplement que tu n'a pas bien sécurisé ton php.ini  :non:  
Les exploreurs php se servent des commandes comme system(), passthru(), exec(), shell() pour remonter des repertoires (cd ..) et les lister (ls)


[:k-nar]
 
Euh php se sert de son API hein, c'est plus simple et moins dangereux que de lancer des executions [:pingouino]


---------------
Bitcoin, Magical Thinking, and Political Ideology

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Apache + VirtualHost + Directory = aucune sécurité ?

 

Sujets relatifs
comment activer php et virtual directory en sslprobleme avec apache
Configuration d'access Apacheconfig server linux apache et php
Gestion Multisite Internet sous Linux (Apache - Bind9)Squid + authentification active directory
Redémarrer Apache depuis une interface web ?Configuration d'apache sous debian
Subersion + apacheHarcelé par "no such file or directory"
Plus de sujets relatifs à : Apache + VirtualHost + Directory = aucune sécurité ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR