Si no saps res sobre IPTABLES, Et recomano que llegeixis el nostre primer article d'introducció a IPTABLES per així portar una base abans de començar a explicar el tema de les taules en aquest fantàstic element de el nucli Linux per filtrar i actuar com un potent i eficaç tallafocs o firewall. I és que la seguretat és una cosa que preocupa i cada vegada més, però si ets linuxero estàs de sort, ja que Linux implementa una de les millors eines que puguem trobar per lluitar contra les amenaces.
IPTABLES com ja hauries de saber s'integra en el propi nucli Linux, I forma part de el projecte netfilter, que a més d'iptables es compon per ip6tables, ebtables, arptables i ipset. És un tallafocs molt configurable i flexible com la majoria d'elements de Linux, i malgrat haver tingut alguna vulnerabilitat, no per això deixa de ser especialment potent. A l'estar dins el nucli, s'inicia amb el sistema i es manté actiu tot el moment i a l'estar a el nivell de l'nucli, rebrà paquets i aquests seran acceptats o rebutjats consultant les regles de iptables.
Els tres tipus de taules:
Però iptables funciona gràcies a una sèrie de tipus de taules que és el tema principal d'aquest article.
taules MANGLAR
Les taules MANGLAR s'encarreguen de modificar els paquets, i per a això tenen les opcions:
-
TOS: Type Of Service és usat per a definir el tipus de servei d'un paquets i s'ha d'usar per definir com els paquets han de ser 'encaminen, no per paquets que vagin cap a Internet. La majoria dels routers no fan cas de la valor d'aquest camp o poden actuar de manera imperfecta si s'usen per a la seva sortida a Internet.
-
TTL: canvia el camp de temps de vida d'un paquet. Les seves sigles corresponen a Time To Live i, per exemple, es pot usar per a quan no volem ser descoberts per certs proveïdors de serveis d'Internet (ISP) que siguin massa tafaners.
-
SENYAL: usat per marcar paquets amb valors específics, aconseguint liminar l'ample de banda i generar cues mitjançant CBQ (Class Based Queuing). Posteriorment poden ser reconegudes per programes com iproute2 per realitzar els diferents enrutaments depenent de la marca que tinguin o no aquests paquets.
Potser aquestes opcions no et sonin de el primer article, ja que no toquem res d'elles.
Taules NAT: PREROUTING, POSTROUTING
Les taules NAT (Network Address Translation), És a dir, traducció d'adreces de xarxa, seran consultades quan un paquet creï una nova connexió. Permeten compartir una IP pública entre molts equips, per la qual cosa resulten imprescindibles en el protocol IPv4. Amb elles podem afegir regles per modificar les direciones d'IP dels paquets, i contenen dues regles: SNAT (IP masquerading) per a la direcció d'origen i DNAT (Port Forwarding) per a les adreces destinació.
Per a fer modificacions, ens permet tres opcions que ja vam veure alguna cosa d'elles en el primer article d'iptables:
- PREENRUTAMENT: per modificar paquets tan aviat com arribin a l'equip.
- SORTIDA: per a la sortida de paquets que es generen localment i seran 'encaminen per la seva sortida.
- POST-RUTA: modificar paquets que estiguin llestos per sortir de l'equip.
Taules de Filtrat:
Les taules de filtrat s'usen per defecte per gestionar paquets de dades. Aquestes són les més usades i són responsables de l'filtrat dels paquets segons s'ha configurat el tallafocs o filtre. Tots els paquets passen a través d'aquesta taula, i per a la modificació té tres opcions predefinides que també vam veure a l'article d'introducció:
- ENTRADA: per a l'entrada, és a dir, tots els paquets destinats a entrar en el nostre sistema han de passar per aquesta cadena.
- SORTIDA: per a la sortida, tots aquells paquets creats pel sistema i que van a sortir-ne cap a un altre dispositiu.
- AVANT: redireccionament, com ja deus saber, simplement els redirecciona al seu nou destí, afectant a tots els paquets que passen per aquesta cadena.
Finalment m'agradaria dir que cada paquet de xarxa enviat o rebut en un sistema Linux ha d'estar subjecte a alguna d'aquestes taules, a l'almenys una d'elles o diverses alhora. A més ha d'estar subjecte a múltiples regles de taules. Per exemple, amb ACCEPT se li permet que continuï el seu camí, amb DROP es nega l'accés o no s'envia i amb REJECT es descarta simplement, sense informar d'un error a l'servidor o equip que va enviar el paquet. Com veus, cada taula té els seus targets o polítiques per a cadascuna de les opcions o cadenes esmentades anteriorment. I aquestes són les citades aquí com ACCEPT, DROP i REJECT, però hi ha una altra com QUEUE, aquesta última, que potser no coneguis és utilitzada per processar els paquets que arriben per un determinat procés, independentment de la seva direcció.
Bé, com veus, iptables és una mica ardu com per explicar-ho en un sol article d'una manera profunda, espero que amb el primer article etngas una idea bàsica d'ús d'iptables amb alguns exemples, i aquí una mica més de teoria. Deixa els teus comentaris, dubtes o aportacions, seran benvingudes.