6.8.2. Bloqueio de endereços IP que tentam mais de dez novas conexões TCP de entrada em um minuto
A estrutura nftables
permite que os administradores atualizem dinamicamente os conjuntos. Esta seção explica como usar esta funcionalidade para bloquear temporariamente hosts que estão estabelecendo mais de dez conexões TCP IPv4 dentro de um minuto. Após cinco minutos, nftables
remove automaticamente o endereço IP da lista de negação.
Procedimento
Criar a tabela
filter
com a família de endereçosip
:# nft adicionar tabela ip filter
Acrescente a cadeia
input
à tabelafilter
:# nft add chain ip filter input { type filter hook input priority 0 { type hook input priority 0}; { type filter hook input priority 0}; { type filter hook input priority 0
Adicione um conjunto chamado
denylist
à tabelafilter
:# nft add set ip filter denylist { type ipv4_addr }; flags dynamic, timeout; timeout 5m; timeout
Este comando cria um conjunto dinâmico para endereços IPv4. O parâmetro
timeout 5m
define quenftables
remove automaticamente as entradas após 5 minutos do conjunto.Adicionar uma regra que automaticamente adiciona o endereço IP de origem dos hosts que tentam estabelecer mais de dez novas conexões TCP dentro de um minuto ao conjunto
denylist
:# nft add rule ip filter input ip protocol tcp ct state new, unracked limit rate over 10/minute add @denylist { ip saddr }
Acrescente uma regra que abandone todas as conexões de endereços IP no conjunto
denylist
:# nft add rule ip filter input ip saddr @denylist drop
Recursos adicionais