IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Conceptes IPtables

Les IPtables es un tallafocs més.

El que fa un firewall es mirar els paquets que entren i surten, i pren decisions segons mac, ip d'origen, ip de destinació. El nucli del Linux ja porta l'IPtables, cosa molt complexa i feta per tal de que no pugui fallar, ja que una fallada de programari de firewall pot ser una falta de seguretat.

  • Els tallafocs poden ser:
  • De maquinari
De fet son routers amb un software.
  • De programari
IPtables
Firewall personal: aplicació de Windows que defensa internet


Funcionament del IPtables

Iptablesdiagrama.png

Es te que saber la destinació del paquet, si va a la maquina local o a la xarxa.

Els paquets poden estar a la cadena input. Si el paquet esta en transit, el camí es forward. Normalment la cadena output no es filtra.

El prerouting

El postrouting

Les tables son les boles RAW, MANGLE, NAT, FILTER

  • Filter, interessa filtrar per a seguretat, la forma més segura es tancar tot i tan sols obrir el que saps que t'interessa, però també pot faller en serveis si no obres el que toca.
  • Nat, network adress translation, nomes es poden fer modificacions de port i ip.
  • RAW, en mode "macho", es treballa a nivell de bits del paquet
  • Mangle, es el raw però amb ajuda més intuitiva.
  • Options, serveix per a identificar paquets


  • Conceptes
  • RULES: condició + target. Les condicions poden ser:
ip d'origen o destinació, protocol, port, MAC, etc.
  • TARGETS: accions per dur a terme amb els paquets
ACCEPT, DROP, QUEUE, RETURN, REJECT, LOG, ULOG, DNAT, SNAT, MASQUERADE
  • CHAINS: grups de normes (ruleset) aplicables en cert moment del “cicle de vida” del paquet a iptables
INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING
  • TABLES: separació de conceptes (filtrar, manipular, NAT). Es treballa amb grupets. La taula per defecte es la filter.
RAW, FILTER, MANGLE, NAT
  • POLICIES: són les regles per defecte:
DROP, ACCEPT

Targets

  • ACCEPT: El paquet és acceptat. A la cadena d'entrada (INPUT) vol dir que es permet entrar el paquet, a la de sortida (OUTPUT) que es permet sortir el paquet, i a la de redirecció (FORWARD) que es permet enrutar el paquet.
  • DROP: El paquet es descarta sense més. No s'envia cap senyal d'error.
  • QUEUE: El paquet es posa a una cua de processament. Això serveix perquè altres aplicacions analitzin el paquet. Si no hi ha cap aplicació analitzant les cues l'efecte és el mateix que DROP.
  • RETURN: Passa el paquet al final de la cadena (se li aplica la política per defecte). Per a una cadena definida per l'usuari, el recorregut continua a la cadena anterior, just després de la regla que va fer saltar aquesta cadena.

Hi ha altres destinacions anomenades d'extensió:

  • REJECT: És igual que DROP però s'envia un missatge d'error a l'emissor.
  • LOG: Aquesta destinació envia el paquet a un fitxer de LOG.
  • ULOG: Igual que lg però crea un socket per tal que aplicacions d'usuari puguin rebre i processar aquest log.
  • DNAT: Modifica la destinació del paquet (IP i opcionalment el port). Només s'utilitza a les cadenes OUTPUT i POSTROUTE i dins de la taula de nat. La decisió presa per al primer paquet d'una connexió es recorda per a la resta de paquets de la mateixa connexió.
  • SNAT: Modifica l'origen del paquet (IP i opcionalment el port). Només s'utilitza a les cadenes PREROUTE i dins de la taula nat. La decisió presa per al primer paquet d'una connexió es recorda per a la resta de paquets de la mateixa connexió.
  • MASQUERADE: És una forma especial i restringida de SNAT per adreces IP dinàmiques. Quan el router no té una adreça fixa es pot utilitzar aquest mètode que el que fa és deixar-se en l'adreça IP de la interfície.
  • REPEAT: força al paquet a tornar a entra al hook

Cadenes o Chains

Les cadenes contenen 0 o més regles (conjunt de regles o ruleset). Es poden utilitzar les següents cadenes:

  • INPUT: Tots els paquets amb destinació a la màquina que executa iptables passen per aquesta cadena (i passen diferents cops en diferents taules)
  • OUTPUT: Tots els paquets creats pel sistema que executa iptables passen per aquesta cadena (i passen diferents cops en diferents taules)
  • FORWARD: Tots els paquets que són enrutats per la màquina que executa iptables passen per aquesta cadena (i passen diferents cops en diferents taules
  • PREROUTING: Tots els paquets d'ENTRADA passen per aquesta cadena (i passen diferents cops en diferents taules) abans d'enrutar (utilitzat per DNAT)
  • POSTROUTING: Tots els paquets de SORTIDA passen per aquesta cadena (i passen diferents cops en diferents taules) abans d'enrutar (utilitzat per SNAT)

Cada cadena té el seu objectiu i s'han d'utilitzar tenint en compte aquest objectiu:

  • Per filtrar i/o manipular paquets d'entrada ho hem de fer a la cadena INPUT.
  • Per filtrar i/o manipular paquets de sortida ho hem de fer a la cadena OUTPUT.
  • En un router per filtrar i/o manipular paquets que passen pel ruter ho hem de fer a la cadena FORWARD.
  • Si volem manipular paquets abans d'executar DNAT ho hem de fer a la cadena PREROUTING
  • Si volem manipular paquets abans d'executar SNAT ho hem de fer a la cadena POSTROUTING
  • Si volem fer translacions d'adreces (NAT) d'origen (SNAT) ho hem de fer a la cadena POSTROUTING.
  • Si volem fer translacions d'adreces (NAT) de destinació (DNAT) ho hem de fer a la cadena PREROUTING.

Veieu el següent apartat (tables) per entendre la importància dels verbs filtrar i manipular.

Taules o Tables

  • filter: Aquesta taula és la responsable del filtratge (és a dir, bloquejar o permetre que un paquet continuï o no). Tots els paquets passen per la taula de filtres. La taula filtres utilitza les cadenes INPUT, OUTPUT i FORWARD.
  • nat: Aquesta és la taula de traducció d'adreces de xarxa (NAT o ip masquerade). Aquesta taula és l'encarregada de modificar les adreces dels paquets. El primer de qualsevol connexió passa per aquesta taula. Utilitza les cadenes PREROUTING, POSTROUTING i OUTPUT chain.
  • mangle: Taula de destrossa. Aquesta taula és la responsable d'altres modificacions en els paquets (P. ex. QoS (qualitat de servei)). S'utilitza per a la resta d'usos (avançats) del firewall i utilitza totes les cadenes.
  • raw: Aquesta taula s'utilitza per configurar excepcions de paquets que no han de ser controlats pel sistema de seguiment de connexions (connection tracking).

Segons això podríem parlar d'una semàntica de iptables on:

  • Filtrar: Filtrar implica acometre una acció amb un paquet però sense modificar-lo (Podem acceptar, eliminar, fer un log) Aquesta acció s'ha de fer a les taules filter i ho podem fer amb els paquets d'entrada (INPUT Chains), paquets de sortida (OUTPUT Chain) i els paquets en encaminament (FORWARD chain).
  • Manipular (mangle): Manipular vol dir fer modificacions (sobretot en les capçaleres) en els paquets. Pot servir per controlar la qualitat de servei, marcar paquets per al seu posterior processament, etc. Mangle vol dir destrossar/trossejar. Atenció, es pot modificar tot menys les adreces d'origen i destinació.
  • Traduir (NAT): és el que fa NAT. S'encarrega de modificar les adreces de destinació i origen i de conseqüentment canviar el checksum.

Polítiques o Policies

A Netfilter parlem de polítiques per defecte per a les cadenes. Les polítiques per defecte especifiquen el comportament per defecte del firewall per aquells paquets que no coincideixen amb cap norma implícitament especificada. Tenim dues polítiques:

  • ACCEPT: Acceptar el paquet si no se li aplica cap norma.
  • DROP: Denegar el paquet si no se li aplica cap norma.

Línia de comandes

  • Per consultar com tenim el iptables
  • És pot veure que no te cap norma en filter
$ sudo iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
$ sudo iptables -nvL -t nat


$ sudo iptables -nvL -t raw
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination


$ sudo iptables -nvL -t mangle

Paràmetres de la comanda

Les normes tenen ordre, les normes tenen que anar primer les més simples i després les més generals, ja que si poses una general al principi les més simples no s'aplicaran

  • Afegir normes: amb -A
$ sudo iptables -A CHAIN CONDICIO -j TARGET

  • Bloquejar-ho tot:
$ sudo iptables -A INPUT -j DROP
  • Eliminar la restricció:
$ sudo iptables -D INPUT -j DROP
$ sudo watch iptables -nvL
  • Per tal de donar la posició a la norma podem posar el numero detràs de la chain per tal de posar-la més amunt o més avall.
$ sudo iptables -I INPUT 1 -p icmp -j ACCEPT
  • Bloquejo els pings a localhost:
$ sudo iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
  • Bloquejo tot el icmp
sudo iptables -A INPUT -s 192.168.204.229 -p icmp -j DROP

Per desbloquejar, sols hem cal canviar el paràmetre -A, per el -D, per eliminar la regla.

  • Per bloquejar un servei, per exemple el ssh a una màquina concreta
$ sudo iptables -A INPUT -s 192.168.204.229 -p tcp --dport 22 -j DROP
  • Ho comprovo, sobre la màquina del company de classe:
~$ sudo nmap 192.168.204.229
Starting Nmap 5.21 ( http://nmap.org ) at 2013-01-29 19:47 CET
Nmap scan report for 192.168.204.229
Host is up (0.0054s latency).
Not shown: 998 closed ports
PORT   STATE    SERVICE
22/tcp filtered ssh
80/tcp open     http
MAC Address: 94:DB:C9:00:0C:C7 (Unknown)
  • Per a esborrar normes de la taula
$ sudo iptables -D OUTPUT 1
$ sudo iptables -D INPUT 1

DROP vs REJECT

  • Mentre que el DROP, no ens avisa de res, el REJECT avisa l'emissor.
  • Exemples:
$ sudo iptables -A INPUT -s 192.168.204.240 -p icmp -j DROP

$ sudo iptables -A INPUT -s 192.168.204.240 -p icmp -j REJECT

Polítiques

  • De polítiques en tenim de dos tipus principalment, permissiva ACCEPT, i restrictiva DROP.
Davidginovarttallafocs2.png
Davidginovarttallafocs3.png









Fer els canvis permanents

  • Per fer els canvis en iptables permanents, farem el següent:
$ iptables-save > /etc/firewall.conf
  • Amb aquesta comanda el que fem és enviar la configuració que tenim en aquest moment, al fitxer /etc/firewall.conf
  • Ja que dir que aquesta comanda la tenim que utilitzar com a root, ja que amb sudo, no ens funcionarà.
  • Després fiquem aquestes línies al fitxer

$ cd /etc/network/if-pre-up.d/firewall.conf

auto eth0
iface eth0 inet dhcp
pre-up cat /etc/firewall.conf | iptables-restore

Coses a fer

  • 3.6.4 Bloquejar pings no icmp
$ sudo iptables -A INPUT -s 127.0.0.1 -p icmp --icmp-type echo-request -j DROP
  • Comprovo amb:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp --  localhost            anywhere             icmp echo-request
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination       
  • 3.6.13 Com bloquejar una MAC o MAC + IP
$ sudo iptables -I INPUT -p icmp -m mac --mac-source 00:27:22:1A:32:F6 -j DROP
  • Ho comprovo:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp --  anywhere             anywhere             MAC 00:27:22:1A:32:F6
DROP       icmp --  localhost            anywhere             icmp echo-request
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 
  • 3.6.22 Fer un log de paquets
$ sudo iptables -A INPUT -p icmp -d 127.0.0.1 -j LOG --log-prefix "[firewall ]: "
  • Ho comprovo:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
LOG        icmp --  anywhere             localhost            LOG level warning prefix "[firewall ]: "
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
  • També miro els logs:
$ sudo tail -f /var/log/syslog
Feb  4 20:28:32 DGM-ASUS kernel: [11548.479597] [firewall ]: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1  DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=5863 SEQ=1 
Feb  4 20:28:32 DGM-ASUS kernel: [11548.479637] [firewall ]: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1  DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=23461 PROTO=ICMP TYPE=0 CODE=0 ID=5863 SEQ=1 
Feb  4 20:28:33 DGM-ASUS kernel: [11549.478785] [firewall ]: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=5863 SEQ=2 
Feb  4 20:28:33 DGM-ASUS kernel: [11549.478825] [firewall ]: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN
  • 3.6.16 Bloquejar atacs SSH
$ sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
$ sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
  • Ho comprovo:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
LOG        icmp --  anywhere             localhost            LOG level warning prefix "[firewall ]: "
          tcp  --  anywhere             anywhere             tcp dpt:ssh state NEW recent: SET name: SSH side: source
DROP       tcp  --  anywhere             anywhere             tcp dpt:ssh state NEW recent: UPDATE seconds: 60 hit_count: 8 TTL-Match  name: SSH side: source
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   
  • 3.6.20 Limitar la ratio de connexions (evitar atacs de força bruta)
$ sudo iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 1/m --limit-burst 2 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 22 --syn -j DROP
  • Ho comprovo:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:sshflags: FIN,SYN,RST,ACK/SYN limit: avg 1/min burst 2
DROP       tcp  --  anywhere             anywhere             tcp dpt:sshflags: FIN,SYN,RST,ACK/SYN
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         


  • 3.6.30 Normes de iptables que permeten veure el camí que segueix una connexió TCP d'entrada/sortida
$ sudo iptables -t raw -A PREROUTING -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] Paquet SYN entrant: "
$ sudo iptables -t raw -A PREROUTING -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] RAW PREROUTING: "
$ sudo iptables -t mangle -A PREROUTING -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] MANGLE PREROUTING: "
$ sudo iptables -t mangle -A PREROUTING -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] entregat a rutes: "
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] NAT PREROUTING: "
$ sudo iptables -t mangle -A INPUT -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] MANGLE INPUT: "
$ sudo iptables -t filter -A INPUT -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] FILTER INPUT: "
$ sudo iptables -t filter -A INPUT -p tcp --dport 5000 --syn -j LOG --log-prefix "[FW] SYN entregat local: "
  • Ho comprovo:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW]  FILTER INPUT: "
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW]  SYN entregat local: "
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
$ sudo iptables -L -t mangle
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW]  MANGLE PREROUTING: "
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW]  entregat a rutes: "
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW] MANGLE INPUT: "
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
$ sudo iptables -L -t raw
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW] Paquet SYN entrant: "
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW] RAW PREROUTING: 
$ sudo iptables -t raw -A OUTPUT -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[FW] Paquet ACK sortint: "
$ sudo iptables -t raw -A OUTPUT -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[FW] RAW OUTPUT: "
$ sudo iptables -t mangle -A OUTPUT -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[FW] MANGLE OUTPUT: "
$ sudo iptables -t nat -A OUTPUT -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[FW] NAT OUTPUT: "
$ sudo iptables -t filter -A OUTPUT -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[FW] FILTER OUTPUT: " 
$ sudo iptables -t filter -A OUTPUT -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[FW] ACK entregat a rutes: "
$ sudo iptables -t mangle -A POSTROUTING -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[FW] MANGLE POSTROUTING: "
$ sudo iptables -t nat -A POSTROUTING -p tcp --sport 5000 --tcp-flags ALL ACK -j LOG --log-prefix "[Fw] NAT POSTROUTING: "
  • Ho comprovo:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW] FILTER INPUT: "
LOG        tcp  --  anywhere             anywhere             tcp dpt:5000flags: FIN,SYN,RST,ACK/SYN LOG level warning prefix "[FW] SYN entregat local: "
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
LOG        tcp  --  anywhere             anywhere             tcp spt:5000flags: FIN,SYN,RST,PSH,ACK,URG/ACK LOG level warning prefix "[FW] FILTER OUTPUT: "
LOG        tcp  --  anywhere             anywhere             tcp spt:5000flags: FIN,SYN,RST,PSH,ACK,URG/ACK LOG level warning prefix "[FW] ACK entregat a rutes: "
$ sudo iptables-save
# Generated by iptables-save v1.4.12 on Mon Feb  4 21:16:38 2013
*nat
:PREROUTING ACCEPT [90:10689]
:INPUT ACCEPT [43:7755]
:OUTPUT ACCEPT [87:6794]
:POSTROUTING ACCEPT [87:6794]
-A PREROUTING -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] NAT PREROUTING: "
-A OUTPUT -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[FW] NAT OUTPUT: "
-A POSTROUTING -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[Fw] NAT POSTROUTING: "
COMMIT
# Completed on Mon Feb  4 21:16:38 2013
# Generated by iptables-save v1.4.12 on Mon Feb  4 21:16:38 2013
*mangle
:PREROUTING ACCEPT [506:119232]
:INPUT ACCEPT [359:100388]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [281:54869]
:POSTROUTING ACCEPT [302:58916]
-A PREROUTING -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] MANGLE PREROUTING: "
-A PREROUTING -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] entregat a rutes: "
-A INPUT -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] MANGLE INPUT: "
-A OUTPUT -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[FW] MANGLE OUTPUT: "
-A POSTROUTING -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[FW] MANGLE POSTROUTING: "
COMMIT
# Completed on Mon Feb  4 21:16:38 2013
# Generated by iptables-save v1.4.12 on Mon Feb  4 21:16:38 2013
*raw
:PREROUTING ACCEPT [721:165105]
:OUTPUT ACCEPT [335:68062]
-A PREROUTING -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] Paquet SYN entrant: "
-A PREROUTING -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] RAW PREROUTING: "
-A OUTPUT -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[FW] Paquet ACK sortint: "
-A OUTPUT -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[FW] RAW OUTPUT: "
COMMIT
# Completed on Mon Feb  4 21:16:38 2013
# Generated by iptables-save v1.4.12 on Mon Feb  4 21:16:38 2013
*filter
:INPUT ACCEPT [387:106254]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [289:59120]
-A INPUT -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] FILTER INPUT: "
-A INPUT -p tcp -m tcp --dport 5000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "[FW] SYN entregat local: "
-A OUTPUT -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[FW] FILTER OUTPUT: "
-A OUTPUT -p tcp -m tcp --sport 5000 --tcp-flags FIN,SYN,RST,PSH,ACK,URG ACK -j LOG --log-prefix "[FW] ACK entregat a rutes: "
COMMIT
# Completed on Mon Feb  4 21:16:38 2013
$ tail -f /var/log/syslog
Feb  4 21:19:19 DGM-ASUS kernel: [14592.054541] [FW] MANGLE INPUT: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=28546 DF PROTO=TCP SPT=49170 DPT=5000 WINDOW=32792 RES=0x00 SYN URGP=0 
Feb  4 21:19:19 DGM-ASUS kernel: [14592.054562] [FW] FILTER INPUT: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=28546 DF PROTO=TCP SPT=49170 DPT=5000 WINDOW=32792 RES=0x00 SYN URGP=0 
Feb  4 21:19:19 DGM-ASUS kernel: [14592.054581] [FW] SYN entregat local: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=28546 DF PROTO=TCP SPT=49170 DPT=5000 WINDOW=32792 RES=0x00 SYN URGP=0 
Feb  4 21:19:20 DGM-ASUS kernel: [14593.586301] [FW] Paquet ACK sortint: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35917 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:20 DGM-ASUS kernel: [14593.586320] [FW] RAW OUTPUT: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35917 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:20 DGM-ASUS kernel: [14593.586339] [FW] MANGLE OUTPUT: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35917 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:20 DGM-ASUS kernel: [14593.586355] [FW] FILTER OUTPUT: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35917 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:20 DGM-ASUS kernel: [14593.586369] [FW] ACK entregat a rutes: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35917 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:20 DGM-ASUS kernel: [14593.586384] [FW] MANGLE POSTROUTING: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35917 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:25 DGM-ASUS dhclient: DHCPREQUEST of 192.168.204.250 on wlan0 to 192.168.204.2 port 67
Feb  4 21:19:45 DGM-ASUS dhclient: DHCPREQUEST of 192.168.204.250 on wlan0 to 192.168.204.2 port 67
Feb  4 21:19:54 DGM-ASUS kernel: [14627.301854] [FW] Paquet ACK sortint: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00  PREC=0x00 TTL=64 ID=35918 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:54 DGM-ASUS kernel: [14627.301882] [FW] RAW OUTPUT: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35918 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:54 DGM-ASUS kernel: [14627.301915] [FW] MANGLE OUTPUT: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35918 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:54 DGM-ASUS kernel: [14627.301941] [FW] FILTER OUTPUT: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35918 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:54 DGM-ASUS kernel: [14627.301963] [FW] ACK entregat a rutes: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=35918 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:19:54 DGM-ASUS kernel: [14627.301987] [FW] MANGLE POSTROUTING: IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00  PREC=0x00 TTL=64 ID=35918 DF PROTO=TCP SPT=5000 DPT=49170 WINDOW=256 RES=0x00 ACK URGP=0 
Feb  4 21:20:00 DGM-ASUS dhclient: DHCPREQUEST of 192.168.204.250 on wlan0 to 192.168.204.2 port 67