NfTables (nftables.conf)
NfTables
Categoria: Segurança
Software: NfTables
[ Hits: 2.051 ]
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.
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (5)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)