iptables: filtrado de paquetes en linux -...
TRANSCRIPT
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 1
Dr. Roberto GómezLámina 1
IPTables: Filtrado de paquetes en Linux
Roberto Gómez Cárdenas [email protected]
http://homepage.cem.itesm.mx/rogomez
Dr. Roberto GómezLámina 2
Netfilter/IPTables
• Las dos piezas principales de producto firewalldisponibles gratuitamente para distribuciones Linux
• IPTables es usado para construir las reglas.
• Netfilter es puente entre núcleo linux y las IPTables
• IPTables es como se conoce al módulo Netfilter– herramienta estándar actual de firewall de Linux
• Administradores especifican que reglas que protocolos o tipos de tráficos se deben seguir.– cuando empieza conexión con protocolos IPTables añade una
entrada de estado para la conexión en cuestión
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 2
Dr. Roberto GómezLámina 3
Las tres tablas de IPTables y suscadenas de base
Tabla filter Tabla nat Tabla mangle
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
PREROUTING
OUTPUT
POSTROUTING
INPUT
FORWARD
OUTPUT
Dr. Roberto GómezLámina 4
Las tablas de IPTables
• Tabla constituida de un numero arbitrario e ilimitado de cadenas
• Una cadena es una secuencia lineal de reglas
• Las reglas estas constituidas por– un patrón: reconocer paquetes de acuerdo a un
número indeterminado de criterios
– una acción (llamado target) a tomar en caso de reconocer el paquete
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 3
Dr. Roberto GómezLámina 5
Seleccionando la tabla
• Cada regla a añadir a IPTables necesita insertarse o adjuntarse en una cadena de alguna de las tres tablas.– tablas disponibles depende configuración núcleo.
• Opción -t comando iptables permite elegir la tabla
– si no se propociona la regla será insertada en la tabla “filter” que es la tabla por defecto.
iptables -t filter -A INPUT --source 192.168.0.1 -j DROP
Dr. Roberto GómezLámina 6
Las cadenas
• Dos tipos de cadenas– cadenas de base (builtin): cadenas por dafault de la tabla
– cadenas usuario: cadenas creadas a partir de las necesidadespropias del administrador
• Cadenas de base existen siempre y estan asociadas a unatabla
• Cada tabla posee sus cadenas propias asociadas a los hooks que trabajan
• Cuando paquete entra en una tabla es enviado a la cadena de base asociada a la tabla actual
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 4
Dr. Roberto GómezLámina 7
Cadenas usuario
• Cadena creada sobre demanda
• Se envia los paquetes especificando su nombre comocriterio de acción– se dice que la cadena llama la cadena usario
• Paquete la atraviesa como una cadena de base: una regladespues de la otra
• Si paquete llega al final de la cadena, o encuentra la acción RETURN este regresa a la cadena donde fuellamada
iptables -t filter -A INPUT --source 192.168.0.1 -j CADENA_TOTO
Dr. Roberto GómezLámina 8
Ejemplo llamada cadena usuario
1. Regla2. Regla3. Regla[…]15. … -j user16 Regla… 1. Regla
2. Regla3. Regla[…]15. … -j RETURN[…]
10. Regla
INPUT FORWARD OUTPUT
1. Regla2. … -j user3. Regla…
1. … -j user2. Regla…
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 5
Dr. Roberto GómezLámina 9
Acciones por default
• Cadenas de base cuentan con una política por default• Cuando paquete llega al final de una cadena es posible
aplicarle una acción por default• Acciones posibles: DROP o ACCEPT• Ejemplo
• Cadenas usuario no cuentan con política por default
iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT
Dr. Roberto GómezLámina 10
Operaciones manejo cadenas usuario
-N crear una nueva cadena usuario-X borrar una cadena vacía -P cambiar la política por default de una cadena base -L listar las reglas de una cadena usuario-F vaciar las reglas de una cadena usuario-Z poner a cero el contador de paquete y de byte en todas las
reglas en una cadena -E vieja nueva:renombra la cadena vieja a la cadena nueva
iptables [ –t tabla ] comando
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 6
Dr. Roberto GómezLámina 11
Manipulación reglas dentro cadenas
-A añadir una nueva regla a una cadena
-I Insertar una nueva regla en alguna posición en una cadena
-R Reemplazar una regla en alguna posición en una cadena
-D Anular una regla en alguna posición en una cadena
-D Anular la primera regla que se cumple en una cadena
iptables comando [match] [ objetivos / saltos]
Dr. Roberto GómezLámina 12
Ejemplo alta de regla
• Un ping normal y un ping bloqueado
# ping -c 1 127.0.0.1PING 127.0.0.1 (127.0.0.1): 56 data bytes64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
--- 127.0.0.1 ping statistics ---1 packets transmitted, 1 packets received, 0% packet lossround-trip min/avg/max = 0.2/0.2/0.2 ms
# iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP# ping -c 1 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
--- 127.0.0.1 ping statistics ---1 packets transmitted, 0 packets received, 100% packet loss
#
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 7
Dr. Roberto GómezLámina 13
Ejemplo borrando regla
• Podemos borrar la regla de dos maneras.
• Primero, como es la única regla en la cadena, podemos usar un borrado por número:
• La segunda manera es repetir la orden –A– pero cambiando -A por -D.
– útil cuando se tiene una compleja cadena de reglas y no se quiere invertir tiempo en saber que número regla es
# iptables -D INPUT 1#
# iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP#
Dr. Roberto GómezLámina 14
Construcción de una regla
• Una regla se divide en cuatro partes– una tabla de aplicación de la cadena
• filter si no se precisa ninguna
– una cadena de aplicación
– un patrón de reconocimiento
– una acción representando la decisión a tomar
patrón de reconocimiento accióntabla cadena
-t filter -A input -p tcp -s 192.168.10.2 -sport 1024 -dport 21 -j ACCEPT
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 8
Dr. Roberto GómezLámina 15
El patron de reconocimiento
• Paquete es comparado con un patron de reconocimiento• Patrón compuesto de un número variable de critérios, de
acuerdo la finesa deseada• Algunas opciones están implementadas directamente en
el código de iptables, mientras que otras opciones más complejas necesitan cargar los módulos necesarios en el núcleo para estar disponibles.
• La disponibilidad de estas opciones extendidas depende de la configuración del núcleo
Dr. Roberto GómezLámina 16
Las acciones
• Define que hacer si paquete cumple con regla. • El objetivo se define con la opción:
– j <target> [target-options] • al final de la regla.
• Hay dos tipos de reglas, terminales y no terminales. • Si un objetivo es terminal, el paquete no pasará a
otras reglas al cumplir con esta.– por ejemplo: DROP
• Un ejemplo de regla no terminal es LOG– le dice al núcleo de escribir en el registro del sistema
(syslog) los paquetes que verifican esta regla.
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 9
Dr. Roberto GómezLámina 17
Acciones más comunes
• ACCEPT– dejar el paquete pasar
• DROP– tirar el paquete
• QUEUE– pasar el paquete a espacio usuario (si esta soportado porel
nucleo)
• RETURN– regreso a la cadena que activo la llamada
• LOG, ULOG– almacenamiento en bitacora
Dr. Roberto GómezLámina 18
Otras acciones
• DNAT– Destination Network Address Translation
• MARK– marcar valores que estan asociadaos con paquetes en específico
• MASQUERADE– direcciones DHCP, igual que SNAT
• MIRROR– invertir campos fuente y destino en el encabezado IP
• REDIRECT– redireccionar paquetes y streams a la misma máquina}
• SNAT– Source Network Address Translation
• TOS– asignar valor del campo Type of Service
• TTL– modificar valor el Time To Live en el encabezado IP
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 10
Dr. Roberto GómezLámina 19
Criterios patrón reconocimiento
• Las principales criterios de patrón de reconocimientopara formar una regla son– s: indica un dominio o IP (rango de Ips) de origen sobre
el que se evalúa la condición de la regla– d: igual anterior, solo que sobre dirección destino– i: interfaz entrada para aplicar regla– o: interfaz salida sobre la que se aplica la regla– p: especifica el protocolo del datagrama a analizar
valores válidos: tcp, udp o icmp, o un número– f para tratar con paquetes fragmentados– ! invierte el valor lógico de la condición de regla
Dr. Roberto GómezLámina 20
La IP origen y destino
• La dirección puede ser el nombre de una red, el de un servidor, una dirección de red IP (con la máscara adjunta), o una simple dirección IP.– nota: especificar un nombre que tenga que resolverse con una
consulta remota a un DNS es una mala idea
• La máscara puede ser una máscara de red o bien un simple número.– p.e. la máscara 24 equivale a 255.255.255.
• El comando ! antes de la dirección sirve para invertir el sentido de la dirección.
• El argumento --src es un alias para esta opción.
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 11
Dr. Roberto GómezLámina 21
Ejemplos direcciones
iptables -A INPUT --source 12.168.120.15 -j ACCEPTiptables -A INPUT --src 12.168.120.15 -j ACCEPT
iptables -A INPUT --destination ! 32.112.0.31/24 -j ACCEPTiptables -A INPUT --dst ! 32.112.0.31/24 -j ACCEPT
La especificación de la direccion destino es similar en uso a la de origen.
Dr. Roberto GómezLámina 22
El protocolo
• El protocolo puede ser tcp, udp, icmp, o todos– puede ser un valor numérico, que represente estos o
algún otro protocolo.
• También es válido cualquier nombre de protocolo incluido en /etc/protocol.
• Argumento ! anterior al protocolo invierte la prueba.
• Número cero es equivalente a todos los protocolos.
• El protocolo ̈all¨(todos) es el que se usa por defecto cuando esta opción no aparece.
• Ejemplos:iptables -A INPUT --protocol tcp -j ACCEPT
iptables -A INPUT --protocol ! udp -j LOG
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 12
Dr. Roberto GómezLámina 23
Verificando campos encabezado paquetes TCP
• sport– puerto origen del datagrama, posible especificar rango indicando limites
superior e inferior (“:”)
• dport– igual que anterior solo que puerto destino
• tcp-flags [!] mascara comp– especifica si las bandareas de estan activas
• syn– regla verifica que bit SYN valga 1 y los bits ACK y FIN valgan ambos 0,
abreviatura de tcp-flags SYN,RST,ACK SYN
• tcp-option [!] <numero>– verica si la opcion TCP esta activa
• mss <valor>[:valor]– paquetes TCP SYN o SYN/ACK con el valor MSS especificado (o en el
rango)
Dr. Roberto GómezLámina 24
Verificando encabezados protocolos UDP e ICMP
• Extensiones UDP--sport puerto origen del datagrama-- dport puerto destino del datagrama
• Extensiones ICMP-- icmp-type especificar tipo mensaje ICMP tanto
por su número como por los siguientes indicadores: echo-request, echo-reply, source-quench, time-exceeded, destination-unreachable, network-unreachable, host-unreachable, protocol-unreachable y port-unreachable
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 13
Dr. Roberto GómezLámina 25
Verificando puerto origen/destino
• El puerto origen-destino o un rango de puertos. • Se puede poner un nombre de servicio o un número
de un puerto. • También se puede poner un intervalo, poniendo
puerto:puerto. • Si se omite el primer puerto, se asume el valor "0" . • Si se omite el segundo, se supone el valor 65535.
iptables -A INPUT --protocol tcp --source-port 22:12 -j LOGiptables -A POSTROUTING --protocol tcp --destination-port ! 21232 -j DROP
Dr. Roberto GómezLámina 26
Extensión de aplicar a Múltiples Puertos (Multiport Match)
• Esta extensión permite definir una lista de hasta 15 puertos en una regla TCP o UDP cualquiera.
• Esto sirve para ahorrar algo de escritura al especificar más de un puerto por regla.
iptables -A INPUT --protocol tcp --match multiport --source-ports 22,21,20,80 -j LOGiptables -A INPUT --protocol udp --match multiport --destination-ports 20,80,10 -j LOGiptables -A INPUT --protocol tcp --match multiport --ports 20,50,1660 -j LOG
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 14
Dr. Roberto GómezLámina 27
Verificando banderas TCP`
• Cuenta con dos argumentos– tcp-flags [!] mask comp
• Primer argumento son las banderas a examinar– escritas como una lista separadas por coma
• Segundo argumento es una lista separada porcomas de las banderas que deberian estar activas
• Banderas: – SYN ACK FIN RST URG PSH ALL NONE
• Si se desea invertir la regla, se debe usar !
iptables -A INPUT --protocol tcp --tcp-flags ! SYN,ACK,FIN SYN,ACK -j LOGiptables -A FORWARD --p tcp --tcp-flags SYN,ACK,FIN,RST SYN
Dr. Roberto GómezLámina 28
Interfaz de entrada/salida
• Nombre de la interfaz por medio de la cual se va a recibir un paquete – sólo para los paquetes que entran en las cadenas INPUT,
FORWARD y PREROUTING. • Para invertir el sentido de la regla, poner "!" delante
del nombre de la interfaz. • Si el nombre de la interfaz termina con "+",
entonces la regla se aplicará a cualquier interfaz que comience con este nombre.
• Si se omite esta opción, entonces se aplicará a cualquier interfaz.
iptables -A INPUT --in-interface eth0 -j LOGiptables -A OUTPUT --out-interface ! ippp1 -j DROP
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 15
Dr. Roberto GómezLámina 29
Dirección MAC de origen
• Se aplica a la dirección MAC de origen.
• Tiene que tener la forma XX:XX:XX:XX:XX:XX.– Notar que esta regla sólo se aplica para paquetes que
vengan de una interfaz Ethernet y que entren en las cadenas INPUT, FORWARD o PREROUTING.
• Esta opción es muy útil como protección contra ataques de persona-en-el-medio, – es posible combinarla con la opción --source y así dar
protección contra arp-spoofing.
iptables -A INPUT --match mac --mac-source 12:E4:86:FA:5C:54 -j ACCEPT
Dr. Roberto GómezLámina 30
Stateful Firewalls
• Firewalls que intentan dar seguimiento a una conexión cuando se tiene filtrado de paquetes.
• Se pueden considerar entre un filtro de paquetes y un proxie.
• Predominantemente examinan capa 4 e información paquetes más baja– frecuentemente verifican solo capa 7 (aplicación)
• Si paquete coincide con regla del firewall que permite su paso, se crea una entrada en la tabla de estados– paquetes posteriores de la misma conexión son permitidos sin
realizar más inspecciones
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 16
Dr. Roberto GómezLámina 31
Host to Network Layer
Host to Network Layer
Internet LayerInternet Layer
Transport LayerTransport Layer
Application LayerApplication Layer
Host to Network Layer
Host to Network Layer
Host to Network Layer
Host to Network Layer
Internet LayerInternet LayerInternet LayerInternet Layer
Transport LayerTransport LayerTransport LayerTransport Layer
Application LayerApplication LayerApplication LayerApplication Layer
Inspección Stateful
Host to Network Layer
Host to Network Layer
Internet LayerInternet Layer
Transport LayerTransport Layer
Application LayerApplication Layer
Host to Network Layer
Host to Network Layer
Host to Network Layer
Host to Network Layer
Internet LayerInternet LayerInternet LayerInternet Layer
Transport LayerTransport LayerTransport LayerTransport Layer
Application LayerApplication LayerApplication LayerApplication Layer
Host to Network Layer
Host to Network Layer
Internet LayerInternet Layer
Transport LayerTransport Layer
Application LayerApplication Layer
Host to Network Layer
Host to Network Layer
Host to Network Layer
Host to Network Layer
Internet LayerInternet LayerInternet LayerInternet Layer
Transport LayerTransport LayerTransport LayerTransport Layer
Application LayerApplication LayerApplication LayerApplication Layer
Inspect EngineInspect Engine
IP Source IP Dest. Port Source Port Dest. Num. Seq. …
Dynamic State Table
New connection?
Packet part of an existing connection
in connections table?Reject packet
Pass packet
Compare connection to
rule base
Accept or reject?
Add connection to connections
table
NO NO
YESYES
ACCEPT
REJECT
New connection?
Packet part of an existing connection
in connections table?Reject packet
Pass packet
Compare connection to
rule base
Accept or reject?
Add connection to connections
table
NO NO
YESYES
ACCEPT
REJECT
Dr. Roberto GómezLámina 32
Concepto de estado
• Concepto confuso – puede tener diferentes significados en diferentes situaciones
• Definición básica– la condición en que se encuentra una determinada sesión de
comunicación
• Diferentes vendedores dan una definición diferente de lo que es un estado.
• Dispositivos que dan seguimiento a un estado lo hacen a través de una tabla.– tabla mantiene entradas de lo que representa una sesión de
comunicación individual.
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 17
Dr. Roberto GómezLámina 33
Valores estado de un paquete
• INVALID – el paquete no esta asociado a ninguna conexión
• ESTABLISHED – el paquete esta asociado con una conexión que ha
intercambiado paquetes en ambas direcciones, • NEW
– significa que el paquete ha comenzado una conexión• RELATED
– significa que el paquete ha comenzado una conexión, pero que esta está asociada a una conexión ya existente, como por ejemplo una transferencia de datos vía FTP, o un error ICMP.
iptables -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT
Dr. Roberto GómezLámina 34
Ejemplo reglas salida y regreso
• Ejemplo de regla de salida– define que tráfico puede salir a través firewall
– comunicación aceptada, (opción –j)– tráfico nuevo (NEW) y establecido (ESTABLISHED) es
permitido
• Ejemplo de regreso
– idéntico al anterior solo que es una regla de entrada y que solo se permite tráfico de conexiones establecidas
iptables –A OUTPUT –p tcp –m state - - state NEW, ESTABLISHED-j ACCEPT
iptables –A INPUT –p tcp –m state - - state ESTABLISHED -j ACCEPT
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 18
Dr. Roberto GómezLámina 35
Ejemplos UDP e ICMP
• Ejemplo de UDP básico
• Ejemplo de ICMP
– diferencia principal: la opción –p y la entrada RELATED de la opción - -state
iptables –A OUTPUT –p udp –m state - - state NEW, ESTABLISHED -j ACCEPT
iptables –A INPUT –p udp –m state - - state ESTABLISHED -j ACCEPT
iptables –A OUTPUT –p icmp –m state - - state NEW, ESTABLISHED, RELATED -j ACCEPT
iptables –A INPUT –p icmp –m state - - state ESTABLISHED, RELATED -j ACCEPT
Dr. Roberto GómezLámina 36
TOS: Tipo de Servicio
• Este módulo se usa para examinar los 8 bits del campo Tipo de Servicio en la cabecera del paquete IP (se incluyen los bits de precedencia).
• El argumento a corresponder es o bien un nombre estándar, o un valor numérico.
• Lanzar iptables -m tos -h para ver la lista de nombres permitidos.
iptables -A INPUT --match tos --tos Minimize-Delay -j ACCEPT
iptables -A INPUT --match limit --limit 2/hour --limit-burst 10 -j LOG
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 19
Dr. Roberto GómezLámina 37
Previniendo algunos ataques
• Protección contra Syn-flood (inundación mediante Syn):
• Furtivo buscando puertos (port scanner):
• Ping de la muerte:
# iptables -A FORWARD -p tcp --syn -m limit 1/s -j ACCEPT
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit 1/s -j ACCEPT
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit 1/s -j ACCEPT
Dr. Roberto GómezLámina 38
Ejemplos otras opciones
• especificar cualquier dirección IP, se debe usar «/0», de esta manera:
• Descartar todo fragmento dirigido a 192.168.1.1:
• Deben examinar todos los indicadores («ALL» es sinónimo de «SYN,ACK,FIN,RST,URG,PSH»), pero sólo deben estar activos SYN y ACK.
# iptables -A INPUT -s 0/0 -j DROP#
# iptables -A OUTPUT -f -d 192.168.1.1 -j DROP#
# iptables -A INPUT --protocol tcp --tcp-flags ALL SYN,ACK -j DENY#
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 20
Dr. Roberto GómezLámina 39
Bitácoras
• Acción LOG• Regresa información sobre los paquetes, como
encabezados IP y otra informacion– se hace via syslog
• Información puede ser leida con dmesg o de lasbitácoras de syslogd
• Util para verificar que reglas estan actuando sobreciertos paquetes
• Nota: mensajes no se envian a consola a menos syslogdiga lo contrario.
• La acción cuenta con cinco opciones
Dr. Roberto GómezLámina 40
Opciones acción LOG
--log-level– le indica a syslog que nivel usar
iptables -A FORWARD -p tcp -j LOG - -log-level debug--log prefix
– mensajes seran antecedidos por prefixiptables -A INPUT -p tcp -j LOG --log-prefix "INPUT packets"
--log-tcp-sequence– se almacenera los numeros de secuencia TCP
iptables -A INPUT -p tcp -j LOG --log-prefix "INPUT packets"--log-tcp-options
– almacena las diferentes opciones del paquete TCPiptables -A FORWARD -p tcp -j LOG --log-tcp-options
--log-ip-options– almacena las diferentes opciones del paquete IP
iptables -A FORWARD -p tcp -j LOG --log-ip-option
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 21
Dr. Roberto GómezLámina 41
Bitácoras con ULOG
• Proporcion manejo de bitacoras a nivel espacio de usuario
• Si un paquete coincide con la regla y la acción ULOG esta activo– información paquete es enviado en multicast con todo el
paquete a través de un socket
• Uno o más procesos en espacio usuario puedensubscribirse a varios grupos de multicast y recibir el paquete.
• Posible enviar logs a bases de datos MySQL y otrasbases de datos.
Dr. Roberto GómezLámina 42
Ejemplos y opciones ULOG
--ulog-nlgroup– indica a donde enviar el paquete
iptables -A INPUT -p TCP --dport 22 -j ULOG - -ulog-nlgroup 2
--ulog-prefix– mismo que prefix en LOG
iptables -A INPUT -p TCP --dport 22 -j ULOG - -ulog-prefix "SSH connection attempt: "
--ulog-cprange– cuantos bytesdel paquete enviar al demonio en modo usuario
iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-cprange 100
--ulog-qthreshold– bytes paquete a dejar en el núcleo antes de enviarlo al espacio usuario
iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-qthreshold 10
Seguridad Informárica IPTables
Dr. Roberto Gómez Cárdenas 22
Dr. Roberto GómezLámina 43
Ejemplo bitácoras
• Indica añadir una regla a la cadena de INPUT (-A INPUT) que verifique los paquetes que vengan de 192.168.1.1 (-s 192.168-1-1) y brinca a la fuente log (-j LOG) con una líneaque empieza con los caracteres Test:
• La bitácora generada es detallada y completa• Un ejemplo sería:
# iptables -A INPUT -s 192.168.1.1 -j LOG -log-prefix Test:#
Test:IN=ppp0 OUT=SRC=192.168.1.1 DST=1.2.3.4LEN=100 TOS=0x00 PREC=0x00TTL=253 ID=0 PROTO=ICMPTYPE=8 CODE=0 ID=56 SEQ=58