A solução ASM trabalha diretamente com o LTM. Este artigo irá mostrar como criar uma iRule para fazer a política não checar uma URI específica e associar a iRule no Virtual Server.
Ao criar uma política no modulo ASM e associar ao Virtual Server responsavel pela aplicação, essa política irá analisar todo trafego a fim de mitigar vulnerabilidades e bloquear ataques na aplicação. Por muitos motivos, seja excesso de falsos-positivos, comportamento que o ASM considere incomum ou até onerar o BIG-IP, é preciso fazer desvios na política para que o ASM não analise determinadas URIs da aplicação que é a origem de tais problemas, para fazer isso temos a opção de criar uma iRule.
Para isso temos que seguir os seguintes passos:
- Acessar: Local Traffic ›› iRules ›› iRule List ›› New iRule…
- Ao abrir a tela para criar uma nova iRule é preciso criar um nome em “Name” e em “Definition” escrever a iRule:
Figura 1: Tela para criar irule
- Ao abrir esta tela de criação de iRule vamos inserir a seguinte iRule:when HTTP_REQUEST {
if {[HTTP::uri] contains “/search.php” } {
ASM::disable
log local0. “ASM disabled.”
} else {
ASM::enable /Common/Server_test
log local0. “ASM enabled. Current ASM policy is [ASM::policy]”
}
}
- Colocamos uma condição dentro da iRule que é:se a URL HTTP contiver “/search.php” em sua URI o ASM sera desabilitado e seu log também, senão o ASM fica ativado normalmente.
- Ficando da seguinte forma:
- Após isso basta clicar em “Finished” e associar a iRule ao Virtual Server correspondente a aplicação, conforme tela abaixo:
Figura 3: Associar irule no virtual server
Com isso conseguimos fazer um pequeno desvio na política do ASM, pois ela sera desativada pela iRule quando a página contendo “/search.php” for chamada.