Como eu solicito um intervalo de IP em vez de 1 IP?

10

Minhas alterações de IP fazem uma classe D diferente, portanto, quero definir um intervalo:

123.123.123.xxx onde o último segmento pode ser 0-255.

Neste momento, o Apache diz:

<RequireAny>
   Require ip 127.0.0.1
   Require ip ::1
</RequireAny>
    
por user281497 14.04.2015 / 05:51

4 respostas

16

Primeiramente, eu vou assumir que você quer dizer o Apache 2.4 apesar da tag "apache-2.2" já que a sintaxe que você postou é da 2.4.

Da documentação do Apache:

ip.address is an IP address, a partial IP address, a network/netmask pair, or a network/nnn CIDR specification.

Suponho que você quer dizer que deseja permitir um / 24 desde que a Classe D é um endereço Multicast, e a rede classful morreu nos anos 90. Para permitir um / 24, você pode usar qualquer um dos seguintes:

Require ip 123.123.123
Require ip 123.123.123.0/255.255.255.0
Require ip 123.123.123.0/24

Pessoalmente, acho que o último é menos ambíguo do que o primeiro e mais fácil de ler que o segundo.

Você pode achar útil esta seção da documentação: link

    
por 14.04.2015 / 06:13
9

No Apache 2.2 e abaixo, você pode trabalhar com:

Order deny,allow
Deny from all
Allow from 24.18    # allow access from home
Allow from 162.12   # allow access from work

no seu .htacess, diretamente no nível base (não dentro de qualquer <directive> ).

A partir do Apache 2.4 e acima, aqui vai:

<RequireAny>
    #IPv4 range at my work
    Require ip 207.100
    #IPv4 range I usually get through my mobile provider
    Require ip 29.11
    #IPv6 from home
    Require ip 2a02:4126:2aa4::/48  
</RequireAny>

(todos os números são fictícios, não se preocupe; -).

Estou usando isso há muitos anos para proteger minhas pastas de back-end contra 99% dos usuários em potencial. (Trabalhando muito bem, a menos que você seja um blogueiro ávido enquanto viaja. Se você é um usuário do Gmail: "última atividade da conta" Link na parte inferior é uma maneira confortável de descobrir seus próprios "endereços IP").

    
por 07.03.2017 / 10:55
1

Notando que você confirmou agora usando o Apache 2.2 , o Apache 2.2 não suporta Require ip ou <RequireAny> . Conforme observado na Visão geral dos novos recursos no Apache HTTP Server 2.4 , "A lógica de autorização avançada pode agora ser especificado usando a diretiva Require e as diretivas de contêiner relacionadas, como <RequireAll> . " Os primeiros estão entre as melhorias adicionadas ao Apache 2.4.

Para lidar com isso no Apache 2.2, você provavelmente precisará fazer algo como:

Order allow,deny
Allow from 123.123.123    

que irá obter todo o intervalo especificado.

    
por 25.05.2016 / 05:40
0

A diretiva Requer do Apache é usada durante a fase de autorização para garantir que um usuário seja acesso permitido ou negado a um recurso. mod_authz_host estende os tipos de autorização com ip, host, forward-dns e local. Outros tipos de autorização também podem ser usados, mas podem exigir que módulos de autorização adicionais sejam carregados.

Esses provedores de autorização afetam quais hosts podem acessar uma área do servidor. O acesso pode ser controlado pelo nome do host, pelo endereço IP ou pelo intervalo de endereços IP.

Desde a v2.4.8, as expressões são compatíveis com as diretivas de requerimento do host. Exigir ip

O provedor ip permite que o acesso ao servidor seja controlado com base no endereço IP do cliente remoto. Quando Require ip ip-address for especificado, a solicitação terá permissão para acessar se o endereço IP corresponder.

Um endereço IP completo:

Require ip 10.1.2.3
Require ip 192.168.1.104 192.168.1.205

Um endereço IP de um host permitiu o acesso

Um endereço IP parcial:

Require ip 10.1
Require ip 10 172.20 192.168.2

Os primeiros 1 a 3 bytes de um endereço IP, para restrição de sub-rede.

Um par de rede / máscara de rede:

Require ip 10.1.0.0/255.255.0.0

Uma rede a.b.c.d e uma netmask w.x.y.z. Para uma restrição de sub-rede mais refinada.

Uma especificação de rede / nnn CIDR:

Require ip 10.1.0.0/16

Semelhante ao caso anterior, exceto que a máscara de rede consiste em nnn de alta ordem de 1 bit.

Observe que os últimos três exemplos acima correspondem exatamente ao mesmo conjunto de hosts.

Os endereços IPv6 e as sub-redes IPv6 podem ser especificados conforme mostrado abaixo:

Require ip 2001:db8::a00:20ff:fea7:ccea
Require ip 2001:db8:1:1::a
Require ip 2001:db8:2:1::/64
Require ip 2001:db8:3::/48

Nota: Como os endereços IP são analisados na inicialização, as expressões não são avaliadas no momento da solicitação.

Fonte: link

    
por 21.01.2017 / 07:19

Tags