Como bloquear endereços IP no nível do Apache HTTP Server?

Saiba como bloquear endereços IP no nível do Apache HTTP Server. Crie um arquivo .conf com os IPs a serem bloqueados na pasta /etc/conf.d do servidor Web Apache.

Descrição description

Ambiente

Adobe Experience Manager

Problemas/Sintomas

Nosso site está enfrentando um ataque de negação de serviço, spam ou está sendo hackeado. Como bloquear endereços IP no nível do Apache HTTP Server (AEM Dispatcher)?

Resolução resolution

A maioria dos firewalls de aplicações web (WAF), como segurança mod, pode conter listas de bloqueios de endereços IP. No entanto, se você estiver executando o Apache HTTP Server e quiser bloquear os IPs, siga imediatamente estas etapas (não aplicável no AEM as a Cloud Service):

  1. Crie um arquivo com o nome block-offending-ips.conf no servidor

  2. Abra o arquivo em um editor e adicione uma diretiva de localização que impeça todos os IPs ofensivos de acessar quaisquer URLs que você deseja bloquear. Há duas opções para o conteúdo do arquivo abaixo:
    A. Se a solicitação for enviada por proxy (via CDN, Balanceador de carga etc.) e o IP do usuário remoto estiver somente em um cabeçalho, como X-Forwarded-For, essa configuração poderá ser usada. Observe que essa configuração não se aplica se remoteip_module estiver configurado.

    code language-none
    LocationMatch "/.*"
        Order Allow,Deny
        Allow from all
        SetEnvif X-Forwarded-For "10\.42\.137\.123" DenyAccess
        SetEnvif X-Forwarded-For "122\.6\.218\.101" DenyAccess
        #Repeat the "SetEnvlf X-Forwarded-For ..." for each IP you want to block
        Deny from env=DenyAccess
        /LocationMatch
    

    B. Como alternativa, se o usuário remoto estiver acessando diretamente o Apache ou se você estiver usando remoteip_module (consulte [ 1] abaixo) para extrair e configurá-lo no Apache, será possível usar o recurso Require do mod_authz_core diretamente (Apache 2.4).

    code language-none
    LocationMatch "/.*"
        RequireAll
        Require all granted
        Require not ip 10.42.137.123
        Require not ip 122.6.218.101
        #Repeat the "Require not ip ..." for each IP you want to block
        /RequireAll
        /LocationMatch
    

    [ 1] remoteip_module

    code language-none
    # Extract true client IP from header added by load balancer/CDN
        IfModule remotetip module
        # valid for ELB or ELB+CloudFront
        RemoteIPHeader X-Forwarded-For
        IfModule
    
  3. Solte o arquivo block-offending-ips.conf na pasta /etc/conf.d do servidor Web Apache.

  4. Reinicie o Apache HTTP Server.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f