Blog / nftables: Un Cop d'ull Profund a la Seguretat en Linux

nftables: Un Cop d'ull Profund a la Seguretat en Linux

per SW Team

Descobreix la importància de les nftables en l'administració de xarxes Linux. Aprèn com aquestes regles i ordres proporcionen un Firewall efectiu, controlen el trànsit i garanteixen la seguretat. Coneix funcions clau com el filtrat de paquets, NAT, control de connexions i protecció contra DDoS.

cta:cloud_so

Introducció

nftables és un marc de filtrat de paquets i una eina de manipulació de xarxes en el kernel de Linux. És una tecnologia de xarxa que proporciona un conjunt de funcions per a filtrar i manipular paquets de xarxa en un sistema Linux.

nftables reemplaça a iptables, que ha estat el marc de filtrat de paquets estàndard en Linux durant molts anys.

Algunes de les característiques de nftables inclouen:

Eficiència

nftables està dissenyat per a ser més eficient en termes d'ús de recursos que iptables, la qual cosa significa que pot manejar un major volum de trànsit de xarxa amb menys càrrega en el sistema.

Sintaxi millorada

la sintaxi de configuració d' nftables és més flexible i fàcil d'entendre que la de iptables, la qual cosa facilita la creació i el manteniment de regles de filtrat de paquets.

Unificació d'eines

nftables unifica diverses eines de manipulació de xarxes en una sola interfície, la qual cosa simplifica l'administració i la configuració del firewall i altres funcions de xarxa en sistemes Linux.

Compatibilitat amb IPv4 i IPv6

nftables és compatible tant amb IPv4 com amb IPv6, la qual cosa permet filtrar i manipular paquets en xarxes que utilitzen qualsevol d'aquests protocols.

En resum, nftables és una tecnologia avançada de filtrat de paquets i manipulació de xarxes en Linux que ofereix eficiència, flexibilitat i una sintaxi millorada en comparació amb iptables.

Funcions principals

Les funcions principals d' nftables inclouen filtrat de paquets, traducció d'adreces de xarxa (NAT), equilibri de càrrega, classificació de paquets (QoS), etc.

Filtrat de paquets

nftables permet definir regles per a filtrar paquets de xarxa en funció de criteris com a adreces IP, ports, protocols, interfícies de xarxa i altres característiques. Això permet controlar quins paquets poden entrar, sortir o transitar a través del sistema.

Traducció d'adreces de xarxa (NAT)

nftables pot realitzar traducció d'adreces de xarxa (NAT) per a modificar les adreces IP i ports en els paquets de xarxa a mesura que travessen el sistema. Això és útil per a implementar tècniques com la traducció de direccions de xarxa estàtica (SNAT i DNAT) o la traducció de ports (masquerading).

Equilibri de càrrega

nftables es pot utilitzar per a implementar equilibri de càrrega en xarxes de servidors, distribuint el trànsit entrant entre múltiples servidors backend. Això millora la disponibilitat i l'escalabilitat dels serveis de xarxa en distribuir la càrrega de manera equitativa.

Registre de paquets (Logging)

nftables permet registrar certs paquets que coincideixen amb certes regles. Això és útil per a finalitats d'auditoria, monitoratge i solució de problemes de xarxa, ja que permet rastrejar el trànsit que travessa el sistema i registrar esdeveniments importants.

Classificació de paquets (QoS)

nftables admet la classificació de paquets per a implementar Qualitat de Servei (QoS). Això permet prioritzar certs tipus de trànsit sobre uns altres, garantint un rendiment adequat per a aplicacions crítiques en xarxes congestionades.

Manipulació de paquets

nftables ofereix capacitats avançades de manipulació de paquets, la qual cosa permet modificar camps específics dels paquets de xarxa a mesura que travessen el sistema. Això pot incloure la modificació d'adreces IP, ports, etiquetes VLAN, i altres camps dels paquets.

Protecció contra atacs DDoS: Mitigant Amenaces

nftables, com a eina de filtrat i manipulació de paquets en Linux, pot ser utilitzada per a mitigar atacs de denegació de servei distribuït (DDoS, per les seves sigles en anglès) de diverses maneres:

Filtrat per adreça IP

nftables pot bloquejar o limitar el trànsit entrant d'adreces IP sospitoses o que estan generant un alt volum de sol·licituds. Això pot ajudar a mitigar atacs d'inundació de paquets (com a atacs SYN flood) bloquejant el trànsit maliciós en l'etapa inicial.

Filtrat per protocol i port

nftables pot bloquejar el trànsit que utilitza certs protocols o ports específics, la qual cosa pot ajudar a mitigar atacs dirigits a serveis específics que utilitzen aquests ports.

Limitació de connexions

nftables pot imposar límits en el nombre de connexions simultànies permeses des d'una adreça IP o cap a un servei específic, la qual cosa pot ajudar a mitigar atacs de saturació de recursos limitant el nombre de connexions que un atacant pot establir.

Balanceig de càrrega i redirecció de trànsit

En alguns casos, nftables es pot utilitzar per a redirigir el trànsit entrant a través de múltiples servidors o ubicacions, la qual cosa pot ajudar a distribuir la càrrega i mitigar l'impacte dels atacs DDoS.

Registres i monitoratge

nftables es pot configurar per a registrar informació detallada sobre el trànsit de xarxa, la qual cosa pot ajudar en la detecció i anàlisi d'atacs DDoS. Els registres poden ser utilitzats per a identificar patrons de trànsit maliciós i ajustar les regles de filtrat en conseqüència.

És important tenir en compte que l'eficàcia d' nftables per a mitigar atacs DDoS depèn en gran manera de la configuració específica i la capacitat del sistema per a processar el trànsit entrant. A més, en entorns de producció, és recomanable implementar una estratègia de mitigació de DDoS integral que inclogui diverses capes de defensa, incloses solucions a nivell de xarxa, com a sistemes de detecció i prevenció d'intrusions (IDS/IPS), serveis de mitigació de DDoS dedicats, i mesures de seguretat a nivell d'aplicació.

nftables en acció: exemple pràctic

Un exemple pràctic de l'ús d' nftables podria ser configurar un conjunt de regles bàsiques per a un servidor web en un sistema Linux. Suposem que volem permetre el trànsit HTTP (port 80) i HTTPS (port 443), mentre bloquegem la resta de trànsit entrant. A més, volem permetre que el servidor pugui realitzar sol·licituds sortints a través de qualsevol port.

Aquí hi ha un exemple de com podria ser la configuració d' nftables per a aquest cas:

# Netejar totes les regles i conjunts existents
sudo nft flush ruleset

# Definir conjunts d'adreces IP per a permetre/denegar accés total
sudo nft add set ip filter_allowed_ips { type ipv4_addr\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; }
sudo nft add set ip filter_denied_ips { type ipv4_addr\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; }

# Afegir adreces IP permeses i denegades als conjunts corresponents
sudo nft add element ip filter_allowed_ips { 192.168.1.100 }
sudo nft add element ip filter_denied_ips { 10.0.0.1 }

# Permetre accés des de les adreces IP permeses
sudo nft add rule ip filter input ip saddr @filter_allowed_ips accept

# Denegar accés des de les adreces IP denegades
sudo nft add rule ip filter input ip saddr @filter_denied_ips drop
# Permetre trànsit d'entrada en els ports 80 (HTTP) i 443 (HTTPS)
sudo nft add rule ip filter input tcp dport { 80, 443 } accept

# Denegar tota la resta de trànsit d'entrada
sudo nft add rule ip filter input counter drop

# Permetre trànsit sortint en totes les interfícies
sudo nft add rule ip filter output accept

En aquest exemple:

  • Es defineixen conjunts d'adreces IP per a les adreces permeses (filter_allowed_ips) i denegades (filter_denied_ips).

  • S'afegeixen adreces IP específiques al conjunt d'adreces permeses i denegades.

  • Es permeten les connexions entrants des de les adreces IP permeses i es deneguen les connexions entrants des de les adreces IP denegades.

  • Es permet el trànsit d'entrada en els ports 80 i 443.

  • Es denega qualsevol altre trànsit d'entrada que no s'hagi acceptat en la regla anterior

  • Es permet el trànsit sortint en totes les interfícies.

Aquest és un exemple bàsic i es pot adaptar segons les necessitats específiques de l'entorn i els serveis que s'estiguin executant en el servidor. És important tenir en compte que una configuració de firewall s'ha d' ajustar acuradament per a equilibrar la seguretat i l'accessibilitat dels serveis.

FAQs (Preguntes Freqüents)

Què és nftables?

nftables és un marc de filtrat de paquets i una eina de manipulació de xarxes en el kernel de Linux. Proporciona una forma més moderna i flexible de filtrar i manipular paquets de xarxa en comparació amb iptables.

Quines són les diferències entre nftables i iptables?

nftables reemplaça a iptables com el marc de filtrat de paquets predeterminat en Linux. Ofereix una sintaxi més flexible i fàcil d'usar, major eficiència en l'ús de recursos i una major capacitat de manipulació de paquets.

Per què hauria d'usar nftables en lloc de iptables?

nftables ofereix diversos avantatges sobre iptables, inclosa una sintaxi més intuïtiva, millor rendiment i capacitat de manipulació de paquets més avançada. A més, nftables és l'enfocament futur per a la filtració de paquets en Linux, la qual cosa el converteix en una opció més sostenible a llarg termini.

Com instal·lo i configuro nftables en el meu sistema Linux?

La instal·lació i configuració de nftables varia segons la distribució de Linux que estiguis utilitzant. Generalment, pots instal·lar el paquet nftables des del repositori de software de la teva distribució i després configurar les regles de filtrat segons les teves necessitats específiques.

Puc migrar les meves regles de iptables a nftables?

Sí, és possible migrar regles de iptables a nftables. Hi ha eines disponibles, com iptables-translate, que poden ajudar a convertir regles de iptables a sintaxi compatible amb nftables. No obstant això, és possible que necessitis ajustar manualment algunes regles per a aprofitar al màxim les capacitats d' nftables.

Quines són algunes característiques avançades d' nftables?

nftables ofereix diverses característiques avançades, com la capacitat de manipular paquets a nivell de capa 2 (Ethernet), la integració amb el sistema de seguiment de connexions del kernel, la compatibilitat amb múltiples taules i cadenes, i la possibilitat de definir regles basades en conjunts d'adreces IP dinàmiques.

Com puc monitorar el trànsit de xarxa amb nftables?

nftables proporciona capacitats integrades per a registrar paquets que coincideixen amb certes regles. Pots configurar regles de registre per a capturar informació sobre el trànsit de xarxa entrant i sortint, la qual cosa et permet realitzar un seguiment i anàlisi detallada de l'activitat de la xarxa.

Hi ha algun risc en usar nftables?

Igual que amb qualsevol eina de filtrat de paquets, configurar incorrectament nftables podria resultar en bloquejos involuntaris de trànsit legítim o exposició involuntària de serveis a la xarxa. És important comprendre les regles de filtrat que estàs aplicant i realitzar proves exhaustives abans d'implementar nftables en un entorn de producció.

cta:cloud_so

i