NfTables (nftables.conf)
NfTables
Categoria: Segurança
Software: NfTables
[ Hits: 2.105 ]
Por: Buckminster
Arquivo de configuração do NfTables com bloqueios de endereços IP que tentam mais de 10 novas conexões em um minuto.
Libera tráfego de pacotes established, related e dropa pacotes inválidos.
Permite SSH na porta TCP/22, permite HTTP(S) TCP/80 e TCP/443 para IPv4 e IPv6 e rejeita para as outras portas.
O arquivo está comentado em Português.
#!/usr/sbin/nft -f
flush ruleset
table ip filter {
chain input {
# Bloqueando endereços IP que tentam mais de dez novas conexões TCP de entrada em um minuto
type filter hook input priority 0; policy accept;
ip protocol tcp ct state new,untracked meter ratemeter size 0 { ip saddr timeout 5m limit rate over 10/minute} drop;
}
}
# Comando para testar a regra acima: nft list meter ip filter ratemeter
# Comandos úteis: nft -n -a list table filter nft -n -a list ruleset
# nft list ruleset > /home/nftables.conf.bkp
# Lembrando que o comando acima salvará somente as regras sem os comentários do script.
# Para salvar completo:
# cp /etc/nftables.conf /home/nftables.conf.bkp
table inet firewall {
chain inbound_ipv4 {
# Para aceitar ping (icmp-echo-request) com propósito de diagnóstico
# ou simplesmente para ver se o servidor está no ar
# descomente esta regra que aceita ping dentro do limite estabelecido:
#
# icmp type echo-request limit rate 5/second accept
}
chain inbound_ipv6 {
# aceite a descoberta do vizinho (próximo), caso contrário,
# a conectividade será interrompida.
#
icmpv6 type { nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert } accept
# Para aceitar ping (icmpv6-echo-request) com propósito de diagnóstico
# ou simplesmente para ver se o servidor está no ar
# descomente esta regra que aceita ping dentro do limite estabelecido:
#
# icmpv6 type echo-request limit rate 5/second accept
}
chain inbound {
# Por padrão descarte todo o tráfego, a menos que ele atenda a um filtro
# com critérios especificados pelas regras que seguem abaixo.
type filter hook input priority 0; policy drop;
# Permitir tráfego de pacotes estabelecidos e relacionados, descartar inválidos
ct state vmap { established : accept, related : accept, invalid : drop }
# Permitir tráfego loopback.
iifname lo accept
# Ir para a chain de acordo com o protocolo da camada 3 usando o mapa de veredicto
meta protocol vmap { ip : jump inbound_ipv4, ip6 : jump inbound_ipv6 }
# Permitir SSH na porta TCP/22 e permitir HTTP(S) TCP/80 e TCP/443
# para IPv4 e IPv6 e rejeitar para as outras portas.
tcp dport { 22, 80, 443 } accept
reject
# Descomente para ativar o registro do tráfego de entrada negado
log prefix "[nftables] Inbound Denied: " counter drop
}
chain forward {
# Descarte tudo (assume que este dispositivo não é um roteador)
type filter hook forward priority 0; policy drop;
}
# não há necessidade de definir a chain output, pois a política padrão é accept se indefinida.
}
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









