Introduction
Você pode usar o Filtro de Pacotes Berkeley (BPF) para excluir um host ou uma rede da inspeção de um Centro de Defesa. O Snort usa a variável Snort_BPF para excluir o tráfego de uma política de invasão. Este documento fornece instruções sobre como usar a variável Snort_BPF em vários cenários.
Tip: É altamente recomendável usar uma regra de confiança em uma política de Controle de Acesso para determinar qual tráfego é ou não inspecionado, em vez de um BPF na política de intrusão. A variável Snort_BPF está disponível no software versão 5.2 e é obsoleta no software versão 5.3 ou superior.
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento sobre o Defense Center, a Intrusion Policy, o Berkeley Packet Filter e as regras do Snort.
Componentes Utilizados
As informações neste documento são baseadas nas seguintes versões de hardware e software:
- Centro de Defesa
- Software versão 5.2
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Configuration Steps
Para configurar a variável
Snort_BPF, siga as etapas abaixo:
- Acesse a interface de usuário da Web do seu Defense Center.
- Navegue até Policies > Intrusion > Intrusion Policy.
- Clique no ícone do lápis para editar sua política de intrusão.
- Clique em Variáveis no menu à esquerda.
- Quando as variáveis estiverem configuradas, será necessário salvar as alterações e reaplicar sua política de invasão para que ela entre em vigor.

Figura: Captura de tela da página de configuração da variável Snort_BPF
Exemplos de configuração
Alguns exemplos básicos são fornecidos abaixo para referência:
Cenário 1: Ignorar todo o tráfego, DE e para um scanner de vulnerabilidade
- Temos um scanner de vulnerabilidade no endereço IP 10.1.1.1
- Desejamos ignorar todo o tráfego DE E PARA o scanner
- O tráfego pode ou não ter uma marca 802.1q (vlan)
O SNORT_BPF é:
not host 10.1.1.1 and not (vlan and host 10.1.1.1)
COMPARAÇÃO: o tráfego *não é* marcado para VLAN, mas os pontos 1 e 2 permanecem verdadeiros seriam:
not host 10.1.1.1
Em inglês simples, isso ignoraria o tráfego em que um dos endpoints é 10.1.1.1 (o scanner).
Cenário 2: Ignorar todo o tráfego, ENTRE e DE dois scanners de vulnerabilidade
- Temos um scanner de vulnerabilidade no endereço IP 10.1.1.1
- Temos um segundo scanner de vulnerabilidade no endereço IP 10.2.1.1
- Desejamos ignorar todo o tráfego DE E PARA o scanner
- O tráfego pode ou não ter uma marca 802.11 (vlan)
O SNORT_BPF é:
not (host 10.1.1.1 or host 10.2.1.1) and not (vlan and (host 10.1.1.1 or host 10.2.1.1))
Comparação: O tráfego *não é* marcado para VLAN, mas os pontos 1 e 2 permanecem verdadeiros seriam:
not (host 10.1.1.1 or host 10.2.1.1)
Em resumo, isso ignoraria o tráfego em que um dos endpoints é 10.1.1.1 OU 10.2.1.1.
Note: É importante observar que a tag vlan deve, em quase todos os casos, ocorrer apenas uma vez em um determinado BPF. A única vez que você deve vê-la mais de uma vez é se sua rede usa marcação de VLAN aninhada (às vezes chamada de 'QinQ').
Cenário 3: Ignorar tráfego marcado de VLAN, DE e PARA dois scanners de vulnerabilidade
- Temos um scanner de vulnerabilidade no endereço IP 10.1.1.1
- Temos um segundo scanner de vulnerabilidade no endereço IP 10.2.1.1
- Desejamos ignorar todo o tráfego DE E PARA o scanner
- O tráfego é marcado como 802.11 (vlan) e você deseja usar uma tag específica (vlan), como na vlan 101
O SNORT_BPF é:
not (host 10.1.1.1 or host 10.2.1.1) and not (vlan 101 and (10.1.1.1 or host 10.2.1.1))
Cenário 4 : Ignorar tráfego de um servidor de backup
- Temos um servidor de backup de rede no endereço IP 10.1.1.1
- As máquinas na rede se conectam a este servidor na porta 8080 para executar seu backup noturno
- Desejamos ignorar esse tráfego de backup, pois ele é criptografado e de alto volume
O SNORT_BPF é:
not (dst host 10.1.1.1 and dst port 8080) and not (vlan and (dst host 10.1.1.1
and dst port 8080))
Comparação: O tráfego *não é* marcado para VLAN, mas os pontos 1 e 2 permanecem verdadeiros seriam:
not (dst host 10.1.1.1 and dst port 8080)
Traduzido, isso significa que o tráfego para 10.1.1.1 (nosso hipotético servidor de backup) na porta 8080 (porta de escuta) não deve ser inspecionado pelo mecanismo de detecção de IPS.
Também é possível usar a rede no lugar do host para especificar um bloco de rede, em vez de um único host. Por exemplo:
not net 10.1.1.0/24
Em geral, é uma boa prática tornar o BPF o mais específico possível; excluindo o tráfego da inspeção que precisa ser excluído, sem excluir nenhum tráfego não relacionado que possa conter tentativas de exploração.
Cenário 5 : Para usar intervalos de rede em vez de hosts individuais
Você pode especificar intervalos de rede na variável BPF em vez de hosts para reduzir o comprimento da variável. Para fazer isso, você usará a palavra-chave net no lugar do host e especificará um intervalo CIDR. A seguir, está um exemplo:
not (dst net 10.8.0.0/16 and dst port 8080) and not (vlan and (dst net 10.8.0.0/16
and dst port 8080))
Note: Certifique-se de inserir o endereço de rede usando a notação CIDR e um endereço utilizável dentro do espaço de endereço de bloco CIDR. Por exemplo, use net 10.8.0.0/16 em vez de net 10.8.2.16/16.
O SNORT_BPF A variável é utilizada para impedir que determinado tráfego seja inspecionado por um mecanismo de detecção de IPS; frequentemente por motivos de desempenho. Esta variável usa o formato BPF (Berkeley Pack Filters) padrão. Tráfego correspondente ao SNORT_BPF A variável será inspecionada; enquanto o tráfego NÃO corresponde ao SNORT_BPF A variável NÃO será inspecionada pelo mecanismo de detecção de IPS.