et zouplaboum, la connexion se fermera apres execution du script
C'est vrai que je me suis plante, ce n'est pas le shell par defaut qui est change...
Ok, j'ai matté la page de man en question, par contre je suis pas sur que le comportement que tu décris soit bon.
En effet, je lis:
7. Changes to user's home directory.
8. If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists,
runs it; otherwise runs xauth. The ``rc'' files are given the
X11 authentication protocol and cookie in standard input.
9. Runs user's shell or command.
Je vois plus le point 8. comme une étape intermédiaire te permettant d'éxecuter des actions avant de lancer le shell.
Le lancement du shell ne semble pas avoir pour condition la (non) execution du script.
Donc, à mon avis, dans ton exemple, le shell de l'utilisateur sera lancé après le script.
On doit toujours pouvoir gruger en mettant /bin/true comme shell à l'utilisateur.
Après, j'pense que pour être sur il faudrait tester et j'avoue avoir la flemme :)
Avec ssh, tu peux forcer le shell d'un utilisateur a la connexion.
Aucune trace de ça dans le man 5 sshd_config.
Le seul truc qui pourrait s'approcher de ce que tu décris serait de
forcer la variable d'environnement SHELL (voir AcceptEnv dans man 5 sshd_config), mais :
1/ je suis pas sur que ça outrepasse vraiment le shell par défaut de l'utilisateur.
2/ Ce serait plus à l'initiative de l'utilisateur qui se connecte, et faire confiance à l'utilisateur c'est aller dans le mur :)
Par contre, changer le shell de l'utilisateur se fait très bien à coup de chsh en tant que root.
Donc à priori tu peux très bien faire: chsh -s <chemin du script> <user>
Toutefois cette modification sera globale au système, et non juste pour les connexions ssh.
Il est difficile de gérer ce genre de permission au niveau des permissions du système de fichiers.
Ca doit pouvoir se faire à coup de selinux et consors, mais c'est certainement bien compliqué pour peu de chose.
La solution vers laquelle je m'orienterai pour ma part serait un shell restrictif qui autorise ou non l'execution des commandes en question.
Ca se code très bien en shell.
Exemple:
while (( ! $do_exit)) ; do
echo "exit or uname ?"
read cmd;
if [ "$cmd" != "exit" ] && [ "$cmd" != "uname" ] ; then
echo "$cmd not allowed";
elif [ "$cmd" == "exit" ] ; then
do_exit=1;
else
uname;
fi;
done
[binarym@gco]:~% su - test
Password:
Pas de répertoire, connexion avec HOME=/
exit or uname ?
uname
Linux
exit or uname ?
ls
ls not allowed
exit or uname ?
uname -a
uname -a not allowed
exit or uname ?
uname | ls
uname | ls not allowed
exit or uname ?
exit
C'est juste impossible que la combine du /etc/hosts ne fonctionne pas, sauf si comme je le dis plus haut tu utilises un proxy ou si l'ordre de résolution de nom fait intervenir les DNS en premier (ce dont je doute).
Ce dernier point est vérifiable via le fichier /etc/host.conf (man 5 host.conf).
Le fichier /etc/hosts.deny est utilisé par le wrapper tcp pour autoriser ou interdire l'accès à un service en fonction de l'ip source.
Rien à voir donc.
Hmmm ... c'est sur que le dimanche matin quand je m'emmerde, je cherche à trouver des solutions pour le boulot Lundi^WMardi (ouai, demain c'est paques).
Et puis c'est sur qu'en tant qu'admin, je refuse que mes utilisateurs voient le flux rss du figaro ... quand il consulte un site anti productif quelconque.
Enfin bref, tout ça pour dire que je crois pas que son objectif soit d'ordre "professionnel".
Et sinon, en mode réponse pure, je l'orienterai vers adblock.
Sinon, pour la solution à base de /etc/hosts:
rss.lefigaro.fr. 3600 IN CNAME feeds.feedburner.com.
La résolution balancera sur toutes les requêtes à destination des hosts ci dessus vers localhost (attention aux 404 si tu as un serveur web qui écoute sur ta machine).
Précision toutefois, si tu passes par un proxy HTTP, cette méthode sera complétement inefficace car dans ce cas, le client ne fait pas la résolution de nom, c'est le serveur proxy qui s'en charge.
J'utilise aussi ça en remplacement du gel douche, ça marche du feu de dieu et avec une bouteille je fais à peu près 1 an: http://www.ipsopresto.com/fournitures-services-generaux/prod(...)
Par contre quelques connaissances ont testé sur mon conseil et m'ont rapporté avoir choppé la pécole ... aucun soucis de mon côté.
Je voulais juste lui répondre de la façon dont il m'a adressé la parole. Ne t'en préoccupe pas ;-)
J'me souviens pas t'avoir demandé "de la fermer" ni être monté sur mes grands chevaux.
Juste une constatation: sur linuxfr et sur bien d'autres endroits, on répond rarement à la question posé. On part plutôt sur du "Faut pas faire ça saynul, j'te conseille de faire ça saymieux".
Branle toi un bon coup avant de monter en pression comme ça mon grand, ça te fera du bien tu verras. (ça c'était pour te donner une raison d'être en rogne).
Espèce de tache, regarde plus bas, j'ai répondu à la question qu'il posait.
Prend donc ton valium avant de poster la prochaine fois, ça sera mieux pour tout le monde.
Aucun problème, si tu veux suggérer une autre solution, pas de soucis, mais répond avant à la question posée.
Comme ça aucune idée ... ça doit être documenté dans les sources du noyaux ...
Essaye donc de fouiller dans /usr/src/linux/Documentation ... (j'ai pas les sources du noyau sur ma bécane du boulot :/)
Et pourquoi répondre toujours à côté de la plaque ?
Il a une problématique, et pose une question. Répondez donc à sa question au lieu de lui dire "ce que vous vous auriez fait et qui vous semble vachement mieux"...
1- de créer un block device virtuel de 100Mo en RAM,
[...]
Ami lecteurs, savez vous comment procéder pour l'étape 1 ?
Si je ne m'abuse, cela s'appelle un ramdisk.
Tu définies la taille de ce ramdisk en option au kernel à coup de ramdisk_size= puis ensuite, tu accèdes à /dev/ramX.
Premier point primordial, il ne faut pas dire que tu bosses dans l'informatique.
Tu dis que tu travailles dans les réseaux ou que tu es développeur, mais ne jamais laisser une chance aux gens d'associer ta profession à Windows XP.
Ensuite, quand en dépit de ces précautions, les bougres parviennent à te glisser une question sur Windows, tu réponds que tu n'en connais pas plus qu'eux car cela fait maintenant X années que tu as arrêté de toucher à cette cochonnerie et donc tu lui seras d'aucun secours.
Autre chose, pour ma part, je ne propose plus aux gens de les aider à passer sous Linux. Je leur en parle si je sens qu'ils peuvent être intéressés mais je ne cherche pas à imposer mon système d'exploitation pour une raison bien simple: je ne veux plus perdre mon peu de temps libre devant l'ordinateur des autres.
L'usage de base de mount est le suivant: mount device mountpoint
Par exemple, si tu fais mount /dev/sdd3 /plop
La partition 3 de sdd sera monté dans /plop, même si il n'y a pas d'entrée dans le /etc/fstab ou encore si l'entrée diffère.
Lorsqu'il n'y a qu'un seul argument, mount va examiner le fstab pour savoir comment faire.
Donc pour répondre à ta question, arrête de toucher au fstab et utilise la syntaxe complète.
Pour infos, il s'agit là des bases ... et un man mount aurait répondu à ta question ...
... ce que je trouve le plus affligeant, c'est l'absence complète de valeur ajouté de cet article.
L'auteur ne donne rien de plus ici que ce qu'on peut déjà lire en regardant la liste des portables disponibles sur les sites de vente en ligne.
En fait, la valeur ajoutée des sociétés te vendant de la solution proprio va être, généralement, l'outil qui s'occupe des stats ou de la corrélation des évènements.
Syslog-ng n'a pas pour vocation de faire ces deux taches. Syslog-ng ne fait que recevoir les logs, filtrer et stocker.
Je pense que le déploiement idéal pour remplacer une solution proprio serait un syslog-ng qui stocke dans une base de données MySQL.
Ensuite, soit tu recherches un outil te permettant d'exploiter cette base, soit tu tentes de le développer en fonction de tes besoins.
En revanche, il me semble (mais je parle sans m'être renseigné pour le coup) que l'offre Open Source en matière de corrélation et de stats est plutôt pauvre...
Il s'agit des bases d'iptables, base que tu t'approprierai aisément par toi même après 30 minutes de lecture.
En gros le problème ici est que ta règle de nat va "matcher" tout les paquets, qu'elle qu'en soit la source.
Il faut que tu la modifies en lui disant "la source ne doit pas être égale à mon ip".
Tu as maintenant la solution en bon français, je te laisse te sortir les doigts du c*l pr faire la conversion en iptables :p
C'est plutôt avec un serveur syslog que tu vas exploiter tes logs ...
Après que veux tu dire par "je ne suis pas vraiment convaincu" ?
Tu n'as pas réussi à faire communiquer ton boitier et ton syslog-ng ?
Syslog-ng est actuellement la solution la plus aboutie pour gérer du flux syslog. Ce dernier te permet de lire du syslog d'à peu près n'importe où (socket unix, tcp, udp, ...) pour l'écrire ensuite à peu près n'importe où (mysql, fichier, arborescence chronologique, ...).
Sois plus précis sur les fonctionnalités recherchées car à priori tout est dans syslog-ng ...
Hmm je rajouterai que depuis ses versions 4, OpenSSH implémente un proxy SOCKS.
Dixit la page de man:
-D [bind_address:]port
Specifies a local ``dynamic'' application-level port forwarding.
This works by allocating a socket to listen to port on the local
side, optionally bound to the specified bind_address. Whenever a
connection is made to this port, the connection is forwarded over
the secure channel, and the application protocol is then used to
determine where to connect to from the remote machine. Currently
the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
as a SOCKS server. Only root can forward privileged ports.
Dynamic port forwardings can also be specified in the configura-
tion file.
Après, tu n'as qu'à utiliser la lib tsocks qui te permet, à coup de LD_PRELOAD de socks-ifier toutes les applis de ton choix.
Tu utilises ton proxy du boulot pour monter un bon vieux tunnel SSH, genre à coup de ProxyCommand puis ensuite tu rediriges tout les ports que tu veux....
Genre, avec ta connexion à la maison:
iptables -t nat -A PREROUTING -s ip du boulot -p tcp --dport 443 -j REDIRECT --to 22
Ici on utilise le tool corkscrew qui va se connecter à ton proxy web et utiliser la méthode HTTP CONNECT puis laisser ce canal nouvellement ouvert à ssh, seule méthode pour faire passer (proprement) du ssh dans un proxy.
J'avais parlé de ça ici: http://psycho-hazard.net/~binarym/?what=techblog#Bypasser+un(...)
Ce sera possible de faire d'avoir faire ce que tu veux de façon transparente pour l'http... mais pour FTP/SSH/... oublie (aucune notion de machine cible dans ce protocol contrairement au HTTP/1.1 et son header Host:)
Seule solution, avoir un port particulier (2222, 2223, 2224, ...) pour tes différents vservers.
Par ailleurs, méfie toi de mod_proxy qui forwarde les requêtes par défaut en HTTP/1.0. Si tu as plusieurs vhost sur un même vserver, par défaut à cause du HTTP/1.0, ce sera toujours le même vhost qui sera servit.
La solution se trouve dans la directive de mod_proxy ProxyPreserveHost.
[^] # Re: Avec ssh
Posté par LaBienPensanceMaTuer . En réponse au message compte utilisateur. Évalué à 2.
et zouplaboum, la connexion se fermera apres execution du script
C'est vrai que je me suis plante, ce n'est pas le shell par defaut qui est change...
Ok, j'ai matté la page de man en question, par contre je suis pas sur que le comportement que tu décris soit bon.
En effet, je lis:
7. Changes to user's home directory.
8. If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists,
runs it; otherwise runs xauth. The ``rc'' files are given the
X11 authentication protocol and cookie in standard input.
9. Runs user's shell or command.
Je vois plus le point 8. comme une étape intermédiaire te permettant d'éxecuter des actions avant de lancer le shell.
Le lancement du shell ne semble pas avoir pour condition la (non) execution du script.
Donc, à mon avis, dans ton exemple, le shell de l'utilisateur sera lancé après le script.
On doit toujours pouvoir gruger en mettant /bin/true comme shell à l'utilisateur.
Après, j'pense que pour être sur il faudrait tester et j'avoue avoir la flemme :)
[^] # Re: Avec ssh
Posté par LaBienPensanceMaTuer . En réponse au message compte utilisateur. Évalué à 0.
Avec ssh, tu peux forcer le shell d'un utilisateur a la connexion.
Aucune trace de ça dans le man 5 sshd_config.
Le seul truc qui pourrait s'approcher de ce que tu décris serait de
forcer la variable d'environnement SHELL (voir AcceptEnv dans man 5 sshd_config), mais :
1/ je suis pas sur que ça outrepasse vraiment le shell par défaut de l'utilisateur.
2/ Ce serait plus à l'initiative de l'utilisateur qui se connecte, et faire confiance à l'utilisateur c'est aller dans le mur :)
Par contre, changer le shell de l'utilisateur se fait très bien à coup de chsh en tant que root.
Donc à priori tu peux très bien faire:
chsh -s <chemin du script> <user>
Toutefois cette modification sera globale au système, et non juste pour les connexions ssh.
# Shell restrictif
Posté par LaBienPensanceMaTuer . En réponse au message compte utilisateur. Évalué à 5.
Ca doit pouvoir se faire à coup de selinux et consors, mais c'est certainement bien compliqué pour peu de chose.
La solution vers laquelle je m'orienterai pour ma part serait un shell restrictif qui autorise ou non l'execution des commandes en question.
Ca se code très bien en shell.
Exemple:
[binarym@gco]:~% grep test /etc/passwd 15:18
test:x:1001:1001::/home/test:/tmp/rshell.sh
[binarym@gco]:~% cat /tmp/rshell.sh
#!/bin/sh
do_exit=0
while (( ! $do_exit)) ; do
echo "exit or uname ?"
read cmd;
if [ "$cmd" != "exit" ] && [ "$cmd" != "uname" ] ; then
echo "$cmd not allowed";
elif [ "$cmd" == "exit" ] ; then
do_exit=1;
else
uname;
fi;
done
[binarym@gco]:~% su - test
Password:
Pas de répertoire, connexion avec HOME=/
exit or uname ?
uname
Linux
exit or uname ?
ls
ls not allowed
exit or uname ?
uname -a
uname -a not allowed
exit or uname ?
uname | ls
uname | ls not allowed
exit or uname ?
exit
Voilà.
[^] # Re: Objectif ?
Posté par LaBienPensanceMaTuer . En réponse au message Bloquer les RSS. Évalué à 1.
Ce dernier point est vérifiable via le fichier /etc/host.conf (man 5 host.conf).
[^] # Re: Objectif ?
Posté par LaBienPensanceMaTuer . En réponse au message Bloquer les RSS. Évalué à 1.
Rien à voir donc.
[^] # Re: Objectif ?
Posté par LaBienPensanceMaTuer . En réponse au message Bloquer les RSS. Évalué à 3.
Et puis c'est sur qu'en tant qu'admin, je refuse que mes utilisateurs voient le flux rss du figaro ... quand il consulte un site anti productif quelconque.
Enfin bref, tout ça pour dire que je crois pas que son objectif soit d'ordre "professionnel".
Et sinon, en mode réponse pure, je l'orienterai vers adblock.
Sinon, pour la solution à base de /etc/hosts:
rss.lefigaro.fr. 3600 IN CNAME feeds.feedburner.com.
Donc,
echo "127.0.0.1 feeds.feeburner.com rss.lefigaro.fr" >> /etc/hosts
La résolution balancera sur toutes les requêtes à destination des hosts ci dessus vers localhost (attention aux 404 si tu as un serveur web qui écoute sur ta machine).
Précision toutefois, si tu passes par un proxy HTTP, cette méthode sera complétement inefficace car dans ce cas, le client ne fait pas la résolution de nom, c'est le serveur proxy qui s'en charge.
Voilà voilà.
[^] # Re: Ça c'est un bon plan !
Posté par LaBienPensanceMaTuer . En réponse au journal HS plan fringue. Évalué à 10.
J'étais fatigué des déodorants qui ne durent pas plus d'1 mois ou deux, et j'ai trouvé un fournisseur du tonnerre:
http://www.ipsopresto.com/fournitures-services-generaux/deso(...)
1.55€ les 300ml, même chez Lidl on trouve pas mieux.
J'utilise aussi ça en remplacement du gel douche, ça marche du feu de dieu et avec une bouteille je fais à peu près 1 an:
http://www.ipsopresto.com/fournitures-services-generaux/prod(...)
Par contre quelques connaissances ont testé sur mon conseil et m'ont rapporté avoir choppé la pécole ... aucun soucis de mon côté.
# Ça c'est un bon plan !
Posté par LaBienPensanceMaTuer . En réponse au journal HS plan fringue. Évalué à 6.
Maintenant, tout les geeks qui ont des problèmes pour se trouver une copine vont tomber toutes les nanas en boite avec ces superbes pompes de sécu !
[^] # Re: des pistes à étudier
Posté par LaBienPensanceMaTuer . En réponse au message Swapper dans la RAM d'un autre ordinateur. Évalué à 0.
J'me souviens pas t'avoir demandé "de la fermer" ni être monté sur mes grands chevaux.
Juste une constatation: sur linuxfr et sur bien d'autres endroits, on répond rarement à la question posé. On part plutôt sur du "Faut pas faire ça saynul, j'te conseille de faire ça saymieux".
Branle toi un bon coup avant de monter en pression comme ça mon grand, ça te fera du bien tu verras. (ça c'était pour te donner une raison d'être en rogne).
[^] # Re: des pistes à étudier
Posté par LaBienPensanceMaTuer . En réponse au message Swapper dans la RAM d'un autre ordinateur. Évalué à 2.
Prend donc ton valium avant de poster la prochaine fois, ça sera mieux pour tout le monde.
Aucun problème, si tu veux suggérer une autre solution, pas de soucis, mais répond avant à la question posée.
Je m'en tamponne le derch que tu sois en rogne.
[^] # Re: re
Posté par LaBienPensanceMaTuer . En réponse au message Swapper dans la RAM d'un autre ordinateur. Évalué à 1.
[^] # Re: des pistes à étudier
Posté par LaBienPensanceMaTuer . En réponse au message Swapper dans la RAM d'un autre ordinateur. Évalué à 2.
Il a une problématique, et pose une question. Répondez donc à sa question au lieu de lui dire "ce que vous vous auriez fait et qui vous semble vachement mieux"...
# re
Posté par LaBienPensanceMaTuer . En réponse au message Swapper dans la RAM d'un autre ordinateur. Évalué à 2.
[...]
Ami lecteurs, savez vous comment procéder pour l'étape 1 ?
Si je ne m'abuse, cela s'appelle un ramdisk.
Tu définies la taille de ce ramdisk en option au kernel à coup de ramdisk_size= puis ensuite, tu accèdes à /dev/ramX.
# Ma méthode...
Posté par LaBienPensanceMaTuer . En réponse au journal [ Un peu HS ] Et vous, vous dites quoi lorsqu'on vous demande ?. Évalué à 4.
Tu dis que tu travailles dans les réseaux ou que tu es développeur, mais ne jamais laisser une chance aux gens d'associer ta profession à Windows XP.
Ensuite, quand en dépit de ces précautions, les bougres parviennent à te glisser une question sur Windows, tu réponds que tu n'en connais pas plus qu'eux car cela fait maintenant X années que tu as arrêté de toucher à cette cochonnerie et donc tu lui seras d'aucun secours.
Autre chose, pour ma part, je ne propose plus aux gens de les aider à passer sous Linux. Je leur en parle si je sens qu'ils peuvent être intéressés mais je ne cherche pas à imposer mon système d'exploitation pour une raison bien simple: je ne veux plus perdre mon peu de temps libre devant l'ordinateur des autres.
# RTFM ....
Posté par LaBienPensanceMaTuer . En réponse au message disque amovible (psp,gsm,apn). Évalué à 0.
mount device mountpoint
Par exemple, si tu fais
mount /dev/sdd3 /plop
La partition 3 de sdd sera monté dans /plop, même si il n'y a pas d'entrée dans le /etc/fstab ou encore si l'entrée diffère.
Lorsqu'il n'y a qu'un seul argument, mount va examiner le fstab pour savoir comment faire.
Donc pour répondre à ta question, arrête de toucher au fstab et utilise la syntaxe complète.
Pour infos, il s'agit là des bases ... et un man mount aurait répondu à ta question ...
# Pour ma part...
Posté par LaBienPensanceMaTuer . En réponse au journal Chronique informatique du journal Le Monde.... Évalué à 10.
L'auteur ne donne rien de plus ici que ce qu'on peut déjà lire en regardant la liste des portables disponibles sur les sites de vente en ligne.
# Re: ...
Posté par LaBienPensanceMaTuer . En réponse au message Lacryma.fr recherche un nouveau webmaster partenaire. Évalué à 8.
Faire de la merde à l'oeil ? Bein voyons ...
Utilisateur de logiciels libres != PIGEON, à bon entendeur ...
[^] # Re: re
Posté par LaBienPensanceMaTuer . En réponse au message syslog. Évalué à 1.
Syslog-ng n'a pas pour vocation de faire ces deux taches. Syslog-ng ne fait que recevoir les logs, filtrer et stocker.
Je pense que le déploiement idéal pour remplacer une solution proprio serait un syslog-ng qui stocke dans une base de données MySQL.
Ensuite, soit tu recherches un outil te permettant d'exploiter cette base, soit tu tentes de le développer en fonction de tes besoins.
En revanche, il me semble (mais je parle sans m'être renseigné pour le coup) que l'offre Open Source en matière de corrélation et de stats est plutôt pauvre...
# De l'importance de ne pas abuser...
Posté par LaBienPensanceMaTuer . En réponse au message Comment ne pas filtrer une IP avec iptables.... Évalué à 2.
En gros le problème ici est que ta règle de nat va "matcher" tout les paquets, qu'elle qu'en soit la source.
Il faut que tu la modifies en lui disant "la source ne doit pas être égale à mon ip".
Tu as maintenant la solution en bon français, je te laisse te sortir les doigts du c*l pr faire la conversion en iptables :p
# re
Posté par LaBienPensanceMaTuer . En réponse au message syslog. Évalué à 2.
C'est plutôt avec un serveur syslog que tu vas exploiter tes logs ...
Après que veux tu dire par "je ne suis pas vraiment convaincu" ?
Tu n'as pas réussi à faire communiquer ton boitier et ton syslog-ng ?
Syslog-ng est actuellement la solution la plus aboutie pour gérer du flux syslog. Ce dernier te permet de lire du syslog d'à peu près n'importe où (socket unix, tcp, udp, ...) pour l'écrire ensuite à peu près n'importe où (mysql, fichier, arborescence chronologique, ...).
Sois plus précis sur les fonctionnalités recherchées car à priori tout est dans syslog-ng ...
[^] # Re: La méthode la plus pratique à mes yeux
Posté par LaBienPensanceMaTuer . En réponse au message Accès POP+SMTP vers Free derrière un firewall. Évalué à 1.
Dixit la page de man:
Après, tu n'as qu'à utiliser la lib tsocks qui te permet, à coup de LD_PRELOAD de socks-ifier toutes les applis de ton choix.
# La méthode la plus pratique à mes yeux
Posté par LaBienPensanceMaTuer . En réponse au message Accès POP+SMTP vers Free derrière un firewall. Évalué à 1.
Genre, avec ta connexion à la maison:
Puis au boulot:
Ici on utilise le tool corkscrew qui va se connecter à ton proxy web et utiliser la méthode HTTP CONNECT puis laisser ce canal nouvellement ouvert à ssh, seule méthode pour faire passer (proprement) du ssh dans un proxy.
J'avais parlé de ça ici: http://psycho-hazard.net/~binarym/?what=techblog#Bypasser+un(...)
# facile :)
Posté par LaBienPensanceMaTuer . En réponse au message Récupération en shell script de valeurs de lignes dans un fichier. Évalué à 1.
[^] # Re: des essais
Posté par LaBienPensanceMaTuer . En réponse au message Démarrer un shell avec un programme dedans.. Évalué à 1.
[^] # Re: Reverse proxy ?
Posté par LaBienPensanceMaTuer . En réponse au message Port forwarding. Évalué à 1.
Seule solution, avoir un port particulier (2222, 2223, 2224, ...) pour tes différents vservers.
Par ailleurs, méfie toi de mod_proxy qui forwarde les requêtes par défaut en HTTP/1.0. Si tu as plusieurs vhost sur un même vserver, par défaut à cause du HTTP/1.0, ce sera toujours le même vhost qui sera servit.
La solution se trouve dans la directive de mod_proxy ProxyPreserveHost.