Migrando as restrições de tamanho de upload do F5 iRules para RELIANOID

Ver Categorias

Migrando as restrições de tamanho de upload do F5 iRules para RELIANOID

3 min read

Visão geral #

Este artigo explica como migrar uma iRule do F5 BIG-IP usada para restringir o tamanho dos uploads HTTP para... RELIANOID usando o integrado WAF (Firewall de aplicativo da Web) alimentado por ModSecurity e OWASP CRS.

A iRule original inspeciona:

  • Método HTTP (POST)
  • Content-Length cabeçalho

E bloqueia uploads maiores que 200 MB com um HTTP 413 Payload Too Large resposta.

iRule F5 original #

when HTTP_REQUEST { if { [HTTP::method] eq "POST" } { set content_length [HTTP::header "Content-Length"] if { $content_length ne "" && $content_length > 200000000 } { # Rejeitar solicitações acima de 200 MB HTTP::respond 413 content "Upload size exceeds limit." event disable } } }

RELIANOID Abordagem de Migração #

In RELIANOIDEssa funcionalidade pode ser implementada usando:

  • Módulo WAF/IPDS
  • Regras do ModSecurity
  • Integração do OWASP CRS

Esta abordagem proporciona:

  • Aplicação centralizada da segurança
  • Melhor registro e visibilidade
  • Manutenção mais fácil
  • Inspeção de requisição HTTP nativa

Implantação por meio de conjunto de regras manuais #

RELIANOID Exemplo de configuração do WAF #

Sob o caminho /usr/local/relianoid/config/ipds/waf/sets/ Crie um arquivo de configuração com o seguinte conteúdo:

## início conf SecRuleEngine on SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:1" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:2" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:3" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:4" ## fim conf SecRule REQUEST_METHOD "POST" \ "id:910001,\ phase:1,\ t:none,\ chain,\ deny,\ status:413,\ msg:'O tamanho do upload excede o limite.',\ log" SecRule REQUEST_HEADERS:Content-Length "@gt 200000000"

Como funciona a regra #

A regra executa a seguinte lógica:

REQUEST_METHOD "POST": Inspeciona apenas solicitações POST
REQUEST_HEADERS:Content-Length: Lê o tamanho do upload
@gt 200000000Verifica se o tamanho excede 200 MB
deny,status:413: Rejeita a solicitação
msg:'Upload size exceeds limit.': Gera mensagem de registro de auditoria

Mapeamento de comportamento equivalente de iRule F5 para RELIANOID WAF #

HTTP::method: REQUEST_METHOD
HTTP::header "Content-Length": REQUEST_HEADERS:Content-Length
HTTP::respond 413: deny,status:413
event disable: Immediate WAF deny

Implantação via interface web #

Essa configuração também pode ser implementada diretamente através do RELIANOID WebUI.

Caminho de configuração da interface web #

Acessar IPDS > WAF > Regras

Então Criar Um conjunto de regras WAF com uma regra que possui duas condições, como mostrado abaixo.

limite de comprimento de conteúdo waf ipds relanoid

Validação #

Teste com CURL #

Solicitação de exemplo:

curl -k -X POST -H "Content-Length: 250000000" https://LB_VIP/upload -v

resultado esperado #

A resposta deve retornar:

HTTP/1.1 413 Carga útil muito grande

E a solicitação deve ser bloqueada antes de chegar ao servidor.

Validação de registro #

Verifique os registros do WAF em busca de:

O tamanho do arquivo enviado excedeu o limite.

Anotações importantes #

Dependência de comprimento do conteúdo #

Essa regra depende do cliente enviar um valor válido. Content-Length cabeçalho. Se os uploads utilizarem codificação de transferência em partes ou uploads em fluxo contínuo, proteções adicionais poderão ser necessárias.

Restringir apenas URLs específicos #

A regra pode ser encadeada com a validação de URI.

Exemplo:

SecRule REQUEST_URI "@beginsWith /upload"

guia de solução de problemas #

Regra não acionada #

Verificar:

  • O WAF está habilitado no farm.
  • A regra está anexada corretamente.
  • O método de requisição é POST.
  • O cabeçalho Content-Length está presente.

Os uploads ainda chegam ao backend. #

Causas possíveis:

  • WAF não aplicado à fazenda correta
  • Problema de sintaxe da regra
  • O upload usa codificação em partes.

Falsos positivos #

Algumas aplicações podem, legitimamente, exigir uploads de grande porte.

Recomendação:

  • Criar exceções específicas da aplicação
  • Ajuste os limites cuidadosamente.

Melhores Práticas #

  • Utilize limites de upload específicos do aplicativo.
  • Combine com a limitação de taxa sempre que possível.
  • Monitore os registros do WAF regularmente.
  • Evite limites de upload desnecessariamente altos.
  • Validar o comportamento de upload após a implantação.

Resumo #

As iRules do F5 usadas para restringir o tamanho dos uploads podem ser migradas para... RELIANOID Utilizando regras nativas do WAF/ModSecurity integradas ao OWASP CRS.

Esta abordagem proporciona:

  • Aplicação centralizada de políticas
  • Melhor registro e visibilidade
  • Escalabilidade facilitada
  • Complexidade de script reduzida
  • Inspeção de solicitação baseada em padrões

📄 Baixe este documento em formato PDF #

    E-MAIL: *

    Powered by MelhoresDocs