Proteção de segurança do Web Application Firewall para aplicativos HTTP e HTTPS

Ver Categorias

Proteção de segurança do Web Application Firewall para aplicativos HTTP e HTTPS

6 min read

Visão geral #

O artigo a seguir descreve um caso de uso real para um ISP ou provedor de hospedagem, em que o proxy reverso do HTTP / S Load Balancer é o principal ponto de acesso a todos os serviços públicos da Web, essa configuração mostra como é fácil configurar um WAF avançado e poderoso conjunto de regras para proteger aplicativos da Web baseados em endereços IP de origem da lista negra, onde cada VirtualHost gerencia sua própria lista negra de maneira que um IP público possa ser proibido de se conectar a um domínio da web como www.company1.com mas com permissão para se conectar a www.company2.com.

Vamos focar o artigo em duas seções; na seção principal, a configuração do perfil HTTPS funcionará como um proxy reverso com uma lista de serviços diferentes, e a segunda seção explicará como configurar um Firewall de Aplicação Web conjunto de regras que gerenciará uma lista negra diferente por serviço HTTP / S.

Meio Ambiente #

O diagrama a seguir descreve o RELIANOID Internos do WAF. Como é mostrado, a primeira camada é o módulo WAF cujo objetivo é garantir, numa fase inicial, que apenas solicitações seguras possam passar para o módulo de balanceamento de carga e depois encaminhar a solicitação para os backends.

Em primeiro lugar, o HTTP Proprietário O cabeçalho é avaliado e o IP do cliente é verificado na lista negra já configurada. Se o Proprietário cabeçalho e o endereço IP do cliente corresponder, a conexão será interrompida e um Proibida 403 A resposta HTTP é enviada ao cliente, mas no caso em que o IP do cliente e solicitado Proprietário cabeçalho não corresponde, o tráfego é identificado como não malicioso e passado para o módulo do balanceador de carga, onde o destino é escolhido com base na solicitação HTTP Proprietário cabeçalho e finalmente encaminhado para o servidor back-end disponível.

Aqui você pode encontrar um esquema dos internos do Web Application Firewall para o exemplo fornecido.

RELIANOID WAF IPDS

Configuração de serviço virtual HTTP #

Configure um dedicado Endereço IP virtual, no nosso exemplo 192.168.100.58, navegando até Rede> Interfaces virtuais> Criar interface virtual como mostrado abaixo:

RELIANOID Criar VIP

Agora vamos configurar o serviço de balanceamento de carga HTTP, vá para LSLB> Fazendas e depois clique no botão Criar fazenda e insira os detalhes do serviço virtual conforme mostrado abaixo:

RELIANOID Criar farm HTTP de hospedagem

Então aperte Criar.

Agora clique na aba superior Serviços e crie tantos serviços quanto sites diferentes que você gerencia, clique no botão Novo serviço, no nosso caso, criaremos dois serviços diferentes, um para gerenciar o serviço para www.mycompany1.com e outro para www.mycompany2.com.

RELIANOID Criar serviço HTTP

Depois que o serviço for criado, adicione o Host Virtual filtro e back-end, como é mostrado na imagem abaixo.

RELIANOID Configuração de serviços HTTP

Caso você tenha vários sites, é necessário adicionar mais serviços para definir um serviço dedicado para gerenciar cada web a partir do mesmo endereço IP.

Agora que a configuração do balanceamento de carga foi concluída, vamos configurar o módulo IPDS Web Application Firewall.

Configuração de listas negras #

Vamos criar uma lista negra por serviço da web para inserir em cada lista negra os endereços IP desejados para bloquear o acesso. Em nosso exemplo, criaremos duas listas negras diferentes com o nome blacklistmycompany1 e blacklistmycompany2, um por serviço, respectivamente.

RELIANOID Lista negra de IPDS1

Essa lista negra será salva no caminho /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistminhaempresa1.txt.

Incluímos os endereços IP 2 para fins de teste; considere adicionar quantos IPs forem necessários. Além disso, o já existente As listas negras no IPDS módulo pode ser usado.

RELIANOID Criar lista negra IPDS2

Essa segunda lista negra será salva no caminho /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistminhaempresa2.txt.

Leve em consideração que nesta lista negra incluímos o endereço IP 192.168.1.191, esse IP será usado apenas para fins de teste, de onde executaremos solicitações HTTP.

Configuração do conjunto de regras do Web Application Firewall #

O objetivo desta configuração é manter diferentes listas negras de IP por site, para evitar manter a mesma lista negra para todo o ponto de acesso do farm.

Nós vamos configurar um conjunto de regras, que é um grupo de regras, com nome Hospedagem de sites. Esse conjunto de regras será composto por duas regras simples (ID da regra 1000 e ID da regra 1001 em nosso exemplo), cada regra é definida como uma correspondência e uma ação, onde, se a condição corresponder, a ação será executada. Em nosso exemplo, usaremos a mesma ação em ambas as regras, se a condição corresponder a Rejeitar ação é executado com um Acesso negado do 403 resposta.

Acesse IPDS> WAF, então clique em Criar conjunto de regras WAF e defina um nome descritivo do conjunto de regras, em nosso exemplo Hospedagem de sites.

Configure o campo Fase padrão para Cabeçalhos de solicitação são recebidos. Este campo significa que o módulo WAF analisará os cabeçalhos de solicitação recebidos do cliente.

RELIANOID IPDS cria conjunto de regras WAF

Então vá para a aba Regras e crie o primeiro Regra do tipo Ação como é mostrado abaixo.

RELIANOID IPDS cria conjunto de regras WAF

Agora, a primeira regra do conjunto de regras é criada, permite criar as condições para corresponder ao IP do cliente na lista negra de cada Proprietário cabeçalho. Vamos para Condições e crie uma condição de acordo com o REMOTE_ADDR variável conforme mostrado abaixo.

RELIANOID Correspondência da lista negra IPDS

Em seguida, crie outra condição para o Host Virtual combinar de acordo com SERVER_NAME variável da seguinte maneira:

RELIANOID Correspondência IPDS SERVER_NAME

Neste ponto, o primeiro site hospedado www.mycompany1.com gerencia um endereço IP da lista negra de aplicativos da web a partir da lista negra já configurada, referida Blacklistmycompany1.txt.

Vamos criar outra regra para o segundo site www.mycompany2.com e repita a mesma configuração da configuração de regra anterior, mas nesse caso, você deve alterar o SERVER_NAME para mycompany2.com e consulte o seguinte blacklist2.txt.

Veja toda a configuração do conjunto de regras WAF composto:

RELIANOID Configuração completa do conjunto de regras do IPDS WAF

Por fim, adicione este conjunto de regras ao farm já criado, vá para a guia Fazendas e mudar a fazenda Hosting, em nosso exemplo, para o Farms ativados seção como é mostrado abaixo.

RELIANOID IPDS WAF - Atribuição de fazenda

Agora inicie o conjunto de regras WAF do farm, clique na ação Jogar na seção superior esquerda desta janela, e o sistema começará a filtrar o tráfego HTTP para o Farm Hosting.

Testando o conjunto de regras do Firewall de Aplicativos Web #

O IP do cliente 192.168.1.191 solicitará o site http://www.mycompany1.com e http://www.mycompany2.com e, de acordo com nossa configuração, o sistema WAF permitirá a conexão com o primeiro serviço com o mesmo nome, mas a conexão será negada mycompany2.com porque esse IP foi incluído na lista negra com nome Lista negra da minha empresa2.

Do endereço IP 192.168.1.191 ao VIP, solicitando o site www.mycompany1.com através do balanceador de carga:

root@192.168.1.191:# curl -H "Host: www.mycompany1.com" http://192.168.100.58 -v * URL reconstruída para: http://192.168.100.58/ * Tentando 192.168.100.58... * Conjunto TCP_NODELAY * Conectado a 192.168.100.58 (192.168.100.58) porta 80 (#0) > GET / HTTP/1.1 > Host: www.mycompany1.com > User-Agent: curl/7.52.1 > Aceitar: */* > HTTP / 1.1 200 OK
<Servidor: nginx/1.10.3 <Data: terça, 10 de setembro de 2019 15:36:22 GMT <Tipo de conteúdo: text/html <Comprimento do conteúdo: 11383 <Última modificação: quinta, 13 de dezembro de 2018 11:01: 49 GMT <Conexão: keep-alive <ETag: "5c123c1d-2c77" <Intervalos de aceitação: bytes 

Do endereço IP 192.168.1.191 ao VIP, solicitando o site www.mycompany2.com através do balanceador de carga:

root@192.168.1.191:# curl -H "Host: www.mycompany2.com" http://192.168.100.58 -v * URL reconstruída para: http://192.168.100.58/ * Tentando 192.168.100.58... * Conjunto TCP_NODELAY * Conectado a 192.168.100.58 (192.168.100.58) porta 80 (#0) > GET / HTTP/1.1 > Host: www.mycompany2.com > User-Agent: curl/7.52.1 > Aceitar: */* > * HTTP 1.0, assuma próximo após o corpo Solicitação HTTP/1.0 403 proibida
< Content-Type: text/html < Content-Length: 17 < Expira: agora < Pragma: no-cache < Cache-control: no-cache,no-store < * Curl_http_done: chamado prematuro == 0 * Fechando conexão 0 respondeu proibido

Uma vez que o proibido Como a resposta é gerada, o módulo WAF notifica a rejeição no arquivo Syslog do balanceador de carga.

root@zva6000:# tail -f /var/log/syslog 10 de set. 15:38:44 zva6000 pound: Hospedagem, ModSecurity: Aviso. Correspondeu "Operador `StrMatch' com parâmetro `mycompany2.com' contra variável `SERVER_NAME' (Valor: `www.mycompany2.com' ) [arquivo "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [linha "17"] [id "1001"] [rev ""] [msg "Custom Match 2"] [dados ""] [severidade "0"] [ver ""] [maturidade "0"] [precisão "0"] [nome do host "192.168.100.58"] [uri "/"] [unique_id "156812992458.770641"] [ref "v0,13v21,18"] 10 de set. 15:38:44 zva6000 pound: Hospedagem, [WAF, serviço mycompany2, backend 192.168.100.22:80,] (7f6cfac3c700) [cliente 192.168.1.191] ModSecurity: Acesso negado com código 403 (fase 1). Correspondido "Operador `StrMatch' com parâmetro `mycompany2.com' contra variável `SERVER_NAME' (Valor: `www.mycompany2.com' ) [arquivo "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [linha "17"] [id "1001"] [rev ""] [msg "Custom Match 2"] [dados ""] [gravidade "0"] [ver ""] [maturidade "0"] [precisão "0"] [nome do host "192.168.100.58"] [uri "/"] [unique_id "156812992458.770641"] [ref "v0,13v21,18"] 10 de set. 15:38:44 zva6ktpl1 pound: Hospedagem, serviço mycompany2, backend 192.168.100.25:80, (7f6cfac3c700) WAF negou uma solicitação de 192.168.1.191

Agora você pode criar seus conjuntos de regras de firewall personalizados para proteger seus aplicativos da Web usando técnicas de inspeção profunda de pacotes HTTP / S.

Artigos relacionados #

https://www.relianoid.com/knowledge-base/enterprise-edition/enterprise-edition-v6-0-administration-guide/v6-0-ipds-waf-update/

📄 Baixe este documento em formato PDF #

    E-MAIL: *

    Powered by MelhoresDocs