NfTables (nftables.conf)
NfTables
Categoria: Segurança
Software: NfTables
[ Hits: 794 ]
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
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Problema ao configurar Zabbix no ubuntu (10)
NOTEBUXO POSITIVO VAIO VJFE43F11X Something has gone seriously wrong... (2)
Como faço pra um script ser executado apenas abrindo um terminal e dan... (8)
O Programa Configurações Sumiu no Ubuntu 22.04 [RESOLVIDO] (5)