PDF de programación - Manual de uso de IPTables

Imágen de pdf Manual de uso de IPTables

Manual de uso de IPTablesgráfica de visualizaciones

Publicado el 10 de Noviembre del 2019
2.746 visualizaciones desde el 10 de Noviembre del 2019
230,5 KB
11 paginas
Creado hace 18a (20/04/2006)
Comandos de IPTables

-A, --append
iptables -A INPUT ...

Comando
Ejemplo
Explicación Agrega una regla a una cadena especificada

-D, --delete
iptables -D INPUT --dport 80 -j DROP, iptables -D INPUT 1

Comando
Ejemplo
Explicación Borra una regla de una cadena especificada. Se le puede pasar como argumento toda la regla la
cual deberá coincidir exactamente con la existente o el número de linea que ocupa en la cadena.

-R, --replace
iptables -R INPUT 1 -s 192.168.0.1 -j DROP

Comando
Ejemplo
Explicación Reemplaza una regla. Se le pasa como argumento el numero de linea dentro de la cadena y la

nueva regla

-I, --insert
iptables -I INPUT 1 --dport 80 -j ACCEPT

Comando
Ejemplo
Explicación Inserta una regla en el lugar de la cadena que le pasemos como argumento. Recordemos que in

IPTables es de suma importancia el orden en que están las regla dentro de las cadenas.

Comando
Ejemplo
Explicación Muestra las reglas que contiene la cadena que le pasemos como argumento.

-L, --list
iptables -L INPUT

Comando
Ejemplo
Explicación Borra todas las reglas de una cadena.

-F, --flush
iptables -F INPUT

Comando
Ejemplo
Explicación Pone en cero todos los contadores de una determinada cadena

-Z, --zero
iptables -Z INPUT

Comando
Ejemplo
Explicación Permite al usuario crear su propia cadena. En este ejemplo la cadena se llamará “allowed”

-N, --new-chain
iptables -N allowed

Manual de Uso de IPTables – Jorge E. Kleinerman 1/11

-X, --delete-chain
iptables -X allowed

Comando
Ejemplo
Explicación Borra la cadena especificada. Si se escribe -X solamente, borrará todas las cadenas creadas en

esa tabla

Comando
Ejemplo
Explicación Explicita al Kernel que hacer con los paquetes que no coinciden con ninguna regla.

-P, --policy
iptables -P INPUT DROP

Comando
Ejemplo
Explicación Cambia el nombre de una cadena.

-E, --rename-chain
iptables -E allowed disallowed

Condiciones de IPTables (IPTables Matches)

Una regla pude tener varias condiciones. Existen cinco categorías de condiciones:

• Condiciones genericas: Pueden ser usados en cualquier regla
• Condiciones TCP: Solo pueden ser usados en paquetes TCP
• Condiciones UDP: Solo pueden ser usados en paquetes UDP
• Condiciones ICMP: Solo pueden ser usados en paquetes ICMP
• Otras condiciones: Como condiciones de estado, etc.

Condiciones genéricas

Condición
Kernel
Ejemplo

Explicación

-p, --protocol
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -p tcp
El paquete debe ser del protocolo especificado después de -p. Cada protocolo se corresponde a
un entero ej: ICMP es equivalente a 0. Si usamos la opción -p ALL son los tres (ICMP, TCP;
UDP). Todos lo protocolos soportado están en /etc/protocols

Condición
Kernel
Ejemplo

Explicación

-s, --src, --source
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -s 192.168.1.1
Permite seleccionar paquetes en función de la dirección origen. Podemos especificar un host o
un rango de IP's agregando la máscara de subred. (ej: 192.168.0.0/24).
Si queremos seleccionar todos los paquetes que no vengan de un determinado host o red
podemos usar la negación (ej: iptables -A INPUT -s ! 192.168.1.0/24)

Condición
Kernel

-d, --dst, --destination
2.3, 2.4, 2.5 and 2.6

Manual de Uso de IPTables – Jorge E. Kleinerman 2/11

Ejemplo
Explicación IDEM anterior pero con dirección o rango de direcciones de destino

iptables -A INPUT -d 192.168.1.1

Condición
Kernel
Ejemplo

Explicación

-i, --in-interface
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -i eth0
Permite seleccionar paquetes que vienen de una determinada interface.
Esta opción solo es legal en las siguientes cadenas INPUT, FORWARD y PREROUTING, y
retornaría un error en cualquier otra.
Pude usarse eth+, por ejemplo para especificar que todas las interfaces ethernet.
También puede usarse la negación (ej: -i ! eth0 sería todas las interfaces excepto la eth0).

Condición
Kernel
Ejemplo

Explicación

-o, --out-interface
2.3, 2.4, 2.5 and 2.6
iptables -A FORWARD -o eth0
Permite seleccionar paquetes que salen de una determinda interface.
Esta opción solo es legal en las siguientes cadenas OUTPUT, FORWARD y POSTROUTING y
retornaría un error en cualquier otra.
Pude usarse eth+, por ejemplo para especificar que todas las interfaces ethernet.
También puede usarse la negación (ej: -i ! eth0 sería todas las interfaces excepto la eth0).

Condición
Kernel
Ejemplo

Explicación

-f, --fragment
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -f
Permite seleccionar las segundas o terceras partes de paquetes fragmentados. Estos paquetes son
peligrosos. Como nuestro interés es determinar la primera parte podemos usar esta opción así:
iptables -A INPUT ! -f

Condiciones TCP

Estas condiciones son específicas del protocolo TCP, por lo tanto solo se pueden usar con paquetes
TCP. Es por ello que previo a especificar cualquiera de estas condiciones se debe especificar la
condición -p tcp.

Condición
Kernel

Ejemplo

Explicación

--sport, --source-port
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -p tcp --sport 22
--source-port 22:80
--source-port :80 (puerto 0 a 80)
--source-port ! 6:1024 (todos los puertos menos el rango de 6 a 1024)
Permite seleccionar o excluir paquetes de un determinado puerto o rango de puertos tcp origen.
El puerto puede escribirse también con el nombre del servicio (en linux estan en /etc/services),
pero esto supone una pequeña sobrecarga que se hace considerable con gran cantidad de reglas.

Manual de Uso de IPTables – Jorge E. Kleinerman 3/11

Condición
Kernel
Ejemplo
Explicación IDEM pero con puerto tcp destino

--dport, --destination-port
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -p tcp --dport 22

Condiciones UDP

Para seleccionar paquetes a través de los puertos origen y destino, se hace de la misma forma que con
TCP, la diferencia que se debe anteponer -p udp en lugar de -p tcp

Condiciones ICMP

--icmp-type
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -p icmp --icmp-type 8

Condición
Kernel
Ejemplo
Explicación Evita el tipo de paquetes icmp que especifiquemos. El del ejemplo es peligroso ya que puede

redirigir a lugares peligrosos.

Condiciones explicitas

Las condiciones explicitas se deben cargar con -m o –match.

Condiciones AH/ESP

Condición
Kernel
Ejemplo

Explicación

--ahspi
2.5 and 2.6
iptables -A INPUT -p 51 -m ah --ahspi 500
Permite seleccionar paquetes del protocolo AH de IPSEC en base a su SPI (Security Parameter
Index). El SPI es usado en conjunción con la dirección destino, la dirección origen y la clave
secreta para establecer una asociación segura.
Se puede seleccionar un rango de SPI's haciendo un intervalo.

Condición
Kernel
Ejemplo
Explicación IDEM pero con el protocolo ESP de IPSEC.

--espspi
2.5 and 2.6
iptables -A INPUT -p 50 -m esp --espspi 500

Manual de Uso de IPTables – Jorge E. Kleinerman 4/11

Condiciones de rangos IPS

--src-range
2.4, 2.5 and 2.6
iptables -A INPUT -p tcp -m iprange --src-range 192.168.1.13-192.168.2.19

Condición
Kernel
Ejemplo
Explicación Selecciona paquetes de ese rango de IPS origen, pudiendo también usarse en forma invertida (ej:

iptables -A INPUT -p tcp -m iprange ! --src-range 192.168.1.13-192.168.2.19 )

Condición
Kernel
Ejemplo
Explicación IDEM pero con IPS destino

--dst-range
2.4, 2.5 and 2.6
iptables -A INPUT -p tcp -m iprange --dst-range 192.168.1.13-192.168.2.19

Condiciones MAC

--mac-source
2.3, 2.4, 2.5 and 2.6
iptables -A INPUT -m mac --mac-source 00:00:00:00:00:01

Condición
Kernel
Ejemplo
Explicación Permite seleccionar paquetes en función a su dirección MAC origen.

Esta regla solo puede ser usada en las cadenas PREROUTING, FORWARD and INPUT.

Condiciones de Marca

La marca es un entero de 32 bits que se le puede realizar a ciertos paquetes para luego poder tomar
decisiones con los mismos de acuerdo a estas.
La marca es un campo especial mantenido en el kernel que es asociado a un conjunto de paquetes y
solo es valido en el transcurso en que los paquetes están dentro de la computadora.

--mark
2.3, 2.4, 2.5 and 2.6
iptables -t mangle -A INPUT -m mark --mark 1

Condición
Kernel
Ejemplo
Explicación Permite seleccionar paquetes en función a marcas previamente realizadas dentro de la misma

computadora.

Condiciones de dueño

Permite seleccionar paquetes en de acuerdo al UID, GID, PID o SID que los haya creado.
La condición de dueño (owner match) solo se puede usar en la cadena OUTPUT por rasones obvias.

Condición
Kernel

--uid-owner
2.3, 2.4, 2.5 and 2.6

Manual de Uso de IPTables – Jorge E. Kleinerman 5/11

Ejemplo
Explicación Permite seleccionar paquetes creados por un determinado usuario. Un uso posible podría ser

iptables -A OUTPUT -m owner --uid-owner 500
bloquear el usuario http para mandar paquetes.

Condición
Kernel
Ejemplo

Explicación

--gid-owner
2.3, 2.4, 2.5 and 2.6
iptables -A OUTPUT -m owner --gid-owner 0
Permite seleccionar paquetes de un determinado grupo en función de su Group ID (GID).
Puede usarse para bloquear la salida a internet a todos los usuarios excepto un grupo o solo
permitirles a los miembros del grupo http crear paquetes que salen por el por el puerto http.

Condición
Kernel
Ejemplo

Explicación

--pid-owner
2.3, 2.4, 2.5 and 2.6
iptables -A OUTPUT -m owner --pid-owner 78
Permites seleccionar paquetes que un determinado proceso creó en función a su Process ID
(PID). Se complica su uso si el proceso posee muchos hilos y en este caso se debe manejar con
un script que lea los PID del comando ps.

Condición
Kernel
Ejemplo

Explicación

--sid-owner
2.3, 2.4, 2.5 and 2.6
iptables -A OUTPUT -m owner --sid-owner 100
Permite seleccionar paquetes en base a una sesión de un determinado programa en cuestión a
través del Session ID. El valor del SI
  • Links de descarga
http://lwp-l.com/pdf16879

Comentarios de: Manual de uso de IPTables (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