Bloqueia conexões de saída para determinado IP usando PF

6

Alguém pode me dar uma dica sobre como configurar uma regra básica de negação sempre que qualquer solicitação TCP for enviada para um endereço IP específico? Estou usando o filtro de pacotes PF . Alguma ajuda?

    
por Joseph A. 06.06.2015 / 14:56

1 resposta

6

O formulário mais básico ficaria assim, no seu /etc/pf.conf config:

block from any to 192.0.2.2

# which is equivalent to:
block drop from any to 192.0.2.2

Por padrão, essa ação block irá drop pacotes silenciosamente em todas as interfaces, a partir de any source IP, em ambas as direções. Porque um cliente não sabe que está sendo bloqueado, ele irá expirar e provavelmente tentará novamente, e novamente ...

block return é a maneira 'vizinha amigável' para informar ao cliente que o endereço está inacessível respondendo de uma maneira específica do protocolo, com TCP Pacote RST (reset) ou ICMP UNREACHABLE . Um cliente pode usar essas informações para desistir ou tentar novamente de uma maneira sã.

block return from any to 192.0.2.2


O comportamento padrão block pode ser alterado usando a opção set block-policy .

Um exemplo mais envolvido - mas mais fácil de gerenciar e ler quando o conjunto de regras começa a crescer:

mybadhosts = "{ 192.0.2.2, 203.0.113.0/24 }"
ext_if = "em0"

block return on $ext_if from any to $mybadhosts                 # example #1
block return on em0 from any to { 192.0.2.2, 203.0.113.0/24 }   # ^expanded form

block drop out on egress from any to $mybadhosts                # example #2

exemplo # 1 Mostra o uso simples de variáveis, uma lista {} , uma máscara de rede /24 e especifica uma interface em0 . (As variáveis de nota são definidas sem um sinal $ , e as citações são removidas , quando as regras são expandidas em tempo de execução)

exemplo # 2 Gotas de pacotes de saída de out , no grupo de interface egress (consulte ifconfig(8) )

Veja também:

por 20.06.2015 / 21:34