PDF de programación - Proyecto NFTables

Imágen de pdf Proyecto NFTables

Proyecto NFTablesgráfica de visualizaciones

Publicado el 8 de Abril del 2019
1.101 visualizaciones desde el 8 de Abril del 2019
756,8 KB
71 paginas
Creado hace 7a (17/06/2016)
NFTABLES



Autor: Manuel Luna Pérez



Fecha: 17/06/2016



NFTABLES

Índice

1. Documentación ........................................................................................................ 3

1.1 Introducción ....................................................................................................... 3

1.1.1 ¿QUÉ ES? ................................................................................................... 3

1.1.2 ¿Por qué utilizar nftables? .......................................................................... 3

1.1.3 Principales diferencias con iptables ............................................................ 4

1.1.4 Hooks netfilter ............................................................................................ 6

1.2 Empezando ........................................................................................................ 7

1.2.1 Construcción e instalación de nftables desde código fuente. ..................... 7

1.2.2 Nftables desde las distribuciones .............................................................. 10

1.3 Operaciones básicas ......................................................................................... 11

1.3.1 Configuración de tablas ............................................................................ 11

1.3.2 Configuración de cadenas ......................................................................... 13

1.3.3 Gestión sencilla de reglas ......................................................................... 18

1.3.4 Reemplazo masivo de reglas .................................................................... 22

1.3.5 Informe de errores desde línea de comandos ........................................... 23

1.3.6 Construcción de reglas con expresiones ................................................... 24

1.3.7 Operaciones a nivel de ruleset .................................................................. 24

1.3.8 Monitorización de actualizaciones del ruleset .......................................... 26

1.3.9 Scripting .................................................................................................... 27

1.3.10 Depuración/rastreo de ruleset ................................................................. 28

1.4. Selectores de coincidencia de paquetes soportados ........................................ 30

1.4.1 Coincidencia de campos según cabecera de paquetes. ............................. 30

1.4.2 Coincidencia de paquetes según metainformacion................................... 32

1.4.3 Coincidencia según estado de conexión ................................................... 34

1

NFTABLES

1.4.4 Coincidencia según límites ....................................................................... 35

1.5 Acciones posibles sobre paquetes.................................................................... 36

1.5.1 Aceptando y descartando paquetes ........................................................... 36

1.5.2 Saltando a cadena ..................................................................................... 36

1.5.3 Rechazando tráfico ................................................................................... 38

1.5.4 Registrando el tráfico ................................................................................ 39

1.5.5 Traducción de direcciones de red (NAT) ................................................. 40

1.5.6 Configuración de metainformación de paquetes ...................................... 42

1.5.7 Duplicación de paquetes ........................................................................... 43

1.5.8 Contadores ................................................................................................ 44

1.6 Estructura de datos avanzadas para la de clasificación de paquetes ............... 44

1.6.1 Conjuntos .................................................................................................. 44

1.6.2 Diccionarios .............................................................................................. 46

1.6.3 Intervalos .................................................................................................. 48

1.6.4 Mapas ........................................................................................................ 48

1.6.5 Concatenaciones ....................................................................................... 49

1.7 Ejemplos .......................................................................................................... 50

1.7.1 Ruleset simple para un workstation .......................................................... 50

fw.basic .............................................................................................................. 50

fw6.basic ............................................................................................................ 51

fw.inet.basic ....................................................................................................... 51

1.7.2 Filtrado de bridge ...................................................................................... 52

1.7.3 Múltiples NAT’s utilizando mapas nftables ............................................. 52

2. Instalación de cortafuegos nftables con control de versiones mediante git. ......... 53

3. Referencias ............................................................................................................ 70

2

NFTABLES



1. Documentación

1.1 Introducción

1.1.1 ¿QUÉ ES?



Nftables es una nueva infraestructura de clasificación de paquetes cuya intención es

reemplazar la infraestructura actual {ip,ip6,arp,eb}_tables.

● Está disponible en los kernels de linux >= 3.13.

● Tiene una nueva línea de comandos (nft) cuya sintaxis es diferente de la de

iptables.

● Viene con una capa de compatibilidad que permite ejecutar comandos de

iptables sobre la nueva infraestructura de nftables

● Proporciona una

infraestructura que permite

construir mapas y

concatenaciones. Se puede utilizar esta nueva característica para organizar un

ruleset en árbol multidimensional, que hace que se reduzca drásticamente el

número de reglas que necesitan consultarse hasta que se encuentre qué acción

realizar sobre el paquete.

1.1.2 ¿Por qué utilizar nftables?



Iptables nos ha servido (y probablemente seguirá sirviendo aún durante un tiempo en

muchas implementaciones) para filtrar el tráfico tanto por paquete como por flujo,

registrar actividades sospechosas en el tráfico, realizar NAT y otras muchas cosas.

Viene con más de un centenar de extensiones que han sido presentadas a lo largo de

los últimos 15 años. Sin embargo, la infraestructura de iptables sufre de limitaciones

que no pueden trabajar fácilmente en torno a:



3

NFTABLES

● Evitar la duplicación de código y las incoherencias: Muchas de las

extensiones de iptables son de protocolo específico, por lo que no es una

forma consolidada para que coincida con los campos de paquetes, en su lugar

tenemos una extensión para que cada protocolo sea soportado. Esto incha el

código base con un código muy similar para realizar una tarea similar.

Coincidencia de carga útil.

● Clasificación de paquetes más rápida a través de un conjunto genérico

mejorado e infraestructura de mapeo de datos.

● Simplificada la administración dual de IPv4/IPv6, a través de la nueva familia

inet que permite registrar cadenas base que vean el tráfico tanto de IPv4

como IPv6.

● Soporte de actualizaciones dinámicas a un ruleset.

● Proporcionar una API Netlink para aplicaciones de terceros, al igual que otras

redes linux y el subsistema netfilter hace.

● Inconsistencias en la sintaxis de direcciones y proporcionar la sintaxis más

agradable y más compacta.

1.1.3 Principales diferencias con iptables

Las principales diferencias entre nftables e iptables desde el punto de vista del

usuario son:

● La sintaxis. La herramienta de línea de comandos iptables utiliza un

analizador basado en getopt_long(), donde las claves son siempres precedidas

por doble guión, (ej. --key) o un solo guión (ej. -p tcp). En ese sentido,

nftables es más agradable, más intuitivo y más compacto respecto a la

sintaxis que se inspira en la de tcpdump.

● Las tablas y las cadenas son totalmente configurables. En nftables, las tablas

son contenedores de cadenas sin una semántica determinada. Iptables viene

con tablas y con un número predefinido de cadenas, que son registradas en el

sistema independientemente de si van a ser usadas o no. Se han generado

informes en los que se dice que las cadenas no realizadas perjudican el

4

NFTABLES

rendimiento, incluso si no añadimos ninguna regla. Con este nuevo enfoque,

se pueden registrar las cadenas necesarias que necesitamos dependiendo de su

configuración. Por otra parte, también se puede modelar la canalización

mediante las prioridades de cadenas en la forma que necesitemos y

seleccionar cualquier nombre para las tablas y cadenas.

● No hay más distinciones entre “matches” y “targets”. En nftables, las

expresiones son el componente básico de una regla, por lo tanto, una regla es

básicamente una composición de expresiones que se evalúan de forma lineal

de izquierda a derecha: si la primera expresión coincide, entonces la

siguiente expresión será evaluada y así sucesivamente hasta llegar a la última

expresión al final de la regla.

● Podemos especificar varias acciones en una sola regla. En iptables sólo puede

especificarse un solo targe
  • Links de descarga
http://lwp-l.com/pdf15685

Comentarios de: Proyecto NFTables (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad