Fazer o Apache exigir IP do cliente e login no proxy
Combine no Apache 2.4 a autenticação do proxy e as restrições de endereço do cliente sem deixar que qualquer requisito isolado conceda acesso.
Quando um proxy direto do Apache 2.4 deve exigir tanto o endereço de origem aprovado quanto um login válido, use <RequireAll>:
<Proxy "*">
AuthType Basic
AuthName "Private proxy"
AuthBasicProvider file
AuthUserFile /etc/apache2/private-proxy-users
<RequireAll>
Require ip 192.0.2.25
Require valid-user
</RequireAll>
</Proxy>Integre este fragmento de autorização ao proxy restrito existente. Substitua o endereço do cliente e o caminho do arquivo de contas; os módulos de autenticação/autorização precisam estar disponíveis, e o arquivo já deve conter os usuários pretendidos. Isso não é uma implantação completa do listener.
Dois detalhes definem a política. O contêiner expressa AND; colocar requisitos positivos lado a lado não exige necessariamente todos. Require valid-user aceita uma conta autenticada, enquanto Require user alice nomeia uma conta. Um Require user isolado não expressa nada. Consulte a referência de autorização de usuários do Apache.
| Origem | Login | Resultado exigido |
|---|---|---|
| Permitida | Válido | A solicitação autorizada pretendida é permitida. |
| Permitida | Ausente ou inválido | Nenhum encaminhamento autorizado. |
| Fora da origem permitida | Válido | Nenhum encaminhamento autorizado. |
Antes de confiar no fragmento, revise o host virtual que o contém e outras seções de autorização correspondentes; teste o limite de autorização uma configuração mais específica pode mudar o resultado efetivo. O login Basic também precisa de um transporte cliente-proxy protegido. O HTTPS do destino começa depois e não protege a troca anterior de credenciais em texto claro.