NfTables (nftables.conf)
NfTables
Categoria: Segurança
Software: NfTables
[ Hits: 789 ]
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.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Instalando Google Chrome no Ubuntu 24.04 LTS
Quantidade de caracteres suportados na barra de endereços dos navegadores
Iso win10 arm para galaxy book go NP34OXLA-K06BR (1)
Como faço pra um script ser executado apenas abrindo um terminal e dan... (3)