Filtrage + redirection : empêcher l'accès à une ressource par URL directe ?
Bonjour,
J'utilise Apache en Reverse Proxy devant un Tomcat.
Je souhaiterais empêcher l'accès à des ressources avec une URL rentrée en DIRECT.
J'ai 3 groupes d'utilisateurs :
Groupe 1 -> redirection vers http://montomcat:8080/mon_appli_1
Groupe 2 -> redirection vers http://montomcat:8080/mon_appli_2
Groupe 3 -> redirection vers http://montomcat:8080/mon_appli_3
Pour l'heure je fais ceci en 2 phases :
1. Filtrage des IP
2. Redirection suivant IP
J'utilise un fichier /etc/httpd/conf.d/mondomain.conf avec entre autres ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
...
<Proxy balancer://mycluster>
BalancerMember ajp://localhost:8009
Deny from all
# User 1 (groupe 1)
Allow from 1.2.3.4
# User 2 (groupe 2)
Allow from 5.6.7.8
# User 3 (groupe 3)
Allow from 9.10.11.12.13
# etc...
</Proxy>
# User 1 (groupe 1)
RewriteCond %{REMOTE_ADDR} ^1\.2\.3\.4$
RewriteRule ^/+$ /mon_appli_1 [L,R]
# etc...
# User 2 (groupe 2)
RewriteCond %{REMOTE_ADDR} ^5\.6\.7\.8$
RewriteRule ^/+$ /mon_appli_2 [L,R]
# User 3 (groupe 3)
RewriteRule ^/+$ /mon_appli_3 [L,R]
... |
Le filtrage et les redirections fonctionnement bien : Si un utilisateur (avec une IP autorisée) entre l'adresse http://montomcat:8080 il est bien redirigé vers l'appli qui lui est assignée.
Par contre rien ne l'empêche d'entrer une des autres adresses en DIRECT s'il les connait : Par exemple le User 1 peut entrer et accéder à http://montomcat:8080/mon_appli_2 alors qu'il doit aller sur http://montomcat:8080/mon_appli_1
En gros le filtrage IP ne peut rien car le user est autorisé et la redirection est bypassée par une URL en direct.
Comment puis-je faire SVP ?
Merci.
Tom.