Apache 2.4 quer que eu decida: Exigir ip válido ou exigir usuário válido

1

O Apache 2.4 parece misturado: a negação do IP e a negação do usuário não funcionam mais. Agora está misturado e ... porque isso: ele corrige alguns dos meus servidores de segurança ...

Nas versões antigas, posso habilitar as duas coisas e trabalhar com elas sem afetar a outra, por exemplo:

deny from all 
allow from ip1
allow from ip2 

No apache2.4, o equivalente:

require ip1 
require ip2

Está indo bem em sites sem o htacess + htpasswd. Mas quando você tem htacess + htpasswd, o comportamento não é como você esperava porque acha que os ips necessários são confiáveis para entrar sem senha, anulando o htacess, e até pior, ips fora da lista são capazes graças à tentativa de tentar login com uma senha e isso não é o que o apache 2.2 faz!

No antigo apache, os hosts permitidos são o somente que pode tentar autenticar ... e mesmo que eles sejam permitidos, ele ainda precisará de uma senha do htaccess para abrir o site.

ATUALIZAÇÃO:

Eu sou capaz de contornar o comportamento usando o mod_acess_compat por enquanto ... mas acho que isso não é uma solução, já que estou usando os comandos antigos no apache 2.4 ... e tenho medo de algum comportamento inesperado ou a depreciação deste módulo ...

    
por Luciano Andress Martini 27.12.2017 / 19:29

1 resposta

6

A principal parte que você está perdendo é a diretiva <RequireAny> .

De link :

The following example will allow GET, HEAD, POST, and OPTIONS requests without authentication, and require a valid user for all other methods:

<RequireAny>
     Require method GET POST OPTIONS
     Require valid-user 
</RequireAny>

Acho que é disso que você precisa.

EDIT Ok, aparentemente nos confundimos.

Parece que o que você quer seria algo assim:

<RequireAll>
    <RequireAny>
        Require ip1
        Require ip2
     </RequireAny>
    Require valid-user
</RequireAll>
    
por 27.12.2017 / 19:57