Opções são usadas para controlar a operação do PF. Elas são especificadas no pf.conf usando a diretiva set.
NOTA: No OpenBSD 3.7 e posterior, o
comportamento das opções em tempo de execução foi modificado.
Anteriormente, uma vez que uma opção foi configurada ela nuca será resetada
para seu valor padrão, mesmo se o conjunto de regras foi recarregado.
No OpenBSD 3.7, quando um conjunto de regras é carregado, as opções
em tempo de execução são resetadas para valores padrão antes do
conjunto de regras ser analisado.
Assim, se uma opção é configurada e é então removida do
conjunto de regras e o conjunto de regras for carregado, a opção será
resetada para o seu valor padrão.
set block-policy opção
Define o comportamento padrão para regras de filtragem
que especifiquem block como ação.
drop - o pacote é descartado silenciosamente.
return - um pacote TCP RST é retornado para
pacotes TCP bloqueados e pacotes ICMP Unreachable são enviados para
todos os outros.
Note que regras de filtragem individuais
tem precedência sobre a resposta padrão.
O padrão é drop.
set debug opção
Define o nível de depuração do PF.
none - mensagens de depuração não são mostradas.
urgent - mensagens de depuração para erros sérios.
misc - mensagens de depuração geradas por vários erros (ex.,
para ver o status do normalizador de pacotes/scrubber e para falhas na
criação de estados de conexões).
loud - mensagens de depuração geradas por condições
normais (ex., para ver o status da Detecção Passiva de SO).
O padrão é urgent.
set fingerprints arquivo
Definie o arquivo do qual carregar as impressões digitais
(fingerprints)
de sistemas operacionais. Para uso com a
detecção passiva de SO.
O padrão é /etc/pf.os.
set limit opção
Configura varios limites em operações do pf.
frags - número máximo de entradas na área de memória
usada para reconstrução de pacotes, regras
(scrub). O padrão
é 5000.
src-nodes - número máximo de entradas na área de memória
destinada ao registro de endereços IP de origem (gerados pelas opções
sticky-address e source-track).
O padrão é 10000.
states - número máximo de entradas nas tabelas de estado
para regras de (filtragem
que especificam keep state). O padrão é 10000.
tables - número máximo de
tabelas que podem ser criadas.
O padrão é 1000.
table-entries - o limite de quantos endereços podem
ser armazenados em todas as tabelas.
O padrão é 200000.
Se o sistema possui menos de 100MB de memória física,
O padrão é configurado para 100000.
set loginterface interface
Define a interface onde PF deve colher estatísticas como bytes
entrada/saída e pacotes permitidos/bloqueados. Estatísticas podem ser obtidas
de apenas uma interface por vez. Perceba que os contadores
match, bad-offset, etc., e das tabelas de estado
são registrados independente de loginterface estar setado ou
não.
Para desabilitar esta opcão, configure-a para none.
O padrão é none.
set optimization opção
Otimiza o PF para um dos ambientes a seguir:
normal - adequado para a maioria das redes.
high-latency - redes de alta latência como conexões via satélite.
aggressive - expira conexões agressivamente da tabela de estados.
Isso pode diminuir drasticamente os requisitos de memória num firewall muito
carregado, o preço é o risco de se descartar conexões muito cedo.
conservative - configurações extremamente conservadoras. Evita
o descarte de pacotes em conexões ociosas ao custo de maior utilização
de memória e pequeno aumento no processamento.
O padrão é normal.
set ruleset-optimization opção
Controla a operação do otimizador de regras do PF.
none - desabilita o otimizador.
basic - habilita as seguintes otimizações de regras:
remove regras duplicadas
remove regras que são subconjunto de outras regras
combina várias regras em uma tabela quando for vantajoso
re-ordena as regras para melhorar a performane de
avaliação
profile - usa o conjunto de regras atual como um perfil
para ajustar a ordenação de regras quick para o trafego de rede
atual.
A partir do OpenBSD 4.2, o padrão é basic.
Veja
pf.conf(5) para uma descrição mais completa.
set skip on interface
Pula todo o processamento do PF na interface.
Isto pode ser útil em interfaces loopback onde filtragem,
normalização, filas, etc, não são requeridos.
Esta opção pode ser usada muitas vezes.
Por padrão esta opção não é configurada.
set state-policy opção
Define o comportamento do PF ao manter o estado das conexões.
Este comportamento pode ser alterado em regras específicas.
Veja Mantendo Estado de Conexões.
if-bound - estado é restrito à interface onde foi criado.
Caso o tráfego case com uma entrada na tabela de estado, mas não atravesse
a interface onde a entrada foi criada, é rejeitado. O pacote deve encontrar
uma regra que case ou será descartado/rejeitado.
group-bound - mesmo comportamento de if-bound exceto
que aos pacotes é permitido atravessar interfaces do mesmo tipo, ex., todas
interfaces ppp, etc.
floating - estado pode combinar com pacotes em qualquer interface.
Contanto que case uma entrada e esta passando na mesma direção que
estava na interface quando o estado foi criado, não importa a interface
onde está vindo, poderá passar.
O padrão é floating
set timeout opção
Configura varios timeouts (em segundos).
interval - segundos entre a remoção de registros de estados
expirados e pacotes fragmentados.
O padrão é 10
frag - segundos antes que um pacote fragmentado sendo
reconstruído expire.
O padrão é 30
src.track - segundos para manter uma entrada
source tracking na memória
depois que o último estado expirar.
O padrão é 0 (zero).
Exemplo:
set timeout interval 10
set timeout frag 30
set limit { frags 5000, states 2500 }
set optimization high-latency
set block-policy return
set loginterface dc0
set fingerprints "/etc/pf.os.test"
set skip on lo0
set state-policy if-bound