IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Filtrage + redirection : empêcher l'accès à une ressource par URL directe ?


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 31
    Points : 20
    Points
    20
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ta conf est incomplète : comment tu utilises ton proxy balancer ? Tu as surement des directives ProxyPass quelque part : quelles sont-elles ? L'idée c'est de déclarer tes ProxyPass dans un bloc <Location> dans lequel tu ajoutes des Allow ou Deny pour verrouiller les accès sur les URL.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Effectivement il y a ce genre de directives.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <Location /balancer-manager>
      SetHandler balancer-manager
      Order Deny,Allow
      Allow from myserver.mydomain AA.AA.AA.AA
    </Location>
     
    <Proxy balancer://mycluster>
      BalancerMember ajp://localhost:8009
      Deny from all
      # IP NUMBER 1
      Allow from BB.BB.BB.BB
      # IP NUMBER 2
      Allow from CC.CC.CC.CC
      ...
      ...
      ProxyPass /Restricted_Access.htm !
      ProxyPass /Restricted_Access/myimage.png !
      ProxyPass /balancer-manager !
      ProxyPass / balancer://mycluster/
    </VirtualHost>

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    As-tu essayé ce que j'ai suggérer ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Oui j'ai testé et un premier essai très rapide semble intéressant. Mais comme je ne suis pas très doué sur Apache je ne suis pas sûr de mon coup.
    J'ai rajouté une section comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <Location /mon_appli_1>
      ProxyPass http://montomcat:8080/mon_appli_1
      Order Deny,Allow
      Deny from all
      Allow from 1.2.3.4
      Allow from ...
    </Location>
    Je vais continuer mes tests.
    Merci.

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Oui, c'est ça.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. Empêcher l'accès à une page par l'URL
    Par malgache dans le forum Apache
    Réponses: 1
    Dernier message: 03/02/2012, 20h05
  2. acces aux ressources par une variable?
    Par lowfee dans le forum VB.NET
    Réponses: 17
    Dernier message: 09/11/2010, 20h47
  3. Empêcher l'accès à une action par l'URL
    Par wokky dans le forum MVC
    Réponses: 2
    Dernier message: 06/04/2009, 20h28
  4. Réponses: 16
    Dernier message: 04/01/2007, 14h40
  5. Accès à une ressource ?
    Par Neilos dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/03/2004, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo