Regras de Proteção Personalizadas

O serviço WAF permite definir e aplicar regras de proteção personalizadas de módulos de firewall de código-fonte aberto às suas configurações de WAF, como módulos ModSecurity. Este tópico descreve como formatar, criar e implementar regras de proteção personalizadas em suas políticas do serviço WAF usando a Console e a API WAAS. Para obter uma lista de regras de proteção já disponíveis no serviço, consulte Regras de Proteção Suportadas.

Sintaxe de Regra de Proteção Personalizada

Fornece informações sobre a sintaxe da regra de proteção personalizada para o serviço Web Application Firewall.

Todas as regras de proteção personalizadas são expressas na Linguagem de Regra ModSecurity. Para obter mais informações sobre a sintaxe do ModSecurity, consulte Criando Regras: A Sintaxe Básica.

Além disso, cada regra deve incluir duas variáveis de placeholder que são atualizadas pelo serviço WAF após a publicação da regra.

ID:{{id_1}} - Este campo é atualizado com um ID de regra exclusivo gerado pelo serviço WAF que identifica uma SecRule. Mais de uma SecRule pode ser definida no campo template de uma chamada CreateCustomProtectionRule. O valor da primeira SecRule deve ser id:{{id_1}} e o campo id de cada SecRule subsequente deve aumentar em uma unidade, conforme mostrado no exemplo.

ctl:ruleEngine={{mode}} - A ação a ser executada quando os critérios da SecRule forem atendidos, seja OFF, DETECT ou BLOCK. Esse campo é atualizado com o valor correspondente do campo action do objeto CustomProtectionRuleSetting ao usar a operação UpdateWafConfig.

Exemplo de formato de regra de proteção personalizada:


SecRule REQUEST_COOKIES "regex matching SQL injection - part 1/2" \
	"phase:2,                                                 \
	msg:'Detects chained SQL injection attempts 1/2.',        \
	id:{{id_1}},                                             \
	ctl:ruleEngine={{mode}},                                  \
	deny"
	SecRule REQUEST_COOKIES "regex matching SQL injection - part 2/2" \
	"phase:2,                                                 \
	msg:'Detects chained SQL injection attempts 2/2.',        \
	id:{{id_2}},                                             \
	ctl:ruleEngine={{mode}},                                  \
	deny"

Ações

O serviço WAF pode executar uma ação em uma solicitação HTTP quando os critérios de uma regra de proteção personalizada forem atendidos.

  • DETECT - Registra a solicitação quando os critérios da proteção personalizada são atendidos.
  • BLOCK - Bloqueia a solicitação quando os critérios da regra de proteção personalizada forem atendidos.
  • OFF - A regra de proteção personalizada está inativa e não tomará nenhuma medida.

Usando a Console

Para criar uma regra de proteção personalizada
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique em Regras de proteção personalizadas.
  3. Clique em Criar regra de proteção personalizada.
  4. Na caixa de diálogo Criar regra de proteção personalizada, digite o seguinte:
    • Nome: Um nome exclusivo para a regra de proteção.
    • Descrição: Opcional. Uma descrição da regra de proteção personalizada.
    • Modelo: Informe os critérios da regra de proteção na Idioma da Regra ModSecurity. Cada regra deve incluir duas variáveis de placeholder: id:{{id_1}} e ctl:ruleEngine={{{mode}}. Para obter mais informações sobre a sintaxe do ModSecurity, consulte Criando Regras: A Sintaxe Básica.
    • Mostrar opções avançadas: Clique neste link para exibir as opções de tag. Consulte Visão Geral de Tags.
  5. Escolha um dos valores a seguir:
Para editar uma regra de proteção personalizada
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique em Regras de Proteção Personalizadas.
  3. Clique no nome da regra de proteção personalizada que você deseja editar.
  4. Clique em Editar.
  5. Faça as alterações necessárias e clique em Salvar Alterações.
Para gerenciar tags para uma regra de proteção personalizada
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique em Regras de Proteção Personalizadas.
  3. Clique no nome da regra de proteção para a qual deseja gerenciar tags.
  4. Clique na guia Tags para exibir ou editar tags existentes. Ou clique em Adicionar tag(s) para adicionar novas tags.

Para obter mais informações, consulte Tags de Recursos

Para mover uma regra de proteção personalizada para outro compartimento
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique em Regras de Proteção Personalizadas.
  3. Localize a regra de proteção na lista, clique no menu Ações (três pontos) e clique em Mover Recurso.
  4. Escolha o compartimento de destino na lista.

  5. Clique em Mover Recurso.
Para excluir uma regra de proteção personalizada
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique em Regras de Proteção Personalizadas.
  3. Marque a caixa de seleção da regra de proteção que você deseja excluir.

  4. Clique em Excluir.
  5. Na caixa de diálogo de Confirmação, clique em Excluir.
Para adicionar uma regra de proteção personalizada a uma política do serviço WAF
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique no nome da Política de WAF para a qual você deseja configurar definições de regras. A visão geral da Política de WAF é exibida.
  3. Clique em Regras de Proteção.
  4. Clique na guia Regras Personalizadas.
  5. Clique em Adicionar no menu drop-down Ações.
  6. Na caixa de diálogo Adicionar Regra Personalizada, selecione uma regra de proteção personalizada no menu drop-down. Se a regra de proteção personalizada existir em outro compartimento, você poderá alterar o compartimento em que a regra reside.
  7. Selecione uma das seguintes ações a serem aplicadas à regra:
    • Detectar: As solicitações correspondentes geram um alerta e a solicitação tem proxy.
    • Bloquear: As solicitações correspondentes são bloqueadas.
  8. Clique em Adicionar.
Para aplicar uma nova ação a uma regra de proteção personalizada em uma política do serviço WAF
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique no nome da Política do serviço WAF em que você deseja editar uma regra de proteção personalizada.
  3. Clique em Regras de Proteção e, em seguida, na guia Regras Personalizadas.
  4. Marque a caixa de seleção da regra personalizada para a qual deseja alterar a ação.
  5. Selecione a ação no menu drop-down Ações.
Para excluir uma regra de proteção personalizada de uma política do serviço WAF
  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Firewall de Aplicativo Web, selecione Políticas.
  2. Clique no nome da Política do serviço WAF da qual você deseja remover uma regra de proteção personalizada. A visão geral da Política do serviço WAF é exibida.
  3. Clique em Regras de Proteção.
  4. Clique na guia Regras Personalizadas.
  5. Marque a caixa de seleção da regra personalizada que você deseja excluir.

  6. Selecione excluir do menu drop-down Ações.

Usando a API

As regras de proteção personalizadas podem ser criadas e adicionadas a um compartimento usando a chamada CreateProtectionRule na API WAAS. Usando a formatação da Linguagem de Regra do ModSecurity, preencha o campo template com os critérios da regra.

Exemplo:

{
  "compartmentId": "ocid1.compartment.region1..<unique_ID>",
  "description": "The description text for the rule being created",
  "displayName": "Custom Protection Rule Name",
  "template": "SecRule REQUEST_URI / \"phase:2, t:none, capture, msg:'Custom (XSS) Attack. Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}', id:{{id_1}}, ctl:ruleEngine={{mode}}, tag:'Custom', severity:'2'\""
}

Adicionando Regras de Proteção Personalizadas a uma Configuração de WAF

As regras de proteção personalizadas podem ser adicionadas a uma configuração WAF usando a chamada UpdateWafConfig na API WAAS.

Adicione o OCID e a ação desejada ao objeto CustomProtectionRuleSetting do esquema UpdateWafConfig.

Exemplo:

[
  {
    "action": "BLOCK",
    "id":"ocid1.waascustomprotectionrule.oc1..aaaaaaaalxd4jrws4rbbnddzlnotu3giuzo53kopbj747mbvarttr7vyy7ja"
  },
  {
    "action": "DETECT",
    "id":"ocid1.waascustomprotectionrule.oc1..aaaaaaaamx5r72ntmmhwgeaspzpdqcwsgprpuvwsa7xoshnyo3xhtpwcobeq"
  }
]

Para exibir uma lista de regras de proteção personalizadas disponíveis em um compartimento e seus OCIDs correspondentes, use a chamada ListCustomProtectionRules na API do WAAS.