directives Allow, Deny pour Apache

 Trucs et astuces techniques  Commentaires fermés sur directives Allow, Deny pour Apache
Juin 242010
 

Attention la directive Order est contre-intuitive :

  • Order Allow,Deny
    1. all Allow directives are evaluated ; at least one MUST match, or the request is rejected.
    2. all Deny directives are evaluated. If any matches, the request is rejected.
    3. any requests which do not match an Allow or a Deny directive are denied by default.

    Ce qui signifie que

    1. Si ca match un Deny, quelque soit les autres directives alors reject.
    2. Si match Allow (mais aucun deny explicite alors accept.
    3. Si match rien alors reject.
  • Order Deny,Allow
    1. all Deny directives are evaluated; if any match, the request is MARKED TO BE denied.
    2. if it also matches an Allow directive, the request is permitted.
    3. Any requests which do not match any Allow or Deny directives are permitted.

    Ce qui signifie que

    1. Si ca match un Allow alors accepte et on en reste là.
    2. Si match Deny (mais pas un allow précédent) alors reject.
    3. Si match rien alors accept.

Apache mod_proxy sous debian

 Trucs et astuces techniques  Commentaires fermés sur Apache mod_proxy sous debian
Juin 202010
 

La configuration par défaut du mod_proxy de Apache sous Debian implique les réglages suivants

<IfModule mod_proxy.c>
#turning ProxyRequests on and allowing proxying from all may allow
#spammers to use your proxy to send email.

ProxyRequests Off          <<<<<<<< Très bien 	:smile: 
<Proxy *>
   AddDefaultCharset off
   Order deny,allow
   Deny from all               <<<<<<< RAAAAHHHHHH ! 	:mad: 
   #Allow from .example.com
</Proxy>

# Enable/disable the handling of HTTP/1.1 "Via:" headers.
# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block

ProxyVia On
</IfModule>

Ce genre de sécurités à la con me sortent par les yeux parce qu’elles impliques que si vous activez (à priori volontairement) une option, cette option sera par defaut inutilisable. Et vous chercherez vainement ce que vous avez bien pu faire de travers alors que ce n’est pas de votre faute.

Changer le reglage par defaut de debian est une mauvaise piste. => gare à la prochaine mise à jour.

un vhost qui veut faire du proxy doit donc au moins avoir pour directives :

<VirtualHost :80>
  ServerName fqdn.server.com
  proxyPass localpath  http://targeturl/
  proxyVia off
  <proxy >
    Order Deny,Allow
    Deny from all
    Allow from all
  </proxy></strong>
</VirtualHost>