NfTables (nftables.conf)
NfTables
Categoria: Segurança
Software: NfTables
[ Hits: 1.326 ]
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.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
identificar o tema do Plank (5)
Como testar Standard Hotplug Controller (2)
Desempenho abaixo do esperado - travadas e congelamento do sistema ope... (6)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta