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: