Existe um propósito em descartar somente pacotes syn, mas não é (principalmente) o desempenho; é uma maneira fácil de criar uma regra de negação padrão que será aplicada a conexões de entrada, mas não retorna pacotes para uma conexão de saída. Uma regra como esta:
deny tcp from any to any in setup
(note que "setup" é uma abreviação de "tcpflags syn,! ack") irá bloquear todas as conexões TCP de entrada (que não foram permitidas por uma regra de prioridade mais alta).
Pode haver um argumento de desempenho para isso, porque a alternativa - usando regras de estado de manutenção para permitir pacotes de retorno em conexões de saída - envolve regras dinâmicas (e criando, gerenciando e verificando todos os pacotes contra elas), presumivelmente, ter algum impacto no desempenho.
Lembre-se, isso não é relevante no caso de uma regra bloquear uma porta específica de baixa numeração (por exemplo, 22 no seu exemplo), porque você pode ter certeza de que nenhuma porta abaixo de 1024 será alocada para uma conexão de saída. / p>