NfTables (nftables.conf)
NfTables
Categoria: Segurança
Software: NfTables
[ Hits: 2.753 ]
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.
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (1)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









