Tallafoc

Les xarxes estan formades per multitud de dispositius, alguns dels quals juguen un paper important en el seu correcte funcionament. Dins de l’àmbit de la seguretat cal estudiar un dispositiu molt especial: el tallafoc. El tallafoc està gairebé sempre present en una xarxa, ja sigui gran o petita, empresarial o domèstica. Però sovint l’usuari n’ignora la seva presència, mentre que en altres ocasions sap que hi és però desconeix per a què serveix.

El tallafoc serveix per protegir la xarxa de les amenaces que es puguin presentar.

El seva invenció és fruit de la necessitat: uns atacs virals a importants entitats nord-americanes van propiciar la creació dels tallafocs com a instrument per defensar-se de la nova amenaça. De llavors ençà, el terme tallafoc s’ha mantingut, però l’eina ha anat evolucionant. Els tallafocs estan en constant evolució a causa del desenvolupament d’una altra entitat tecnològica: Internet.

Per a una visió més tècnica del tallafoc consulteu l’RFC 2979. www.ietf.org/rfc/rfc2979.txt

De tallafocs n’hi ha de diversos tipus. El seu disseny i la seva evolució depenen de la idiosincràsia de cada xarxa. No només cada xarxa presenta unes determinades peculiaritats, sinó que també varia l’ús que els usuaris en fan, el contingut i naturalesa de la informació que hi circula.

El tallafoc compleix una sèrie de funcions necessàries, però el seu ús implica dominar certs aspectes sinó es vol crear problemes a la xarxa.

El tallafoc es va concebre amb la intenció de donar protecció a la xarxa. Partint d’aquesta base, tot administrador de xarxa es pot formular la pregunta: necessito instal·lar un tallafoc a la meva xarxa? Des de tots els punts de vista la resposta és clara: sí.

Tallafoc és la traducció literal del terme anglès firewall, que s’usa en aquest context per primera vegada el 1988.

L’esquema més habitual que s’utilitza per representar un tallafoc és el mostrat en la figura. Com es pot observar, s’acostuma a utilitzar un mur de maons vermells com a símbol de l’equip tallafoc.

Figura Representació d’una xarxa amb un tallafoc

Definicions importants

Abans de començar a tractar els aspectes més rellevants dels tallafocs és important parlar d’una sèrie de termes imprescindibles per entendre’ls. No és possible comprendre la rellevància d’aquests dispositius sense ser conscients de les diferents amenaces de les xarxes, els tipus d’atacants i els atacs més comuns.

Una vegada presentades algunes de les situacions comprometedores de la seguretat de la xarxa es veurà encara més clara la necessitat d’utilitzar tallafocs.

Amenaces

Per fer front a una amenaça cal estudiar prèviament l’origen de l’amenaça, les eines que utilitza, l’entorn on es desenvolupa i els mecanismes de defensa de què disposem. L’establiment d’una estratègia defensiva és fonamental per garantir la seguretat de la xarxa que volem protegir.

La gestió de la seguretat es pot enfocar com un joc on hi ha una sèrie de regles inamovibles i d’altres que apareixen amb l’evolució tecnològica. Així, fa un cert temps cap tècnic de xarxa s’havia de preocupar per accessos no permesos a la xarxa utilitzant dispositius mòbils i resulta que avui en dia es pot accedir a una xarxa des de punts no estàtics. De fet, la majoria de dispositius que pertanyen a la xarxa són mòbils. Si analitzem el trànsit de xarxa en un àmbit docent descobrim que més de la meitat d’equips connectats són telèfons mòbils, tauletes i portàtils que hi accedeixen amb comunicacions sense fil. Internet està en constant evolució i les persones encarregades de gestionar la seguretat de les xarxes no poden estancar-se i adoptar una actitud passiva davant d’aquests canvis. En la figura es pot veure com accedeixen a la xarxa dispositius que utilitzen multitud de tecnologies.

Figura A les xarxes actuals hi accedeixen tota mena de tecnologies

La taula mostra l’augment del nombre de vulnerabilitats reportades al CERT (Font: www.cert.org/stats).

Taula Vulnerabilitats comptabilitzades pel CERT
Any Vulnerabilitats catalogades Vulnerabilitats catalogades directament al CERT
Primer quadrimestre del 2008 6058 310
2007 7236 357
2006 8064 345
2005 5990 213
2004 3780 170
2003 3784 191
2002 4129 343
2001 2137 153
2000 1000 -
1999 417 -
1998 262 -
1997 311 -
1996 345 -
1995 171 -
Total 44074 -

El Computer Emergency Response Team (CERT) és un organisme amb seu a la universitat nord-americana de Carnegie Mellon que s’encarrega d’analitzar les vulnerabilitats de seguretat a Internet, d’estudiar l’evolució de les xarxes i d’elaborar documentació i estudis de casos per ajudar a millorar la seguretat a la xarxa.

Es pot observar a la taula l’increment de vulnerabilitats sofert en els períodes compresos entre 1999 i 2002 i entre 2004 i 2006. L’increment de la població amb accés a la tecnologia i a Internet, el desenvolupament de nous camps tecnològics vinculats a les xarxes informàtiques i l’augment del coneixement d’aquestes tecnologies per un ampli ventall de perfils són algunes de les causes més probables del creixement del nombre d’incidents registrats. Aquests incidents no només són provocats per persones aïllades, sinó que últimament proliferen organitzacions que actuen de forma coordinada, com és el cas d’Anonymous.

Anonymous és el pseudònim utilitzat per diverses persones i grups que reivindiquen la llibertat d’expressió i la independència d’Internet. Alguns consideren que no tots els seus actes estan dins de la llei.

Igual que en qualsevol indústria hi ha un recurs molt útil en el disseny d’estratègies de protecció: categoritzar els atacants i els atacs.

Tipus d'atacants

La seguretat d’una xarxa es pot veure compromesa per l’actuació d’un atacant novell o expert. Que la xarxa sigui xarxa víctima potencial d’un atac dependrà de la rellevància de les dades que hi circulen i de les relacions socials de les persones que hi interactuen.

Llocs web de grans corporacions o d’esdeveniments polítics, econòmics i socials són un blanc força comú d’atacs.

Bàsicament existeixen dues categories d’atacants: els black hats i els script kiddies. Els black hats són experts que posseeixen moltes i variades habilitats i coneixements, i s’han de considerar una amenaça molt seriosa. Si l’administració d’una xarxa té la sospita de que un black hat els està estudiant cal adoptar mesures urgents. Els script kiddies són molt més nombrosos que els black hats i se’ls atribueixen la majoria d’atacs, però són una amenaça molt menor, ja que són considerats programadors inexperts que només aprofiten codi creat per altres.

Motivacions de l'atac

Les motivacions dels atacants són força variades. Poden anar des de la recerca d’un benefici econòmic fins a l’afany d’accedir a un recurs per fer-ne ús personal.

Els principals riscos d’un xarxa són la pèrdua de la integritat de les dades, la pèrdua de la confidencialitat i la pèrdua de la disponibilitat dels recursos.

La pèrdua de la integritat de les dades es produeix quan un atac aconsegueix modificar dades, programes o fins i tot el sistema operatiu. Aquesta pèrdua és especialment greu quan no s’ha detectat l’atac. Això pot provocar que es continuï treballant amb dades que no són les correctes o fins i tot que hagi instal·lat dins la xarxa un programa que permeti accessos no autoritzats. La pèrdua de confidencialitat consisteix en sostraure informació privilegiada i fer-ne ús, per exemple revelant els continguts. Si una empresa aconsegueix de manera fraudulenta informació confidencial de la competència, com per exemple els plànols d’un artefacte que està tenint gran èxit de vendes, pot utilitzar aquesta informació per fabricar una rèplica millorada del producte i assolir una posició avantatjosa en el mercat. La pèrdua de disponibilitat dels recursos es relaciona normalment amb un atac de denegació de servei.

Els atacs de denegació de servei s’identifiquen amb l’acrònim DoS, sigles de denial of service, i normalment es manifesten en atacs per inundació SYN, inundació ICMP, SMURF i inundació UDP.

Atacs comuns

Amb el conjunt d’eines IDS/IPS és possible detectar els diferents atacs que pot patir una xarxa. Els més comuns són els que es detallen a continuació:

  1. Correu brossa. Actualment els virus, els cavalls de Troia i altres programes maliciosos (malware), un cop tenen el sistema infectat acostumen a enviar correu brossa. Per detectar aquest problema de seguretat, cal buscar sistemes que estiguin generant trànsit amb destinació al port 25 d’altres sistemes d’Internet.
  2. Denegació de servei (DoS). Es tracta d’un problema de seguretat que busca deshabilitar un servei determinat. Hi ha moltes maneres de causar una denegació de servei. La més coneguda, perquè és la més complicada d’aturar, és sol·licitar una gran quantitat de connexions simultànies. Això fa que els recursos del servidor s’esgotin o bé que, simplement, el trànsit legítim es redueixi com a conseqüència de l’atac. Tot i això, aquesta no és l’única manera de provocar una denegació de servei. Per exemple, un paquet manipulat de manera especial pot fer que un dimoni produeixi un error intern i, consegüentment, el servei s’apagui. Si el dimoni en qüestió no disposa d’un sistema d’arrencada automàtic, es produeix una denegació de servei fins que un operador del sistema hi intervé.
  3. P2P/Programari piratejat. Actualment, en cas d’intrusió en un servidor, el més comú és que s’hi instal·li programari per enviar correu brossa. Anteriorment, els sistemes infectats se solien fer servir per distribuir programari piratejat (warez). En aquests casos, el trànsit d’FTP o de protocols P2P sol incrementar. Així, per detectar aquest tipus d’incident, cal revisar l’increment d’aquests protocols mitjançant un IDS/IPS o bé un sistema d’anàlisi del trànsit.
  4. Pesca. Un altre efecte dels virus és la instal·lació de programari per robar informació. Un cop instal·lat, aquest atac pot ser complicat de detectar: cal analitzar els canvis en el sistema de fitxers, analitzar els fitxers de registre de tots els dimonis o bé fer captures del trànsit de la xarxa. En cas que la pesca faci servir un nom de domini diferent del nom propi del sistema, es podria analitzar el trànsit HTTP buscant la capçalera host per detectar-lo. Si utilitzem tcpdump a Linux, ho podríem fer mitjançant les ordres següents:
# tcpdump -nni eth0 -s 0 -w /tmp/captura 'port 80'

Si tinguéssim una mostra prou gran del trànsit, les peticions web es podrien analitzar mitjançant l’ordre següent:

strings /tmp/exemple | grep Host: | awk '{ print $NF }' | sort | uniq -c | sort -n

Codi corrupte

El warez és un programari amb drets d’autor que es distribueix il·lícitament. El malware és el conjunt de programes maliciosos. S’hi inclouen els virus, els cucs, els cavalls de Troia, les eines d’intrusió (rootkits) i el programari de publicitat (adware), entre d’altres.

L’ordre strings extreu les cadenes de text d’un fitxer binari.

Per poder fer els atacs que s’han descrit més amunt, cal propagar mínimament el programa maliciós. D’aquesta manera, en general, un equip infectat, independentment de la resta d’accions que se li poden fer emprendre, es converteix en un altre punt de propagació d’aquest programa. És imprescindible, doncs, analitzar periòdicament els equips per buscar-hi virus i altres tipus de programes maliciosos.

En el cas de Linux, es pot fer servir l’antivirus de font pública ClamAV per analitzar els sistemes.

Els tallafocs més comuns

En el moment d’instal·lar un tallafoc és bàsic poder respondre tres preguntes: quines regles de tallafoc necessitem? On col·locarem el tallafoc? Quants tallafocs necessita la xarxa?

Les necessitats de la xarxa indicaran quin és el tipus de tallafoc més idoni per instal·lar. Així podem instal·lar un tallafoc en encaminador, un tallafoc en un sola màquina o un tallafoc en més d’una màquina.

Quan s’aprofita l’encaminament de dades per realitzar un filtratge d’aquestes dades s’està protegint la xarxa. Aquesta manera de treballar no és gaire recomanable, ja que aquest procés es limita a estudiar únicament l’adreça IP del paquet. L’encaminador està fent una tasca que a priori hauria de fer un tallafoc. Però en xarxes de mida reduïda és una estratègia força comuna. Tot i ser una tècnica molt simple de dissenyar i d’implementar, presenta una sèrie de problemes greus: la defensa té una carència de profunditat evident, no existeix la flexibilitat i tant les màquines públiques com les privades conviuen en la mateixa xarxa.

Figura Xarxa de dimensions reduïdes amb un encaminador

La xarxa de la figura només té un encaminador. En una xarxa d’aquestes dimensions és molt probable que haver d’instal·lar i gestionar un tallafoc no sigui del tot adient.

Característiques i tipus de tallafocs

El tallafoc és un dispositiu que presenta algunes característiques genèriques i d’altres de particulars, que permeten classificar-lo en diferents tipus. Hi ha una sèrie de característiques que s’han de conèixer per comprendre què significa utilitzar un tallafoc a la xarxa. Existeixen diferents tipus de tallafocs que es poden trobar en el mercat. Serà tasca de l’administrador escollir quin és el tallafoc més adient per a la xarxa.

Característiques del tallafoc

En general, els tallafocs presenten una sèrie de característiques comunes. Aquestes característiques són la implementació, el nivell de la gestió de seguretat que ofereix de la xarxa i el pressupost.

La implementació del tallafoc és possiblement la característica més important. La xarxa ha de seguir una política de seguretat que marcarà el nivell de protecció a aplicar. Una empresa que treballa amb dades sensibles haurà d’aplicar una política de seguretat rigorosa, mentre que en un entorn domèstic s’aplicarà un nivell de seguretat menor.

Tallafoc domèstic

Amb l’arribada d’Internet a les llars, l’ús del tallafoc ha esdevingut imprescindible per protegir els nostres equips, però la sofisticació d’un tallafoc domèstic no té res a veure amb la d’un tallafoc empresarial.

En determinades xarxes són necessaris tallafocs que permetin la gestió de la seguretat de la xarxa des del punt de vista del monitoratge, el control de la redundància i el nivell de control a aplicar. El monitoratge és una gran ajuda per detectar problemes, intrusions o un mal ús de la xarxa. La redundància a diferents nivells permet l’assegurament de la informació. És important, per tant, que el tallafoc permeti la redundància necessària i detecti i elimini, en canvi, la que resulti contraproduent. El nivell de control a aplicar a la xarxa necessita de reflexió: s’ha de decidir què es permetrà i que es negarà.

Hi ha dos tipus de nivell de control: el restrictiu i el permissiu. El control restrictiu denega tot el que no es permet explícitament, mentre que el control permissiu permet tot allò que no es prohibeix de manera manifesta.

Disposar de segons quin tallafoc pot implicar una despesa no sempre assumible. Un tallafoc pot tenir un cost econòmic nul o de molts milers d’euros (no és difícil trobar-ne per sobre dels 30.000 €). Escollirem un tallafoc o un altre en funció de les necessitats de la xarxa i del nostre pressupost.

Un cop clares les característiques dels tallafocs cal escollir el model més adequat a les nostres necessitats. Formular-nos les preguntes següents ens ajudarà a triar la millor opció:

  1. Per la nostra xarxa circulen dades sensibles? Si la resposta és afirmativa haurem d’instal·lar un tallafoc. Avui en dia, la resposta sempre és afirmativa perquè per la nostra xarxa sempre hi circularan dades sensibles.
  2. Quin grau de complexitat té la nostra xarxa? No hem de confondre una xarxa complexa amb una xarxa gran. Una empresa amb set treballadors i deu ordinadors pot disposar d’una xarxa més complexa que una que té 1.000 treballadors. Com més complexa sigui la xarxa, més eines ha d’oferir el tallafoc per gestionar-la de manera senzilla i eficaç.
  3. Quin pressupost podem dedicar al tallafoc? Quan es fa la provisió per als components de la xarxa s’ha de reservar una part del pressupost per al tallafoc. La quantitat dependrà de les respostes a les preguntes anteriors.

La necessitat marca les característiques del tallafocs

Una multinacional amb gran volum de negoci pot necessitar un tallafoc de prestacions elevades i segurament pot invertir-hi una gran quantitat de diners. En canvi, a casa podem utilitzar un ordinador antic que ja no utilitzem amb sistema operatiu Ubuntu i un tallafoc gratuït.

Com es pot veure, el tallafoc és un dispositiu amb unes característiques clarament definides. Quan coneixem la funció del tallafoc ens adonem del seu paper protagonista dins de la xarxa.

Tipus de tallafocs

Els diferents tallafocs que es poden trobar en el mercat es poden agrupar segons el preu, la seva implementació o segons la complexitat que presenta la xarxa.

En una mateixa xarxa poden conviure diferents tipus de tallafocs, ja que aquests desenvolupen tasques bastant específiques segons sigui el cas.

Tipus de tallafocs segons el preu

Actualment es poden trobar tallafocs gratuïts, tallafocs gratuïts als quals se’ls poden afegir mòduls de pagament, tallafocs gratuïts durant un període de temps i tallafocs de pagament.

Poder disposar de tallafocs gratuïts és molt convenient per a aquelles corporacions que no poden invertir gaire en la xarxa, però que necessiten que aquesta ofereixi unes mínimes garanties.

  • Logotip del programa Shorewall molt utilitzat en xarxes mitjanes i grans
  • Logotip del programa Shorewall molt utilitzat en xarxes mitjanes i grans

Les empreses que fabriquen màquines tallafoc generalment també desenvolupen programari tallafoc. La gama de preu és molt àmplia, i la variable que utilitzen aquestes empreses és el nivell de seguretat que garanteixen.

Un tallafoc gratuït no ofereix el suport tècnic que en principi pot oferir un de pagament, però per contra un bon tallafoc per a empreses pot tenir un preu molt elevat.

Tipus de tallafocs segons la implementació

En el mercat existeixen tallafocs de maquinari i de programari. Així, podem descarregar un tallafoc gratuït d’Internet, o bé comprar un paquet de programari o comprar una màquina que faci aquesta funció.

  • Logotip de Check Point que comercialitza tant màquines com programes tallafocs./4
  • Logotip de Check Point que comercialitza tant màquines com programes tallafocs.

Les marques més reconegudes de màquines tallafoc són SonicWALL, Barracuda, Check Point, Cisco, RSA, Juniter i Watchguard. Els preus mitjans d’equips professionals estan al voltant dels 6.000 €, però aquestes marques tenen models que poden sobrepassar els 50.000 €. En la figura es mostra un model de tallafoc de l’empresa SonicWALL, especialitzada en el sector de la seguretat.

Figura Model de tallafoc de la marca SonicWALL

Les màquines tallafoc poden tenir objectius de defensa genèrics o poden estar dedicades a un servei determinat. En aquest segon cas, per exemple, cal citar tallafocs dissenyats específicament per a serveis de correu que tenen com a objectiu controlar el correu brossa.

Correu brossa

El correu brossa o spam són missatges de correu que arriben a un client que no els ha sol·licitat. L’spamming genera importants pèrdues econòmiques a les empreses que el pateixen.

Tipus de tallafocs segons la complexitat

La confidencialitat és una característica tant important de les xarxes que en moltes ocasions les defineix. L’administrador de la xarxa prendrà les decisions que tinguin a veure amb la seguretat en funció de la complexitat de la xarxa i de la importància de les dades que s’han de protegir.

Tenint en compte aquesta complexitat es poden identificar tres grans grups de tallafocs:

  1. Els tallafocs personals
  2. Els tallafocs de departament
  3. Els tallafocs d’empresa

El tallafoc personal s’instal·la generalment en àmbits domèstics o negocis molt petits. Aquest tallafoc normalment ha de protegir un únic ordinador o una petita xarxa, fins i tot és probable que s’instal·li en el mateix equip de treball. Alguns sistemes operatius inclouen un tallafoc instal·lat pensat per a ús domèstic. Algunes empreses comercialitzadores d’equips informàtics, d’equips de xarxa o de sistemes operatius inclouen tallafocs preinstal·lats en els seus productes.

Els sistemes operatius de Microsoft incorporen un programa amb les funcionalitats pròpies d’un tallafoc personal.

El tallafoc de departament ofereix una sèrie de serveis a una xarxa informàtica. El volum de dades que ha de gestionar aquest tipus de tallafoc comença a ser important i el manteniment i configuració del tallafoc requereix coneixements tècnics.

El tallafoc empresarial pot ser un equip molt potent o bé el conjunt format per diversos tallafocs de departament. L’ús i manteniment d’aquest tipus de tallafoc exigeix molta dedicació. Generalment l’administració de la xarxa acaba per automatitzar processos per gestionar aquests tallafocs, ja que habitualment el volum de dades que hi circulen és massa gran per fer-ho sense suport automàtic. Actualment existeixen en el mercat empreses que centren el seu negoci en la fabricació d’aquests equips. Generalment són equips que han de ser operats per treballadors amb una formació específica i un alt grau de coneixements de xarxa.

La taula resumeix les característiques més remarcables dels diferents tipus de tallafocs.

Taula Resum de característiques dels diferents tipus de tallafocs
Tallafoc Personal De departament Empresarial
Nombre de màquines 1 o cap 1 1 o més
Complexitat Baixa Alta Molt alta
Requeriments tècnics No Recomanable Imprescindible
Actualització Constant Constant Constant

Quin tallafoc escollir

Arriba un moment en què tot administració d’una xarxa ha de prendre una decisió crucial: quin tallafoc instal·lo? Haurà de tenir en compte les qüestions següents:

  1. La política de seguretat que se segueixi
  2. El nivell de control
  3. El pressupost

La política de seguretat a aplicar depèn bàsicament de les dades sensibles que circulin per la xarxa. Si, per exemple, hi circulen dades personals, caldrà aixecar totes les barreres necessàries per no posar en perill la integritat i confidencialitat d’aquestes dades. En aquest cas, doncs, s’haurà d’establir una política de seguretat rígida. Val a dir que un tallafoc no és l’únic element en una política de seguretat: un altre aspecte molt important és l’accés dels usuaris a la xarxa amb dispositius extraïbles, la visibilitat de dades des de dispositius d’oficina o l’accés al recinte de persones alienes a l’empresa.

Pel que fa al nivell de control d’una xarxa es pot adoptar una postura restrictiva o una postura permissiva. El tipus de tallafoc a implementar dependrà de si s’adopta una postura restrictiva o una postura permissiva pel que fa al nivell de control.

Figura Tallafoc de gama alta de Cisco

El pressupost és una dada que sempre marca l’elecció dels equips que conformen la xarxa. En el mercat es poden trobar tallafocs de preus molt diversos i en ocasions resulta difícil triar la millor opció. En la figura hi ha un exemple de tallafoc amb moltes prestacions i que implica disposar d’un alt pressupost. Depenent del requeriment de la xarxa, un equip d’aquest perfil hi tindria cabuda.

Escollir el tallafoc adient és una tasca complexa que requerirà un temps de reflexió.

Exemple de decisió

A l’hora d’escollir un tallafoc és convenient que ens fem aquestes preguntes: De quin pressupost disposo? Circulen dades especialment sensibles per la xarxa? El tallafoc que s’utilitzarà serà un programa o una màquina? El tallafoc escollit cobreix totes les necessitats de la xarxa o s’ha de complementar amb un altre tallafoc? Suposem que una empresa de nova creació que es dedica a la fabricació artesanal de cotxes us demana assessorament. Disposen d’una petita xarxa informàtica que consta de cinc ordinadors personals que s’utilitzen en tasques de producció i administració. Un d’aquests ordinadors fa tasques de servidor (dóna accés a Internet, emmagatzema les dades personals del clients i realitza còpies de seguretat). Acaben d’incorporar en plantilla a una persona que ha finalitzat el grau mitjà d’informàtica. La pregunta que us fan és: com protegim les dades de l’empresa?

Solució

  1. De quin pressupost disposo? Resposta: com a màxim es poden invertir 500 € en la protecció de la xarxa.
  2. Circulen dades especialment sensibles per la xarxa? Resposta: Sí. A més, durant una visita a l’empresa es detecta un punt d’accés sense cables.
  3. El tallafoc que s’utilitzarà serà un programa o una màquina? Resposta: La màquina que fa de servidor està força atapeïda. Es fa un estudi de rendiment i es valora afegir un equip que realitzi tasques de tallafoc.
  4. El tallafoc escollit cobreix totes les necessitats de la xarxa o s’ha de complementar amb un altre? Resposta: Encara no s’ha escollit el tallafoc, però ja se sap que serà una màquina que no excedeixi dels 500 €, que haurà de filtrar el trànsit d’entrada i sortida de la xarxa i que possiblement tregui serveis al servidor actual. Amb un tallafoc n’hi haurà prou.

Funcions principals del tallafoc

La funció principal d’un tallafoc és la defensa de la xarxa. Un tallafoc ha de preveure un atac i parar els accessos no autoritzats a la xarxa. Eliminar virus no és feina del tallafoc, però sí que ho és proporcionar seguretat i protecció davant de l’entrada de virus.

Des del punt de vista de l’entitat que utilitza la xarxa, el tallafoc és l’instrument que assegura la confidencialitat, la integritat i la disponibilitat de les dades que estan viatjant per la xarxa o bé que estan emmagatzemades en els dispositius que pertanyen a la xarxa.

El concepte entitat fa referència a una empresa, a una societat, una corporació o qualsevol persona o grup de persones que disposin d’una xarxa informàtica.

La confidencialitat d’una part o de la totalitat de la informació que circula o s’emmagatzema en un xarxa ha d’estar protegida. La integritat de les dades indica si podem tenir la certesa de que la informació no ha estat modificada sense permís. La disponibilitat de les dades significa que s’hi pot accedir.

Figura Triangle dels conceptes confidencialitat, integritat i disponibilitat

Habitualment, la relació existent entre aquests tres conceptes es representa en forma de triangle. A la figura es veuen factors bàsics en la gestió de la informació i els seus atributs de seguretat:

  1. La seguretat personal és el factor més extern i estarà marcat per l’educació de l’usuari en la matèria.
  2. La seguretat física marcarà l’accés a dispositius
  3. Programari, maquinari i comunicacions estan al mateix nivell i permeten accedir a la disponibilitat, confidencialitat i integritat de la informació.

Confidencialitat, integritat i disponibilitat són els tres atributs de la seguretat de la informació.

Un tallafoc s’encarrega de contenir els atacs a la xarxa i d’identificar l’atacant. Per aconseguir-ho pot filtrar el trànsit estudiant les adreces IP o el servei que s’està utilitzant.

La Llei Orgànica 15/1999, de 13 de desembre, garanteix la protecció de les dades personals.

Tot i que l’ús de tallafoc presenta més avantatges que inconvenients, cal comentar aquests últims per tal de assolir una comprensió més completa del seu funcionament. L’ús del tallafoc pot provocar problemes de fiabilitat, de rendiment o de flexibilitat.

Una de les normes que se segueix en el disseny de xarxes segures és, primer de tot, comprovar la correcta connectivitat general i a continuació aplicar les polítiques de seguretat. La pràctica ens demostra que la fiabilitat de la xarxa pot disminuir a causa del tallafoc. Fer passar tot el trànsit de xarxa per un mateix punt té un gran risc, ja que aquest punt concentra el risc d’incidents. Si per error el trànsit no pot traspassar el tallafoc, la xarxa deixa d’estar disponible, i això contradiu el mateix sentit de la xarxa.

Una situació per desgràcia bastant recurrent és la que s’esdevé en xarxes ben dissenyades i implementades, però que presenten un baix rendiment quan arriben a la frontera del tallafoc. Per què passa, això? Per què el rendiment de la xarxa és tan baix? Es pot donar el cas que el tallafoc provoqui un coll d’ampolla, a causa en molts casos d’una línia lenta (no és inusual que s’utilitzi el mateix ample de banda de la xarxa per conduir tot el trànsit al tallafoc) perquè el tallafoc té instal·lades unes interfícies de baixa velocitat o bé perquè el mateix tallafoc està per sota del perfil de rendiment de la xarxa.

Per naturalesa, una xarxa ha de presentar una certa flexibilitat. És curiós que puguem estudiar la progressió i l’estratègia d’una empresa limitant-nos a observar la configuració i utilització que fa de la tecnologia. La xarxa informàtica és una eina al servei de l’empresa i, com aquesta, pot canviar al llarg del temps. Els tallafocs poden ser un handicap en aquesta evolució. Les capacitats d’una xarxa poden veure’s limitades per la presència del tallafoc.

Com podem solucionar els problemes de fiabilitat, rendiment i flexibilitat? Una manera de sortejar els inconvenients dels tallafocs és usar diversos tallafocs en diferents zones de la xarxa i no deixar així la xarxa depenent d’un únic tallafoc.

És força comú trobar programes que disposen d’estructures de seguretat pròpies a priori suficients. Aquests programes treballen independentment del tallafoc, sense relacionar-s’hi, però en conjunt formen un bloc operatiu.

Combinació de mesures

Es pot avaluar la fortalesa de la xarxa estudiant la implicació i varietat de mesures defensives aplicades. Podem fer treballar els tallafocs en combinació amb altres mesures de seguretat.

Configuració i utilització del tallafoc

Configurar i utilitzar el tallafoc no són tasques senzilles, almenys en un inici. És important treballar correctament per no convertir un projecte engrescador en un malson. Perquè, efectivament, realitzar aquesta tasca de manera incorrecta pot generar uns problemes tant greus que la xarxa quedi anul·lada o que, si més no, perdi flexibilitat i capacitat de servei.

Per treballar de manera coherent i avançar amb pas segur cal entendre el model de desenvolupament d’un tallafoc i assajar els passos descrits per tal d’aprofitar al màxim el temps dedicat.

Model de desenvolupament d'un tallafoc

L’establiment i configuració d’un tallafoc ha de seguir una sèrie de passos. És important respectar l’ordre d’aquestes fases si es pretén desenvolupar una eina pràctica i eficaç. Els passos són:

  1. Especificació dels requisits
  2. Justificació
  3. Disseny arquitectònic
  4. Disseny de directives
  5. Implementació
  6. Prova
  7. Administració i manteniment

Prenent aquests punts com a guia es tindran més probabilitats d’èxit en la implementació d’un tallafoc.

Especificació dels requisits

Cal documentar la funció del tallafoc. Aquesta afirmació no és trivial, ja que dedicar un cert temps a pensar quines són les amenaces i riscos específics que es volen evitar amb el tallafoc és molt important.

Una xarxa concreta es veurà amenaçada per determinades entitats i en una major o menor quantia. L’elecció del tallafoc s’ha de fer en una escala lògica dins el sistema al qual pertany.

Algunes de les tasques que li podem demanar al tallafoc són:

  1. Bloquejar l’entrada i sortida de trànsit d’un segment de xarxa.
  2. Bloquejar l’entrada i sortida de trànsit amb adreces IP privades.
  3. Bloquejar l’accés a un determinat amfitrió.
  4. Bloquejar l’accés a determinat trànsit que vagi a un determinat amfitrió.

Un tallafoc no pot anul·lar una xarxa, ha de permetre que aquesta doni servei als seus usuaris.

Haureu de redactar en un document els requisits específics de la vostra xarxa.

Exemple de requisits

Un exemple de redactat dels requisits d’un tallafoc podria ser la següent:

La nostra xarxa ha de garantir determinats serveis als usuaris interns de la xarxa i als usuaris externs de la xarxa. Els usuaris interns podran accedir sempre a Internet, al servidor que allotja els cursos virtuals i al servidor de fotografies. Els usuaris externs només podran accedir al servidor que allotja els cursos virtuals.

Justificació

Cal justificar la implementació d’un tallafoc? Aquesta comporta una despesa de temps d’estudi, instal·lació, configuració i manteniment, i també pot suposar una despesa econòmica en cas que el tallafoc no sigui gratuït. Per acabar, també suposa una despesa organitzativa. Per tant, cal justificar la necessitat que tenim del tallafoc.

Això implica analitzar la seguretat de la xarxa, fer una valoració de les amenaces i els riscos i fer una proposta en funció de la informació obtinguda. És una tasca molt important, ja que és al tècnic a qui es demanaran responsabilitats si es produeix un atac que compromet la seguretat de la xarxa.

La justificació de l’ús d’un tallafoc es realitzarà per escrit i es lliurarà a la direcció de l’organització.

La seguretat d’una xarxa és un assumpte que implica molta agilitat i requereix quantiosos esforços tècnics i humans. La varietat d’atacs i la seva continuïtat forcen els administradors de la xarxa a buscar i aplicar contínuament mesures defensives. Una baixada en la intensitat i efectivitat d’aquestes mesures pot resultar fatal per a la xarxa.

Documentació de les necessitats

Suposem que, després de realitzar una anàlisi de les dades que circulen i s’emmagatzemen en una xarxa informàtica i el perfil d’usuari que hi accedeix, veiem la necessitat d’instal·lar-hi un tallafoc. El nivell de seguretat actual que s’aplica és insuficient i hem comprovat que la xarxa no disposa dels recursos necessaris per detectar una intrusió i que tampoc no la podria evitar o contrarestar, ni assegurar la informació. S’afegiria a l’escrit de justificació de la necessitat d’un tallafoc un informe tècnic amb aquestes dades.

Disseny arquitectònic

La arquitectura que segueixen la majoria de tallafocs depèn de les característiques de cada xarxa en particular i del seu entorn.

El disseny arquitectònic consisteix a decidir quina és l’arquitectura de tallafoc més adient perquè sigui òptim.

Seguir aquests passos pot ser de molta ajuda per desenvolupar el disseny arquitectònic:

  1. Estudiar les arquitectures de tallafoc candidates.
  2. Fer la simulació de com funcionaria cada una d’elles en la nostra xarxa.
  3. Ordenar les arquitectures de millor a pitjor segons les nostres necessitats.
  4. Implementar la tecnologia candidata realitzant les modificacions necessàries per emmotllar-la de la forma més eficient a la xarxa.

El disseny arquitectònic implica en moltes ocasions una revisió del pla i una nova justificació, ja que es pot donar el cas que una vegada implementada una tecnologia sorgeixin vulnerabilitats que no es poden corregir amb l’opció escollida inicialment.

Disseny de directives

A més del correcte estudi de necessitats, cal fer un bon disseny de directives. Hem de dedicar temps i esforços a aquesta fase, ja que és la base del futur funcionament del sistema de defensa.

El disseny de directives és el responsable de l’especificació detallada de com ha d’actuar un tallafoc davant de paquets que tenen determinades característiques.

El disseny de directives implica pensar les regles que gestionaran el funcionament del tallafoc. Consisteix bàsicament a:

  1. Identificar les màquines que tindran permís per accedir a determinats serveis.
  2. Identificar les característiques del trànsit de dades.
  3. Documentar el procés especificant el tractament de la informació per part del tallafoc.

La tasca de documentació és important. I és especialment important documentar el disseny de directives, encara que el tallafoc s’apliqui sobre una xarxa petita. Elaborar aquesta documentació facilitarà la detecció de problemes i incompatibilitats de la nostra gestió.

Un exemple de regles seria:

-A FORWARD -o eth0 -i eth1 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -i eth2 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -i eth3 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -i eth4 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -i eth5 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -i eth6 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -i eth7 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -i eth8 -d 192.168.0.8 -p tcp --dport 80 -j ACCEPT

Les línies de codi defineixen unes regles determinades. Abans d’inserir-les en el tallafoc ha calgut realitzar un treball previ de disseny. Aplicar regles de forma errònia pot causar greus problemes de funcionament a la xarxa.

Hi ha dos corrents bàsics en el disseny de directives: tallafocs amb perfils restrictius i tallafocs amb perfils permissius. Els tallafocs restrictius bloquegen els paquets que no coincideixen amb les regles. Els tallafocs permissius accepten els paquets que no coincideixen amb les regles. Quin perfil és millor? La resposta no és senzilla. A priori es podria considerar que una política restrictiva és més segura, però aquesta política pot no proporcionar la flexibilitat necessària per al funcionament normal de la xarxa.

Per començar a dissenyar directives es pot utilitzar una plantilla com la de la taula

Taula Plantilla exemple
Acció Interfície Estat TCP Protocol Origen PortO Destinació PortD Comentari
  • Acció: defineix l’acció a realitzar. Generalment els paquets es poden acceptar, rebutjar, eliminar o registrar.
  • Interfície: indica la interfície a la qual arriba un paquet entrant o la interfície a la qual es dirigeix un paquet sortint.
  • Estat: per a tallafocs que disposen d’estat (IPChains, per exemple, no en disposa), s’indica l’estat de la connexió. Genèricament aquest valor serà nova, establerta o relacionada.
  • TCP: identifica indicadors de TCP (Transmission Control Protocol). Poden ser-ho SYN o ACK.
  • Protocol: indica el protocol a tractar. Aquests poden ser TCP, UDP, ICMP o tots.
  • Origen: indica l’adreça IP origen del paquet. L’adreça 0.0.0.0 indica que s’accepta qualsevol adreça IP.
  • PortO: indica el port d’origen per als protocols TCP i UDP, però també el tipus de datagrama ICMP en el cas que es tracti d’un paquet ICMP.
  • Destinació: indica l’adreça IP de destinació del paquet. L’adreça 0.0.0.0 indica que s’accepta qualsevol adreça IP.
  • PortD: indica el port de destinació per als protocols TCP i UDP, però també el tipus de datagrama ICMP en el cas que es tracti d’un paquet ICMP.
  • Comentari: en aquesta columna es poden afegir comentaris per donar justificació o explicació a l’acció.
    La plantilla proposada és força genèrica i pot servir com a punt de partida, però finalment cada responsable de seguretat crearà la seva pròpia plantilla per tal d’ajustar-la a les seves necessitats.

La taula reflecteix la especificació de requisits següent: els usuaris interns podran accedir sempre a Internet, al servidor que allotja els cursos virtuals i al servidor de fotografies. Els usuaris externs només podran accedir al servidor que allotja els cursos virtuals.

Taula Quadre resum de directive
Acció Interfície Estat TCP Protocol Origen PortO Destinació PortD Comentari
Acceptar 0 Establerta Tots Tots La xarxa interna Tots Sortida Internet Tots Permetre l’accés a Internet
Acceptar 0 Establerta Tots Tots La xarxa interna Tots IP del servidor de cursos virtuals Tots Permetre l’accés al servidor de cursos virtuals
Acceptar 0 Establerta Tots Tots La xarxa interna Tots IP del servidor de fotografies Tots Permetre l’accés al servidor de fotografies
Acceptar 1 Establerta El que calgui El que calgui La xarxa externa Tots IP del servidor de cursos virtuals El que calgui Permetre l’accés al servidor de cursos virtuals
Negar 0 Tot Tot Tot Tot Tot Tot Tot Denegar tot el que no s’hagi permès abans
Negar 1 Tot Tot Tot Tot Tot Tot Tot Denegar tot el que no s’hagi permès abans

Quan es dissenyen directives cal tenir molt clar l’ordre en el qual s’escriuen, ja que si, per exemple, primer ho deneguem tot ja no podrem permetre res: haurem eliminat tot el trànsit.

En aquest punt caldrà realitzar una revisió del disseny abans d’entrar a la fase d’implementació. És molt important no cometre errors durant la fase de disseny. Tot error no detectat a temps pot afectar a la feina realitzada.

Implementació

La implementació del tallafoc consisteix a aplicar les directives dissenyades al tallafoc escollit. En aquest procés es duu a la pràctica la teoria desenvolupada en el disseny segons les possibilitats físiques reals del tallafoc.

L’esforç de la implementació se centra en configurar el tallafoc de tal manera que compleixi les directives dissenyades. En la figura es veu una porta gran i robusta amb un aspecte bastant agressiu. És el que instal·laríem a casa?

Figura No s’ha de confondre valor i preu. S’ha d’escollir el que la xarxa necessiti

El més important en aquesta fase és decidir quin tipus de tallafoc utilitzar. Decidides les directives caldrà escollir el programa o màquina tallafoc que permeti realitzar les accions dissenyades. En resum, les variables que ens ajudaran a seleccionar el tallafoc poden ser:

  • Funcions que el tallafoc ha de realitzar (bàsicament NAT, registre i control)
  • Estabilitat del tallafoc
  • Rendiment del tallafoc
  • Facilitat d’ús del tallafoc
  • Documentació disponible
  • Cost econòmic i tecnològic

Avaluant aquestes variables es podrà decidir justificadament quin tallafoc implementar.

Prova

En aquest a fase es prova si el disseny de directives ha estat el correcte i si la seva implementació en el tallafoc compleix els objectius.

No realitzar proves genera problemes

Són innumerables les ocasions en què un usuari inexpert instal·la un tallafoc i deixa sense accés a Internet a tots els usuaris d’una xarxa. Ha provat el tallafoc abans? Segurament no. Ha realitzat tots els passos que s’han de seguir en el procés d’implantació d’un tallafoc? Segurament tampoc.

Durant el procés de prova s’han de realitzar accions permeses i no permeses per comprovar la correcta resposta del tallafoc. A causa d’errors de disseny o d’errors d’implementació, un tallafoc pot treballar de forma incorrecta i permetre accions prohibides i denegar accions permeses.

Administració i manteniment

Una vegada dissenyat, implementat i provat un tallafoc, cal realitzar tasques d’administració i manteniment. La xarxa informàtica presenta moviments continus de dades i evolucions constants, i això justifica que el tallafoc s’hagi d’anar estudiant i millorant.

Val la pena dedicar una mica de temps a experimentar amb diverses aplicacions gratuïtes. La figura mostra l’aspecte de la pàgina inicial del programa Webmin, que simplifica molt la gestió d’un tallafoc i permet guanyar molt temps en els processos de configuració i seguiment d’esdeveniments de la xarxa.

Figura Pàgina inicial de Webmin

La lectura dels registres generats pel tallafoc ajudarà a comprovar els intents d’accions no permeses, i la continua revisió de les directives i l’actualització de versions, tant de programari com de maquinari, faran menys vulnerable el tallafoc.

Filtratge de paquets de dades

Per fer el filtratge dels paquets de dades cal veure amb una mica de detall com viatgen les dades. Els principals datagrames que es desplacen per la xarxa informàtica són datagrames IP, ICMP, UDP i TCP. No oblidem que els tallafocs filtren paquets, per tant, si volem extreure informació valuosa de les dades que ens acabarà retornant el tallafoc hem de ser capaços d’analitzar amb coneixement de causa aquesta informació.

Per estudiar els paquets que circulen per la xarxa és recomanable usar programes tipus Wireshark. En la figura apareix una imatge de la pantalla principal d’aquest programa quan està en funcionament.

Figura Captura amb Wireshark de tràfic de xarxa

Datagrames IP

Un datagrama IP (Internet Protocol) està format per dues parts: la capçalera i el cos. La capçalera està formada per sis paraules o més de 32 bits. Dins del cos hi ha el missatge, per exemple un missatge TCP/IP.

A la capçalera es pot trobar la informació següent:

  • Versió IP: són 4 bits que indiquen el número de versió del protocol IP. Tot i que actualment es treballa de forma habitual amb la versió 4 d’IP, ja fa temps que s’ha iniciat el canvi a la versió 6.
  • Longitud de capçalera: són 4 bits que indiquen la longitud de la capçalera. Per realitzar aquesta acció s’empren paraules de 32 bits, sent la longitud mínima d’una capçalera de 20 bytes.
  • Tipus de servei: són 8 bits que s’utilitzen per indicar si el datagrama ha de ser reenviat o s’ha de realitzar qualsevol altra acció.
  • Longitud de datagrama: són 16 bits que indiquen la longitud del datagrama IP en bytes. És important tenir en compte que aquesta longitud inclou la capçalera i el cos.
  • Identificador de paquet: són 16 bits que identifiquen a quin datagrama pertanyen els paquets d’informació.
  • Indicador de fragmentació: són 3 bits que indiquen si el datagrama està fragmentat o no. Aquest indicador s’utilitza sobretot per comprovar si tots els fragments del datagrama han arribat a la destinació quan es rep l’últim fragment.
  • Desplaçament de fragmentació: són 13 bits que s’utilitzen per indicar la posició del fragment dins del datagrama.
  • Temps de vida: són 8 bits que s’utilitzen per evitar que els datagrames circulin indefinidament dins d’una xarxa. Aquest valor decreix en una unitat cada vegada que el paquet travessa un encaminador. En arribar el valor zero, el paquet ja no es reenvia i es retorna un missatge d’error.
  • Protocol: són 8 bits que indiquen el tipus de dades contingut. Alguns exemples són 1 per ICMP, 6 per TCP o 17 per UDP.
  • Suma de comprovació: són 16 bits que s’utilitzen per comprovar la integritat de la capçalera. Aquest camp no indica res sobre la integritat del cos del missatge.
  • IP origen: són 32 bits que indiquen l’adreça IP de la màquina que ha enviat el datagrama.
  • IP destinació: són 32 bits que indiquen l’adreça IP de la màquina a qui va destinat el datagrama.
  • Opcions i farcit: es tracta d’un camp de longitud variable que pot indicar diferents opcions d’IP. S’ha d’omplir fins arribar a 32 bits.

Un datagrama es pot fragmentar en paquets d’informació. Tots els paquets d’informació que pertanyin a un mateix datagrama tindran el mateix identificador de paquet.

En la figura es mostra l’estructura d’un datagrama IP. Aquesta estructura s’acaba aprenent gairebé de memòria quan es realitza el filtratge de paquets que circulen per una xarxa.

Figura Capçalera d’un paquet IP ( www.cisco.com)

Datagrames ICMP

Els datagrames ICMP (Internet Control Message Protocol) s’utilitzen principalment per realitzar proves de xarxa o retornar codis d’error. Els datagrames ICMP no viatgen sols per la xarxa, sinó que són transportats dins del cos dels datagrames IP.

Dins d’un datagrama ICMP es pot trobar la informació següent:

  • Tipus de missatge: són 8 bits que indiquen el tipus de missatge ICMP.
  • Codi de missatge: són 8 bits que s’utilitzen per proporcionar informació detallada del tipus de missatge ICMP.
  • Comprovació de suma: són 16 bits que s’utilitzen per comprovar la integritat del missatge ICMP.
  • Dades ICMP: té una longitud variable i el seu contingut variarà segons el tipus de missatge.

Per a més informació sobre els datagrames ICMP consulteu l’RFC 792.

Alguns dels tipus de missatge que existeixen són:

  • 0: resposta ECO.
  • 3: no es pot arribar a la destinació.
  • 4: s’ha arribat a la destinació.
  • 5: redireccionament.
  • 8: ECO.
  • 11: temps de vida esgotat.
  • 12: problema amb algun paràmetre.
  • 13: data i hora.
  • 14: resposta de data i hora.
  • 15: sol·licitud d’informació.
  • 16: resposta d’informació.

Alguns codis de missatge són:

  • 0: no es pot arribar a la xarxa.
  • 1: no es pot arribar a la màquina de destinació.
  • 2: protocol inassolible.
  • 3: port inassolible.
  • 4: és necessari fragmentar la informació.
  • 5: error en la ruta d’origen.

En la figura es mostra l’estructura d’un datagrama ICMP. Com es pot observar, va precedit per la capçalera IP.

Figura Capçalera d’un datagrama ICMP

Datagrames UDP

Els datagrames UDP s’utilitzen principalment en protocols com DHCP, BOOTP o DNS. El protocol UDP (User Datagram Protocol), situat a la capa 4 del model OSI, permet l’enviament de datagrames sense haver establert connexió prèviament. Això és possible ja que el protocol UDP conté a la capçalera tota la informació necessària per realitzar l’adreçament. Els datagrames UDP no viatgen sols per la xarxa, sinó que són transportats dins del cos dels datagrames IP. Aquest protocol no treballa amb confirmació d’entrega ni de recepció, ni es preocupa de controlar el flux del trànsit. Treballant amb UDP els paquets que es transmeten poden arribar de forma desordenada a la destinació i allà s’hauran d’ordenar correctament.

Dins d’un datagrama UDP es pot trobar la informació següent:

  • Port d’origen: són 16 bits que indiquen quin és el port origen del datagrama.
  • Port de destinació: són 16 bits que indiquen quin és el port de destinació del datagrama.
  • Longitud del datagrama: són 16 bits que indiquen la longitud en bytes del datagrama. Aquest valor és el total de sumar la capçalera i les dades del datagrama UDP.
  • Suma de comprovació: són 16 bits que indiquen la integritat de la capçalera IP, la capçalera UDP i les dades UDP.
  • Dades UDP: és de longitud variable segons les necessitats.

La figura mostra l’estructura d’un datagrama UDP.

Figura Capçalera d’un datagrama UDP

La comunicació entre entre aplicacions per UDP requereix l’ús de ports. Els ports possibles per al protocol UDP són els que van del 0 al 65535.

La raó per la qual els ports vàlids per al protocol UDP van del 0 al 65535 és que a l’estructura del paquet UDP es dediquen 16 bits per marcar aquest valor. I 216 = 65535.

Si per exemple es necessita emetre veu o imatge generalment s’utilitzarà el protocol UDP. Treballant amb UDP es prioritza la velocitat a la generació d’errors o a la pèrdua d’informació.

Datagrames TCP

Els datagrames TCP (Transport Control Protocol) s’utilitzen principalment en la comunicació entre equips de xarxa on s’ha de garantir el lliurament de dades de manera ordenada i sense errors. Els datagrames TCP no viatgen sols per la xarxa, sinó que són transportats dins del cos dels datagrames IP.

Dins d’un datagrama TCP es pot trobar la informació següent:

  • Port d’origen: són 16 bits que indiquen el port origen del datagrama.
  • Port de destinació: són 16 bits que indiquen el port de destinació del datagrama.
  • Número de seqüència: són 32 bits que indiquen la posició del datagrama dins del grup de dades. Aquest número serveix per acoblar els datagrames quan arribin a la destinació en ordre i detectar si s’ha produït algun error.
  • Número de reconeixement: són 32 bits que s’utilitzen per informar al receptor del datagrama que el remitent ha processat els datagrames anteriors. Aquest camp s’utilitza per garantir el lliurament dels datagrames.
  • Desplaçament de dades: són 4 bits que indiquen la mida de la capçalera TCP. Aquesta quantitat es mesura en paraules de 32 bits.
  • Indicadors TCP: són 8 bits que s’utilitzen per indicar diferents condicions i esdeveniments.
  • Finestra: són 16 bits que s’utilitzen per sincronitzar la comunicació entre equips que tenen diferents velocitats de dades.
  • Suma de comprovació: són 16 bits que s’utilitzen per comprovar la integritat de la capçalera i les dades.
  • Punter urgent: són 16 bits que s’utilitzen quan l’indicador URG està establert.
  • Dades: és de longitud variable i conté les dades.

A la taula es mostren alguns dels indicadors i la seva descripció.

Taula Indicadors TCP
Posició del bit Indicador Descripció
0 SYN Indica l’inici d’una connexió TCP.
1 ACK El número de reconeixement indica el número de seqüència dels proper byte de dades.
2 RST Indica que el remitent ha interromput la connexió.
3 PSH Indica que el receptor ha de permetre que les dades siguin disponibles per a la capa d’aplicació.
4 URG Identifica dades que s’han de processar urgentment.
5 FIN Indica que el remitent ha completat la comunicació i procedirà a tancar la connexió.
6-7 RES En determinades ocasions s’utilitza per indicar que la xarxa està congestionada.

El protocol TCP l’utilitzen protocols com HTTP, SMTP, SSH o FTP. A més és emprat per navegadors, programes d’intercanvi de fitxers o clients FTP.

En la figura es mostra l’estructura d’un datagrama TCP.

Figura Capçalera d’un datagrama TCP

Quan s’estableix una comunicació entre una aplicació emissora i una aplicació receptora és necessari assignar com a mínim un número de port vàlid a cada extrem. Els ports possibles per al protocol TCP són els que van del 0 al 65535.

La raó per la qual els ports vàlids per al protocol TCP van del 0 al 65535 és que a l’estructura del paquet TCP es dediquen 16 bits per marcar aquest valor. I 216 = 65535.

Instal·lació del tallafoc. Ubicació

La decisió d’instal·lar o no un tallafoc no comporta grans maldecaps. En la majoria d’ocasions la resposta és clara: sí, necessites instal·lar un tallafoc. El que no és tan evident és on s’ha d’instal·lar el tallafoc.

Una xarxa informàtica segueix una arquitectura de disseny i una norma d’implementació on cada component està ubicat on pertoca. No es tracta d’endollar aparells a la xarxa i esperar que facin la seva tasca. Caldrà analitzar on s’haurà d’ubicar el tallafoc dins la xarxa perquè aquest sigui més efectiu.

Existeixen una sèrie d’arquitectures força comunes que han estat provades a bastament, la qual cosa ens proporciona una valuosa informació sobre els seus avantatges i inconvenients. Es comenten tres arquitectures: el tallafoc d’encaminador, el tallafoc d’una única màquina i el tallafoc de múltiples màquines.

Tallafoc d'encaminador

Aquesta és possiblement l’arquitectura de tallafoc més simple que hi ha. Es tracta d’aprofitar les característiques d’un encaminador per realitzar tasques de tallafoc. Un encaminador s’encarrega de reenviar paquets seguint una política, i reenviar paquets es pot considerar una forma molt simple de filtrar paquets pensant en la protecció de la xarxa.

En la figura es pot observar una xarxa a la qual accedeixen diversos dispositius però no s’observa cap tallafoc. Això no vol dir que no hi sigui, ja que l’encaminador segurament estigui realitzant tasques de tallafoc.

Un estudiant de xarxes veurà de seguida que aquesta arquitectura no és gaire potent, ja que el filtratge consisteix a analitzar únicament les adreces IP. Però no hi ha cap dubte que és una solució barata, senzilla i eficaç fins a cert nivell, a part d’estar a l’abast de tot usuari que usi un encaminador.

Las raons que ens fan descartar l’ús d’aquesta arquitectura són bàsicament tres:

  • No és una arquitectura flexible.
  • Les màquines públiques i privades comparteixen xarxa.
  • La defensa té una greu manca de profunditat.

La falta de flexibilitat d’aquesta arquitectura està condicionada per les característiques de l’encaminador. Un encaminador que només faci reenviament de paquets no es pot programar per bloquejar o acceptar paquets en funció dels ports que s’utilitzin. Tot el que s’ofereixi a la part interna de la xarxa quedarà exposat a l’exterior.

Figura Xarxa amb encaminador

Quan les màquines públiques i privades comparteixen una mateixa xarxa, la seguretat de la part privada es veu compromesa. Des d’una màquina pública es possibilita l’accés sense limitacions a la part privada.

Quan es parla de manca de profunditat fa referència a que només es proporciona una capa de seguretat. Si algun intrús supera l’encaminador, la xarxa queda completament oberta, sense cap altra mesura defensiva.

Llistes d'accés de Cisco

Les llistes d’accés per filtrar adreces IP i filtrar el trànsit d’una xarxa es poden aplicar en alguns dels sistemes operatius de Cisco.

Les llistes d’accés són conegudes popularment com ACL (Access Control List).

Hi ha diversos conceptes que s’han de tenir clars per poder treballar amb ACL. L’ús de llistes d’accés està molt estès i amb raó, ja que és un mecanisme molt pràctic. Però corre la idea errònia de que les ACL són molt complexes i difícils d’entendre. Segurament el més difícil d’entendre són les màscares que s’utilitzaran. La màscara es pot utilitzar com:

  • Màscara revertida
  • ACL de sumari
  • ACL de sumari parcial

1) Màscara revertida: s’utilitza amb les adreces de xarxa per especificar què es permet i què es denega. Les màscares s’inicien amb el valor 255 per especificar tot un segment de xarxa i van decreixent segons les restriccions. Les màscares que s’utilitzen en ACL no són exactament les màscares de xarxa que habitualment s’utilitzen en el disseny de xarxes. Les màscares que s’utilitzen en ACL s’anomenen màscares revertides, màscares inverses o màscares wildcard. Si es tradueix el valor de la màscara a codi binari, el resultat determina quines adreces són les que s’han de tenir en compte en el processament de trànsit. Els zeros indiquen que l’adreça ha de ser considerada, i els uns, que “tant se val”. Per determinar la màscara revertida es pot restar a la màscara 255.255.255.255 la màscara de xarxa corresponent.

Exemple de màscara revertida

  1. Es disposa de l’adreça de xarxa 192.168.0.0 amb màscara de xarxa 255.255.255.0 i amb la màscara revertida 0.0.0.255.
  2. Es tradueix 192.168.0.0 a binari:
    11000000.10101000.00000000.00000000
  3. Es tradueix 0.0.0.255 a binari:
    00000000.00000000.00000000.11111111
  4. Els tres primers octets de la màscara revertida indiquen que s’han d’agafar exactament els valors de l’adreça IP (192.168.0.).
  5. L’últim octet de la màscara wildcard indica que “tant se val” el valor dels últims vuit octets. Això vol dir que es processarà qualsevol adreça de xarxa que vagi de la 192.168.0.1 a la 192.168.0.255.
  6. Per trobar la màscara revertida que s’ha utilitzat només cal restar a la màscara 255.255.255.255 la màscara de xarxa corresponent, que en aquest cas és 255.255.255.0, sent el resultat 0.0.0.255.

2) ACL de sumari: es pot fer un sumari d’un conjunt de subxarxes que es vegin afectades per una ACL. En comptes d’escriure una ACL per a cada subxarxa a tractar es pot fer una ACL que aglutini el màxim de subxarxes.

Exemple d'ACL de sumari

Es desitja dissenyar una ACL que cobreixi les subxarxes següents:

  • 192.168.80.0/24
  • 192.168.81.0/24
  • 192.168.82.0/24
  • 192.168.83.0/24

Es pot veure que l’únic octet diferent a tots els casos és el tercer (té els valors 80, 81, 82 i 83) i per això serà el que utilitzem per calcular la máscara revertida.

Passem a binari l’octet que canvia (que en aquest cas és el tercer):

  • 80 → 01010000
  • 81 → 01010001
  • 82 → 01010010
  • 83 → 01010011

Per determinar la wildcard cal detectar els bits que mai canvien i els que sí canvien. En aquest cas els sis primers bits no canvien i els últims dos sí.

A més, es pot observar que els valors que canvien són tots els possibles valors que es poden obtenir amb dos bits (0, 1, 2, 3 i 4).

Tant se val quin valor tinguin els dos últims bits d’aquest tercer octet, i això és així perquè tots els possibles valors estan contemplats. Això es tradueix en que la màscara revertida serà 00000011 o, el que és el mateix, 3.

El valor complet de la màscara revertida que cobreix aquestes quatre subxarxes és 0.0.3.255.

La línia completa que definiria l’ACL seria:

access-list acl_permetre permit ip 192.168.80.0 0.0.3.255

Utilitzar /24 és el mateix que utilitzar 255.255.255.0 i el que indica és que la màscara té vint-i-quatre uns: 11111111.11111111.
11111111.00000000

3) ACL de sumari parcial: en determinats casos no es pot realitzar un sumari que englobi totes les subxarxes a tractar i caldrà fer-ho per parts.

Exemple d'ACL de sumari parcial

Es desitja dissenyar una ACL que cobreixi les següents subxarxes:

  • 192.168.86.0/24
  • 192.168.87.0/24
  • 192.168.88.0/24
  • 192.168.89.0/24

Es pot veure que l’únic octet diferent a tots els casos és el tercer (té els valors 86, 87, 88 i 89) i per això serà el que utilitzem per calcular la màscara revertida. Passem a binari l’octet que canvia (el tercer):

  • 86 → 01010110
  • 87 → 01010111
  • 88 → 01011000
  • 89 → 01011001

Per determinar la màscara revertida caldrà detectar els bits que mai canvien i els que sí canvien. En aquest cas els quatre primers bits no canvien i els últims quatre sí.

En aquest cas es detecta que no apareixen tots els possibles valors que es poden generar amb tres bits: només es treballa amb 0110, 0111, 1000 i 1001.

Si no estan contemplats tots els valors cal dividir la màscara revertida. Es pot observar que l’única diferència entre les dues primeres subxarxes és l’últim bit:

  • 86 → 01010110
  • 87 → 01010111

Això permet establir la wildcard 0.0.1.255. La línia completa que definiria l’ACL seria:

access-list acl_permetre permit ip 192.168.86.0 0.0.1.255

En el cas de les dues últimes subxarxes també és l’últim bit el que canvia:

  • 88 → 01011000
  • 89 → 01011001

Això permet establir la màscara revertida 0.0.1.255. La línia completa que definiria l’ACL seria:

access-list acl_permetre permit ip 192.168.88.0 0.0.1.255

El funcionament de les ACL és molt simple: quan el trànsit de xarxa entra a l’encaminador es compara amb les llistes d’accés que l’encaminador té configurades. Val a dir que les ACL estan ordenades i es llegeixen en ordre. L’encaminador compara el trànsit amb totes les regles fins que troba alguna que coincideix amb les característiques del trànsit. Si es dóna el cas de que no coincideix el trànsit amb cap regla de la llista se li denega el pas.

L’ACL següent permet el trànsit que surt de qualsevol equip que pertany a la xarxa 192.168.0.0 i que vagi a qualsevol equip de la xarxa 192.168.1.0, i la resta de trànsit es denega.

access-list 101 permit ip 192.168.0.0 0.0.0.255 192.168.1.0 0.0.0.255

I el cas següent té el mateix resultat, però s’indica en dos passos: primer s’indica el trànsit permès i a continuació s’especifica que la resta de trànsit s’ha de denegar.

access-list 102 permit ip 192.168.0.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 102 deny ip any any

Les ACL es poden utilitzar per filtrar el trànsit d’una forma més concreta. Per exemple la línia següent permetria el trànsit Telnet entre una màquina amb adreça de xarxa 192.168.1.26 i una altra màquina amb adreça de xarxa 192.168.0.5. Cal destacar que per indicar una màquina concreta es pot utilitzar l’etiqueta host i evitar d’aquesta manera utilitzar màscares revertides.

access-list 101 permit tcp host 192.168.1.26 host 192.168.0.5 eq telnet

Si no volem ser tant estricte podem permetre qualsevol tipus de trànsit TCP:

access-list 101 permit tcp host 192.168.1.26 host 192.168.0.5

O de trànsit UDP:

access-list 101 permit tcp host 192.168.1.26 host 192.168.0.5

El tractament de diferents protocols a nivell de subxarxa segueix el mateix procediment. Per permetre el trànsit IP entre dues subxarxes hem d’escriure:

access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.0.0 0.0.0.255

Denegació total

Les ACL només tenen efecte si s’apliquen a les interfícies d’un encaminador. També cal recordar que una llista d’accés té una denegació total de forma implícita al final del llistat.

Un altre conjunt de conceptes bàsics per entendre i aplicar les ACL són els que indiquen si el trànsit a tractar és d’entrada o sortida o si el que s’estudia és l’origen d’aquest trànsit o bé la seva destinació:

  • In: fa referència al trànsit que arriba a la interfície de l’encaminador i que provarà de travessar-lo. L’origen del paquet és la procedència del paquet i la destinació és on vol anar una vegada travessi l’encaminador.
  • Out: fa referència al trànsit que ha travessat l’encaminador i surt per una de les seves interfícies. En aquest cas l’origen és la procedència del trànsit (fora de l’encaminador) i la destinació és cap a on va aquesta informació.
  • Inbound: l’encaminador analitza el paquet d’informació que rep. Si el paquet és permès es continuarà processant el paquet. Si aquest paquet no és permès es descartarà.
  • Outbount: després de rebre i encaminar el paquet cap a la interfície correcta, l’encaminador analitza el paquet i el compara amb el llistat d’ACL. Si el paquet és permès es transmet. Si el paquet no és permès es descarta.

Tallafoc d'una màquina

Implementar un tallafoc en una màquina té el gran avantatge de permetre separar la xarxa protegida en dues subxarxes:

  • Una xarxa privada interna.
  • Una xarxa perimetral, coneguda popularment com a zona desmilitaritzada (DMZ).

Són possibles dues arquitectures quan s’ubica un tallafoc en una màquina:

  • Arquitectura de tallafoc exposat.
  • Arquitectura de tallafoc d’apantallament.

En una arquitectura de tallafoc exposat, la xarxa privada interna està protegida pel tallafoc, que pot filtrar i reenviar els paquets que circulen en ambdós sentits: cap a la xarxa perimetral i cap a la xarxa privada interna. En la figura es pot observar que a la xarxa perimetral s’hi han ubicat els servidors públics per tal d’aïllar-los dels servidors privats i dels clients interns de la xarxa. Si la xarxa pateix un atac cap a un servidor públic, la xarxa privada interna no patirà un perill immediat.

Figura Tallafoc exposat

El perill més gran que presenta l’arquitectura de tallafoc exposat és l’exposició dels servidors públics. Aquests han de disposar d’un reforç especial en les seves configuracions per tal de resistir atacs.

En moltes ocasions s’assigna als servidors públics que veuen reforçada la seva seguretat el nom d’equips bastió.

L’arquitectura de tallafoc d’apantallament és similar a la de tallafoc exposat, la gran diferència és que els servidors públics se situen darrere del tallafoc, com es pot veure en la figura. Aquesta acció redueix la vulnerabilitat dels atacs. En aquest cas, però, existeix el risc que si un servidor públic és atacat, la xarxa privada interna es veu compromesa.

Figura Tallafoc apantallat

Són avantatges de les dues arquitectures que:

  • Tot i ser més cares que el tallafoc d’encaminador continuen sent barates.
  • Ofereixen més flexibilitat que el tallafoc d’encaminador.
  • Les màquines privades estan protegides pel tallafoc.

Un avantatge de l’arquitectura de tallafoc d’apantallament respecte al tallafoc exposat és que els servidors públics també estan protegits pel tallafoc.

Són inconvenients de les dues arquitectures que es tracta d’una defensa vulnerable que només depèn del tallafoc.

Un inconvenient del tallafoc exposat és que els servidors públics són vulnerables.

Un inconvenient del tallafoc d’apantallament és que els equips de la xarxa d’àrea local (LAN) són vulnerables si un servidor públic es veu compromès.

Tallafoc de múltiples màquines

En determinades circumstàncies, amb una única màquina dedicada a funcions de tallafoc la xarxa continua exposada a vulnerabilitats. En aquests casos és interessant utilitzar tallafoc de múltiples màquines.

Un tallafoc de múltiples màquines consisteix a utilitzar més d’un equip per protegir les màquines de la xarxa, la qual cosa proporciona una major seguretat.

Existeixen dues arquitectures de tallafoc de múltiples màquines: el tallafoc de xarxa apantallada i el tallafoc de tres direccions.

Figura Tallafoc de xarxa apantallada

La figura mostra un exemple de tallafoc de xarxa apantallada, on s’utilitzen un tallafoc interior, conegut com a tallafoc d’obstrucció, i un tallafoc exterior, conegut com a tallafoc de porta d’enllaç. El tallafoc d’obstrucció separa la xarxa privada interna de la xarxa perimetral. El tallafoc de porta d’enllaç separa la xarxa perimetral de la xarxa pública externa.

Cal destacar que la diferència entre un tallafoc exposat i un tallafoc de xarxa apantallada és la substitució de l’encaminador per un segon tallafoc. Aquest segon tallafoc protegeix els servidors públics de les amenaces externes.

L’arquitectura de tallafoc de xarxa apantallada protegeix els servidors públics i les màquines privades i ofereix una defensa estructurada en diverses capes. L’inconvenient que presenta, però, és que resulta més car que les arquitectures que utilitzen una sola màquina.

El tallafoc de tres direccions fa seus els avantatges del tallafoc de xarxa apantallada i els de les arquitectures d’una màquina. És una única màquina amb tres targetes de xarxa: una per a la xarxa pública externa, una per a la xarxa perimetral i una última per a la xarxa privada interna.

Figura Tallafoc de tres direccions

L’arquitectura de tallafoc de tres direccions, tal com es pot observar en la figura, assegura que els servidors públics i les màquines privades estaran protegits per un tallafoc, la defensa es continua estructurant en diverses capes i la implantació és més barata que en el cas de l’arquitectura en xarxa apantallada. Aquesta arquitectura continua sent més cara que una arquitectura d’una sola màquina, ja que l’equip que s’utilitza de tallafoc ha de tenir almenys tres targetes de xarxa i la seva configuració i administració és més complexa que l’arquitectura de xarxa apantallada.

Altres arquitectures

Figura Tallafoc de xarxa apantallada dividida

Amb el decurs del temps les necessitats de seguretat de les xarxes van demanant solucions que no s’ajusten exactament a les arquitectures bàsiques d’una màquina o de múltiples màquines. Així, sorgeixen arquitectures modelades segons circumstàncies molt particulars. A continuació s’enumeren algunes de les arquitectures més populars.

  • Arquitectura de xarxa apantallada dividida: consisteix a utilitzar una arquitectura de xarxa apantallada i substituir els servidors públics per servidors públics amb dues targetes de xarxa. En aquest, com es pot observar en la figura, s’utilitzen els servidors públics com a capa de defensa per als servidors privats. El servidor públic fa d’enllaç entre les xarxes perimetrals.
  • Arquitectura de xarxa apantallada múltiple: consisteix a utilitzar una arquitectura de xarxa apantallada dividida i utilitzar més d’un equip entre les xarxes perimetrals.
  • Arquitectura de tallafoc empresarial: consisteix a afegir redundància des de la xarxa privada interna a les xarxes públiques externes. Tot i que aquesta arquitectura està clarament basada en una arquitectura de xarxa apantallada, el nivell de seguretat és enorme.

Regles de filtratge del tallafoc

Per una xarxa hi circulen paquets d’informació. A l’inici del paquet s’indica la destinació, qui l’ha enviat, de quin tipus de paquet es tracta… A aquesta part del paquet l’anomenem capçalera.

La capçalera se situa a l’inici del bloc d’informació del paquet i conté dades suplementàries necessàries per a la correcta gestió del bloc d’informació.

Filtrar paquets consisteix a analitzar la capçalera del paquet i decidir la destinació de tot el paquet analitzat.

Quan es fa un filtratge es pot denegar el paquet, acceptar-lo o bé rebutjar-lo. Denegar un paquet consisteix a eliminar-lo i tractar-lo com si mai hagués estat rebut. Acceptar un paquet consisteix a deixar-lo passar cap al següent punt del camí. I rebutjar un paquet consisteix a eliminar el paquet i avisar l’emissor que el paquet s’ha eliminat.

Filtrar paquets aporta seguretat, control i vigilància sobre la xarxa informàtica. Aporta seguretat perquè permet restringir el trànsit que arriba a la xarxa. Permet control sobre el trànsit intern de la xarxa. I permet rebre avisos quan algun aspecte de la xarxa interna no funciona correctament.

Hi ha molts exemples de tallafocs, però és important estudiar els casos d’IPChains i IPTables per entendre millor les regles de filtratge.

Filtratge amb IPChains

IPChains és un tallafoc escrit en llenguatge C que requereix un nucli Linux. Aquest tallafoc va ser molt popular fins l’any 2000, moment en què va ser substituït per IPTables.

IPChains filtra paquets sense estat, dóna suport a emmascarament IP, el NAT que suporta és limitat, permet realitzar un registre de paquets i s’executa des de línia d’ordres.

NAT

Network Address Translation, és un sistema que permet assignar una xarxa completa (o més d’una) a una única adreça IP.

És interessant d’estudiar, perquè està basat en tres llistes de regles bàsiques en tallafocs posteriors: entrada (input), sortida (output) i reenviament (forward).

El funcionament del filtratge segueix l’esquema mostrat en la figura.

Figura Esquema de funcionament d’IPChains

Quan un paquet entra en el sistema, per exemple utilitzant una targeta de xarxa, utilitza la cadena entrada per decidir la destinació. Si el paquet no s’ha d’eliminar es decideix on enviar el paquet. Si la destinació és una altra màquina es consulta la cadena reenviament. Tot just abans de que el paquet surti del sistema es consulta la cadena sortida.

Una cadena és una llista de regles. Cada regla defineix el que s’ha de fer depenent de l’encapçalament del paquet. Si la regla no es pot relacionar amb el paquet es passa a mirar la següent regla a la cadena. Si no hi ha més regles a comprovar, el nucli mira la política de la cadena per decidir què fer.

Quan es fa la comparació entre una regla i un paquet, les característiques del paquet poden coincidir o no amb el que especifica la regla. En el cas que coincideixin es realitza l’acció associada a la regla.

IPChains proporciona filtrat de paquets sense estat. Això provoca que s’acceptin les connexions entrants als ports registrats, sense tenir en compte de l’origen dels paquets.

IPChains és vulnerable a exploracions que tinguin establert l’indicador TCP ACK.

Amb IPChains no és possible impedir que programes maliciosos escoltin i acceptin connexions entrants.

Les regles d’IPChains especifiquen característiques del paquet. Es tracta de comparar les característiques del paquet amb la regla i comprovar si coincideixen o no. Treballant amb IPChains es poden comparar les característiques següents:

  • La interfície de la xarxa associada.
  • L’adreça IP d’origen.
  • L’adreça IP de destinació.
  • El protocol.
  • Els ports d’origen o de destinació.
  • Si el paquet és un datagrama TP o UDP.
  • Si el missatge és ICMP, de quin tipus o codi és.
  • Els indicadors IP.

Un exemple de regla IPChains podria ser denegar qualsevol paquet que arribi a la interfície pública eth0 i que tingui una adreça de la nostra xarxa interna (192.168.0.0):

-A input -i eth0 -s 198.168.0.0/24 -j DENY

També es podria negar qualsevol paquet que arribi a la interfície pública eth0 i que tingui assignada una adreça de loopback:

-A input -i eth0 -s 127.0.0.0/8 -j DENY

Per acceptar tots els paquets TCP de sincronisme dels protocols SMTP d’una màquina amb adreça de xarxa 192.168.0.15, HTTP i SSH:

-A input -s 0/0 -d 198.168.0.15/32 25 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 80 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 22 -p tcp -y -j ACCEPT

Per permetre accedir a un servidor FTP:

-A input -s 0/0 -d 0/0 20 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 21 -p tcp -y -j ACCEPT

Per permetre totes les entrades per la interfície eth0 i loopback:

-A input -s 0/0 -d 0/0 -i eth0 -j ACCEPT
-A input -s 0/0 -d 0/0 -i lo -j ACCEPT

Per no permetre trànsit UDP o TCP:

-A input -s 0/0 -d 0/0 -p udp -j DENY
-A input -s 0/0 -d 0/0 -p tcp -y -j DENY
Camí que segueixen els paquets amb IPChains

IPChains estableix una sèrie de passos per processar un paquet. Alguns d’aquests passos poden contenir filtres capaços de bloquejar un paquet. Els passos són:

  1. Interfície d’entrada: aquesta és la interfície a la qual arriba el paquet entrant. Un tallafoc pot tenir més d’una interfície de xarxa, per tant caldrà tenir molt clara la interfície amb la qual treballar.
  2. Suma de comprovació: es verifica la comprovació de suma del paquet que entra. Si el valor resultant no es vàlid, s’anota una entrada en el registre del tallafoc i el paquet s’elimina.
  3. Malformació de paquet: es comprova la capçalera del paquet. Si es detecta qualsevol anomalia, s’anota una entrada en el registre del tallafoc i el paquet s’elimina.
  4. Cadena d’entrada (input): aquest és el primer pas de processament definit per l’usuari. És aquí on s’especificaran les proves a les quals es veuran sotmesos els paquets.
  5. Connexió emmascarada: es comprova si el paquet que entra està associat a una connexió emmascarada. IPChains és capaç de modificar l’adreça de destinació verdadera.
  6. Destinació local primera: es comprova si l’adreça de destinació del paquet que ha entrat és el mateix tallafoc.
  7. Procés local: un procés que s’executa al tallafoc.
  8. Cadena de reenviament (forward): aquest és el segon pas de processament definit per l’usuari. Els paquets que no estan emmascarats i que no tenen com a destinació el tallafoc passen per aquí. S’utilitza la cadena de reenviament per especificar si els paquets estan autoritzats o no per viatjar d’una xarxa a una altra.
  9. Cadena de sortida (output): aquest és el tercer pas de processament definit per l’usuari. Els paquets generats per un procés local o que arriben al tallafoc i tenen com a destinació una màquina diferent al tallafoc han de passar per aquí. S’utilitza la cadena de sortida per indicar si els paquets estan autoritzats o no a sortir del tallafoc.
  10. Destinació local segona: si la destinació del paquet és la màquina local, s’envia el paquet al punt anterior de la ruta; si no és el cas, el paquet s’envia per la interfície de xarxa adient.
  11. Interfície de sortida: es tracta d’una interfície de xarxa i és per aquí per on sortiran els paquets en busca la seva destinació.
Estructura d'IPChains

Abans de dissenyar una regla IPChains cal estudiar-ne l’estructura, que és:

  1. Nom de l’ordre: el nom de l’ordre no és altre que ipchains.
  2. Operació de la regla: una regla es pot afegir (-A), inserir (-I) o eliminar (-D). És molt important l’ordre en què s’afegeixen les regles, ja que aquestes s’avaluen en ordre seqüencial. Quan s’afegeix una regla aquesta se situa darrere de l’última regla establerta. Quan s’insereix una regla se situa davant de les regles ja existents. Per eliminar una regla s’han d’identificar les especificacions que coincideixin amb la regla a eliminar.
  3. Característiques del paquet: són característiques del paquet la interfície, l’adreça IP d’origen, l’adreça IP de destinació, el protocol, els ports, el tipus i codi ICMP i els indicadors TCP/IP.
  4. Acció de la regla: hi ha quatre tipus d’accions: ACCEPT, REJECT, DENY i RETURN.

Podeu veure un resum a la taula.

Taula Resum de l’estructura d’IPChains
Operació de la regla Acció de la regla
-A ACCEPT
-I REJECT
-D DENY; RETURN
Operació de regla en IPChains

Les operacions de regla que ofereix el tallafoc IPChains són tres: afegir, inserir i eliminar:

  • Afegir: consisteix a posar una regla al final de la cadena de regles ja existent. És molt important tenir en compte que les regles s’executen en l’ordre en què han estat afegides. Per realitzar l’operació caldrà indicar-ho amb -A:
    ipchains -A input -p tcp -d 192.168.0.1 –dport 25 -j ACCEPT
  • Inserir: consisteix a posar una regla a la primera posició de la cadena de regles ja existent. Per realitzar l’operació caldrà indicar-ho amb -I:
    ipchains -I input -p tcp -d 192.168.0.1 –dport 25 -j ACCEPT
  • Eliminar: consisteix a esborrar una regla existent. Les especificacions han de coincidir amb la regla. Per realitzar l’operació caldrà indicar-ho amb -D:
    ipchains -D input -p tcp -d 192.168.0.1 –dport 25 -j ACCEPT

Per llistar les regles que té establertes el tallafoc s’ha d’utilitzar l’indicador -L:

# ipchains -L input
Resum d'operacions amb IPChains

A continuació es llisten els diferents indicadors que es poden utilitzar amb l’ordre ipchains:

  • -A: afegir una regla a la cadena.
  • -D: esborrar una regla de la cadena.
  • -d: adreça IP de destinació.
  • –dport: adreça del port de destinació.
  • -F: buidar una cadena.
  • -f: indicador fragmentar establert.
  • -I: inserir una regla a la cadena.
  • -i: nom de la interfície.
  • –icmp-type: nom de tipus ICMP.
  • -j: saltar a una acció.
  • -L: llistar les regles.
  • -l: registrar el paquet.
  • -n: llistar números de port i adreces IP.
  • -P: establir la directiva predeterminada de la cadena.
  • -s: adreça IP d’origen.
  • –sport: port d’origen.
  • –syn: indicador SYN establert.
  • -v: incloure detalls a la llista de regles.

Exemple de tallafoc amb IPChains

  1. Denegar qualsevol paquet que entri a la interfície pública eth0 amb una adreça de xarxa que pertany a la xarxa local (això indicaria que un usuari extern s’ha apropiat d’una adreça local i intenta entrar-hi il·lícitament).
  2. Afegir al cas anterior aquells intents d’accés amb adreces de xarxa de loopback (xarxa 127.0.0.0).
  3. Acceptar tots els paquets SYN relacionats amb protocols HTTP i SSH.
  4. Permetre totes les entrades de la xarxa interna i les interfícies locals.
  5. Denegar la resta de sol·licituds de connexió UDP i TCP.

I les regles serien les següents, tenint en compte que la xarxa local és 192.168.0.0/24:

-A input -i eth0 -s 198.168.0.0/24 -j DENY
-A input -i eth0 -s 127.0.0.0/8 -j DENY
-A input -s 0/0 -d 0/0 80 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 22 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 -i eth1 -j ACCEPT
-A input -s 0/0 -d 0/0 -i lo -j ACCEPT
-A input -s 0/0 -d 0/0 -p udp -j DENY
-A input -s 0/0 -d 0/0 -p tcp -y -j DENY

Filtratge amb IPTables

IPTables és un tallafoc que requereix un nucli basat en Linux per poder-se executar. El seu ús està molt estès i se’l considera el substitut d’IPChains, tot i que en ocasions se’ls pot trobar treballant en equip (IPTables en primera línia de defensa i IPChains en segona línia).

IPTables filtra paquets amb estat, dona suport a emmascarament IP, a NAT d’origen i de destinació, permet realitzar un registre de paquets i s’executa des de línia d’ordres, tot i que hi ha aplicacions gràfiques que ho poden evitar.

Les regles del tallafoc estan a nivell de nucli, i és el nucli el que ha de decidir què fer amb els paquets d’informació que li arriben.

La figura mostra esquemàticament el procés que segueix un paquet inspeccionat per IPTables.

Figura Camí que segueixen els paquets a IPTables

En la figura es pot veure que treballant amb IPTables els paquets poden seguir camins diferents, depenent de l’origen i de la destinació. L’ordre que se segueix és:

  1. mangle prerouting: aquesta és la primera cadena que travessen els paquets que arriben al tallafoc. Normalment no s’inclouen regles, per tant, els paquets passen directament a la cadena següent.
  2. nat prerouting: aquesta cadena la travessen tots els paquets que arriben al tallafoc. Aquí es poden incloure regles que modifiquin l’adreça IP de destinació o el port de destinació del paquet.
  3. Camí: en aquest pas es classifiquen els paquets segons la destinació. Tots aquells paquets que portin una adreça IP de destinació coincident amb una de les interfícies del tallafoc s’enviaran a filter input, i la resta s’enviaran a filter forward.
  4. filter forward: aquesta cadena té per missió processar els paquets que es reenvien una xarxa a una altra. Generalment és aquí on es decideix si es deixa passar un paquet o si es bloqueja.
  5. nat postrouting: en aquest pas es tradueixen les adreces de xarxa d’origen i l’emmascarament.
  6. filter input: s’encarrega de tractar els paquets destinats al tallafoc. Conté regles que avaluen si el paquet ha de ser acceptat o bloquejat.
  7. Procés local: aquest procés s’executa al tallafoc. El procés podria ser l’origen o la destinació dels paquets.
  8. mangle output: només els paquets generats pel tallafoc travessen aquesta cadena.
  9. filter output: processa els paquets enviats pel tallafoc. Pot determinar si el paquet ha de bloquejar-se o no.

Pas a pas

El camí que segueix un paquet a IPTables pot ser:

Entra per mangle prerouting. Generalment, aquesta cadena no inclou regles, per tant es passa a la cadena següent. La cadena nat prerouting realitza la traducció d’adreces de xarxa de destinació.

El paquet arriba a routing i es classifiquen els paquets segons quina sigui la seva destinació: si és el tallafoc, el paquet anirà a filter input, però si no, el paquet anirà a filter forward. La cadena filter forward s’encarrega de processar els paquets que es reenvien entre xarxes. Els paquets que han anat per aquest camí arriben a mangle postrouting, que és una cadena amb la capacitat de modificar els paquets abans que aquests abandonin el tallafoc i, a continuació, arriben a nat postrouting. nat postrouting s’encarrega de traduir les adreces de xarxa i emmascarament. A partir d’aquí el paquet surt cap a la xarxa de destinació.

La cadena filter input s’encarrega de processar els paquets que estan destinats al tallafoc. És aquí on es determina si el paquet ha de ser bloquejat o no. Si no es bloqueja, pot rebre un procés local (Local Processing of Data) i a continuació ser encaminat cap al mangle output, on el paquet es modificarà si és necessari. Després de passar per mangle output, el paquet arriba a filter output, on serà processat i enviat al tallafoc.

En IPTables els tres tipus de regla de filtratge són entrada (input), sortida (output) o reenviament (forward).

Una característica de les IPTables és que permeten aplicar regles de NAT. Les regles de NAT s’utilitzen per adreçar ports o realitzar canvis en l’IP d’origen o de destinació.

IPTables funciona seguint els passos següents:

  1. Es carreguen els mòduls necessaris.
  2. S’estableix algun bit.
  3. Esborra totes les regles actuals.
  4. Estableix les polítiques per defecte per l’acceptació, reenviament i sortida.
  5. Per acabar aplica totes les regles del tallafoc.

Un exemple de regla en IPTables on es permeti a qualsevol adreça que entri per la interfície ethernet 0 l’accés al port 80 seria:

iptables -A INPUT -i eth0 -s 0.0.0.0/0 -p TCP -dport www -j ACCEPT

Si s’analitza la línia anterior:

  • iptables: nom de l’ordre.
  • -A: s’utilitza per afegir (append) la regla.
  • INPUT: estat del paquet, que en aquest cas és un paquet d’entrada (input).
  • -i eth0: interfície de xarxa, que en aquest cas és eth0.
  • -s 0.0.0.0/0/0: adreça d’accés, que en aquest cas indica qualsevol adreça d’accés.
  • -p TCP: tipus de port, que en aquest cas és TCP.
  • -dport: port de destinació.
  • -j ACCEPT: què es farà amb el paquet, en aquest cas s’acceptarà.

Per exemple, per no permetre enviar res al tallafoc o el trànsit intern i permetre només el trànsit de sortida:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

Per permetre el trànsit entre la xarxa interna eth1 i la xarxa externa eth0:

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Per permetre el trànsit entre connexions establertes amb origen a la xarxa eth0 i destinació a la xarxa eth1:

iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Per permetre l’entrada de paquets al tallafoc i que tinguin com a origen la xarxa interna i interfícies locals:

iptables -A INPUT -i eth1 -s 0/0 -d 0/0 -j ACCEPT
iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT

Per no permetre l’entrada per la interfície eth0 a màquines de l’exterior de la nostra xarxa que hagin piratejat adreces de xarxa de la nostra xarxa interna (192.168.0.0/24):

iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j DROP
iptables -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP

Per acceptar el trànsit de SYN que utilitza el protocol SMTP, l’accés web, l’accés web segur i SSH:

iptables -A INPUT -p tcp -s 0/0 -d x.y.z.m/32 --destination-port 25 --syn -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 -d 0/0 --destination-port 80 --syn -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 -d 0/0 --destination-port 443 --syn -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 -d 0/0 --destination-port 22 --syn -j ACCEPT

Si es disposa d’un servidor DHCP caldrà permetre el seu trànsit amb:

iptables -A INPUT -i eth1 -p tcp --sport 68 --dport 67 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport 68 --dport 67 -j ACCEPT

Per no permetre cap sol·licitud a ports UDP o TCP:

iptables -A INPUT -s 0/0 -d 0/0 -p udp -j DROP
iptables -A INPUT -s 0/0 -d 0/0 -p tcp --syn -j DROP

Proves de funcionament. Sondeig

Per poder assegurar que el tallafoc realitza les tasques per a les quals ha estat dissenyat s’han de realitzar proves. Hi ha una sèrie d’eines i tècniques que ajuden a realitzar aquestes proves de manera ràpida i eficient.

Nmap

L’ nmap és una eina molt popular en el món de l’administració de les xarxes. Temuda per molts (injustament) i molt apreciada pels tècnics, aquesta eina escaneja màquines i identifica els serveis assignats als ports.

L’ús d’ nmap és vist per alguns tècnics com una amenaça. Identifica una part molt sensible de la configuració d’una màquina, la qual cosa fa saltar moltes alarmes. Com a administradors d’un tallafoc i responsables de la seguretat de la xarxa hem de detectar si algú realitza un escaneig a màquines de la nostra xarxa i s’ha d’identificar l’origen de l’escaneig, ja que possiblement s’estigui realitzant aquesta acció amb l’objectiu de trobar forats de seguretat. Aquest és un dels motius pels quals hem de dominar aquesta eina, ja que també és útil per trobar forats de seguretat en la nostra xarxa informàtica. Per no tenir ensurts no s’ha de realitzar un nmap en una xarxa que no sigui la pròpia o sobre la qual no tinguem permís, ja que segons la legislació d’alguns països podeu estar realitzant una acció il·legal.

En l’exemple següent es pot veure un escaneig molt simple a una màquina amb l’adreça de xarxa 192.168.7.52:

Nmap scan report for 192.168.7.52
Host is up (0.00039s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC address: 1C:C1:DE:**:**:** (Unknow)

La primera columna indica el número de port i el protocol carregat. La segona indica l’estat del port i la tercera indica el servei activat.

Figura Pantalla de l’aplicació Zenmap

Els ports poden estar oberts (open), tancats (closed) o filtrats (filtered). Un port filtrat pot acceptar o no trànsit depenent les característiques del paquet.

La figura mostra l’aspecte de l’eina Zenmap. Aquest programa treballa amb nmap per obtenir dades, però ofereix una interfície gràfica molt còmoda per a l’usuari.

Eines TCP/IP

Existeixen una sèrie d’eines bàsiques per resoldre problemes de xarxa relacionats amb TCP/IP i que, alhora, poden resultar útils durant el procés de prova d’un tallafoc. A continuació és descriuen breument:

  • ifconfig: configura i mostra la configuració de xarxa. La figura mostra la sortida d’aquesta ordre. Com es pot observar, el resultat per defecte mostra més informació a part de l’adreça de xarxa: també la MAC, d’adreça de difusió (broadcast), la màscara de xarxa o la quantitat de trànsit que ha circulat per la xarxa.

Figura Exemple d’execució de l’ordre ifconfig

  • route: configura i mostra l’estat de la taula d’encaminament d’una màquina. En la figura es mostra un cas molt senzill de configuració d’un equip client.

Figura Exemple d’execució de l’ordre route

  • traceroute: determina la connectivitat amb una màquina remota indicant les màquines que troba pel camí. En màquines amb sistema operatiu Windows l’ordre equivalent és tracert, i el resultat de la seva execució es pot observar en la figura.

Figura Exemple d’execució de l’ordre tracert

  • host: permet realitzar cerques DNS directes i indirectes. En la figura es relaciona el domini ioc.xtec.cat amb l’adreça IP 213.176.163.218.

Figura Exemple d’execució de l’ordre host

  • dig: permet realitzar cerques DNS directes i indirectes aportant més informació que l’ordre host. La figura mostra el resultat de fer la consulta de dig sobre el domini ioc.xtec.cat i, com es pot veure, el resultat és bastant més complet que el que ofereix host.

Figura Exemple d’execució de l’ordre dig

  • tcpdump: permet veure paquets que arriben a una interfície de xarxa. La sortida d’aquesta ordre és bastant difícil de llegir, tal com es mostra en la figura.

Figura Exemple d’execució de l’ordre tcpdump

  • IPTraf: permet mesurar el trànsit que circula per una interfície. Treballar amb IPTraf és una opció molt bona a tcpdump. Com es pot veure en la figura, la interfície d’IPTraf presenta les dades de manera clara i entenedora.

Figura Exemple d’execució de l’ordre IPTraf

Registres d'esdeveniments d'un tallafoc

Treballar amb tallafoc no tindria gaire sentit si no es pogués consultar a posteriori la informació que aquest ha generat. És impossible estar vint-i-quatre hores davant d’un monitor amb la mirada atenta esperant que es produeixi un esdeveniment per actuar. Els tallafocs han de poder emmagatzemar informació rellevant per després poder-la analitzar i prendre les mesures que calgui.

Els diferents tallafocs emmagatzemen els esdeveniments que succeeixen a la xarxa seguint determinades tècniques.

IPChains

El tallafoc IPChains registra missatges d’esdeveniments amb Syslog. Syslog és un estàndard que s’empra per l’enviament de missatges de registre a les xarxes informàtiques. En una distribució Linux el nucli captura, mitjançant el dimoni klogd, els esdeveniments atípics que es produeixen i els emmagatzema. El fitxer de configuració syslog.conf, ubicat en el directori /etc, s’utilitza per indicar el directori de destinació dels missatges de registre generats per IPChains.

Per tal d’emmagatzemar missatges de registre en un directori s’ha d’afegir al fitxer /etc/syslog.conf la línia següent:

kern.=debug/var/log/ipchains.log

Perquè els canvis tinguin efecte cal reiniciar el dimoni.

IPTables

El tallafoc IPTables registra missatges d’esdeveniments utilitzant el mateix mètode que IPChains. Cal, per tant, realitzar els mateixos passos: editar el fitxer /etc/syslog.conf amb una línia com la següent:

kern.=debug/var/log/iptables.log

I reiniciar el dimoni perquè els canvis tinguin efecte.

Anàlisi de registres

Quan les dades ja estan emmagatzemades, s’hi poden aplicar eines que permetin agregar-les a un informe sobre l’estat del programari o del sistema. Per exemple, mitjançant l’aplicació LogWatch, les dades d’un sistema Linux es poden agrupar. D’aquesta manera, es pot enviar un informe sobre l’activitat a l’administrador de sistemes.

També hi ha programari més específic, com l’AWStats, que permet analitzar els registres de servidors web. Amb aquest programa es poden extreure dades molt importants si l’atacant no ha pogut alterar el sistema d’emmagatzematge de registres.

L’AWStats és un programari d’anàlisi de registres d’activitat de servidors web, correu i FTP.

Activitat a investigar

En general, el que cal buscar en els registres són les anomalies, ja que és molt complicat fer encaixar l’activitat que es genera en un atac amb el funcionament normal del sistema. Quan busquem anomalies, també es detecten falsos positius, activitat legítima que sembla il·lícita. Així, doncs, convé actuar amb cautela i no treure conclusions precipitades.

Per exemple, en el cas d’analitzar els registres d’un servidor web, es podria començar a analitzar l’activitat buscant els punts següents:

  • Els fitxers més consultats: entre els fitxers més populars és possible trobar contingut il·lícit si el servidor web s’està fent servir per distribuir-lo.
  • Evolució del trànsit: en cas que hi hagi un increment sobtat del trànsit de dades, pot tractar-se d’un intent de denegació de servei o bé que s’hi hagi introduït algun contingut fraudulent. Així, doncs, per poder valorar què passa en el servidor web, caldria estimar l’evolució de bytes enviats, les consultes per unitat de temps i els totals de consultes per IP.
  • Consultes a fitxers que no existeixen (404): és possible que, per tal de comprometre un servidor web, s’hagi d’intentar accedir-hi repetidament. Algun d’aquests intents pot generar l’error 404 (not found: no trobat), que queda registrat en els logs del servidor web. Si els errors 404 es comproven periòdicament, és possible tenir una idea del tipus d’atacs que pateix el servidor.

Exemples de tallafoc

A Internet es poden trobar molts exemples de tallafocs gratuïts. Alguns d’aquests tallafocs, però, són més representatius i en alguns casos són fins i tot utilitzats per explicar diversos aspectes teòrics del món de les xarxes. Així, es podria iniciar l’estudi amb l’antic IPChains, que es pot utilitzar actualment en una segona línia de defensa, tot i que avui en dia és difícil de veure’l instal·lat. A continuació trobaríem l’IPTables, que és l’evolució natural de l’IPChains i, posteriorment, tot de tallafocs que no són més que eines que utilitzen IPChains i IPTables però que ofereixen major facilitat d’ús, fins i tot, en algun cas, amb interfícies gràfiques. També cal estudiar un equip bastió com a exemple curiós de màquina de xarxa amb un extra de seguretat.

IPChains

IPChains és un tallafoc obsolet que només s’utilitza en cassos molt concrets, generalment en la segona línia defensiva i en combinació amb altres tallafocs.

L’última revisió d’aquest programa es va realitzar l’any 2000 i s’incloïa a nuclis Linux anteriors al 2.4. Actualment es pot descarregar d’algunes pàgines d’eines de xarxa.

El funcionament d’IPChains s’il·lustra en la figura. Els paquets que entren són revisats per comprovar que no estan corruptes i a partir d’aquí s’estableix una cadena que consisteix en una sèrie de passos que indiquen el camí que ha de recórrer el paquet. Alguns d’aquests passos apliquen filtres que poden arribar a bloquejar el paquet. Si el paquet no és bloquejat serà enviat a la seva destinació, que pot ser un procés local o una interfície de xarxa.

Figura Esquema de funcionament d’IPChains

IPTables

El tallafoc IPTables és més complet que IPChains. És molt més precís, però també és més difícil d’utilitzar. Funciona carregant un mòdul del nucli i executant un guió o script. El guió segueix els passos següents:

  1. Es carreguen els mòduls imprescindibles i auxiliars.
  2. S’esborren les regles actuals.
  3. S’estableixen les polítiques per defecte per acceptar, reenviar o sortida.
  4. S’apliquen les regles.

Quan un paquet arriba al tallafoc és processat pel nucli. A partir d’aquí el paquet comença a recórrer etapes al nucli abans de ser enviat a la destinació adient, reenviat cap a un altre equip o bé se li aplica qualsevol altra operació.

Molts tallafocs utilitzen internament IPTables. Es tracta de programes amb una interfície prou entenedora que facilita molt el disseny de directives i la seva aplicació, modificació i manteniment.

Equip bastió

Quan un equip de la xarxa, generalment un servidor, esdevé un objectiu potencial d’atacs, requereix una protecció extra. Un equip bastió és una màquina a la qual se li afegeix més protecció tot i estar a la xarxa interna. Aquests equips estan especialment configurats per rebre atacs. Un exemple d’equip bastió podria ser un servidor intermediari. Els bastions poden ser single-homed, dual-homed i multihomed.

En la seva accepció original, un bastió és una fortificació que forma part d’un castell. La seva missió és protegir un espai crític de defensa en el cas de produir-se un atac.

Uncomplicated Firewall (ufw)

El tallafoc ufw (Uncomplicated Firewall) permet configurar fàcilment les IPTables des de la línia d’ordres. Aquest programa està desenvolupat per Ubuntu en llenguatge Python.

La taula mostra resumidament el funcionament d’aquest tallafoc.

Taula Exemples d’accions amb ufw
Funció Ordre
Encendre el tallafoc sudo ufw enable
Apagar el tallafoc sudo ufw disable
Mostrar l’estat del tallafoc sudo ufw status
Mostrar la llista de regles numerades sudo ufw status numered
Bloquejar tot el trànsit d’entrada sudo ufw default deny incoming
Permetre tot el trànsit d’entrada sudo ufw default allow incoming
Bloquejar tot el trànsit de sortida sudo ufw default deny outgoing
Permetre tot el trànsit de sortida sudo ufw default allow outgoing
Bloquejar el port 22 sudo ufw deny port 22
Permetre el port 22 sudo ufw allow port 22
Bloquejar el port 22 a l’IP 192.168.0.15 sudo ufw deny from 192.168.0.15 port 22
Permetre el port 22 a l’IP 192.168.0.15 sudo ufw allow from 192.168.0.15 port 22<
Bloquejar el port 22 a la xarxa 192.168.0.0 sudo ufw deny from 192.168.0.0/24 port 22
Permetre el port 22 a la xarxa 192.168.0.0 sudo ufw allow from 192.168.0.0/24 port 22
Bloquejar un rang de ports TCP sudo ufw deny 1025:3000/tcp

Gufw

Gufw és una interfície gràfica desenvolupada per ufw. És una eina molt fàcil d’utilitzar i d’instal·lar. Apareix als repositoris oficials d’Ubuntu.

En la figura es mostra la pantalla d’inici del tallafoc, en la qual es pot veure que està habilitat però que encara no contempla cap regla.

Figura Pantalla principal de Gufw

Firewall Builder

El tallafoc Firewall Builder és un programa que ofereix una interfície gràfica per gestionar diferents plataformes de tallafocs. En la figura es mostra la finestra inicial del procés de creació d’un tallafoc.

Figura Pantalla de configuració d’un tallafoc amb Firewall Builder

Aquest programa està concebut per controlar diversos tallafocs des d’un únic centre de comandament. El fet que permeti controlar diversos tallafocs i que aquests puguin estar muntats amb IPTables, Cisco ASA and PIX, ipfilter BSD o HP ProCurve ACL el converteixen en un candidat òptim.

Shorewall

Shorewall és una eina que treballa sobre Netfilter i que permet aplicar fàcilment diferents dissenys de regles. Funciona sobre el sistema operatiu de Linux, però permet una gestió a distància utilitzant un navegador web.

Shorewall està considerat un dels tallafocs més potents per a distribucions Linux. Permet gestionar la xarxa utilitzant mecanismes senzills o bé aplicant una major complexitat quan és necessària.

Shorewall es pot descarregar dels repositoris oficials d’Ubuntu. La configuració es basa en treballar sobre quatre fitxers: interfaces, policy, rules i zones. A interfaces es configuren les interfícies del tallafoc. A zones es definiran les zones que s’administraran amb Shorewall i el tipus de zona. A policy s’especifica si s’accepta (ACCEPT) o no (DROP) el trànsit entre zones.

Exemple de fitxer /etc/shorewall/zones

#ZONE DISPLAY OPTIONS
fw firewall
net ipv4
loc ipv
dmz ipv4
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Exemple de fitxer /etc/shorewall/interfaces

#ZONE INTERFACE BROADCAST OPTIONS GATEWAY
net ppp0 detect
loc eth0 detect
dmz eth1 detect
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Exemple de fitxer /etc/shorewall/policy

#SOURCE DEST POLICY LOG LIMIT:BURST
loc net ACCEPT
dmz net ACCEPT
fw net ACCEPT
net all DROP info
all all REJECT info
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

IPCop

La distribució Linux IPCop implementa un tallafoc que s’administra amb una interfície web molt senzilla i pràctica. Està considerat un tallafoc adient per a empreses que no tenen una complexa xarxa informàtica, i fins i tot per a l’àmbit domèstic.

  • Logotip d'IPCop
  • Logotip d'IPCop

Per poder utilitzar aquest tallafoc caldrà dedicar-li una màquina amb caràcter exclusiu. Aquest equip no ha de ser un ordinador gaire potent, ja que amb un processador 386, 32 MB de RAM i un disc de 300 MB en té prou per funcionar. Sí que és imprescindible disposar d’una interfície física per cada xarxa. Així, per exemple, si s’han de gestionar dues LAN i l’accés a Internet es realitza mitjançant un encaminador caldrà disposar de tres targetes de xarxa.

IPCop identifica amb colors les zones que es poden delimitar en una xarxa (veieu la taula).

Taula Els colors i les zones a IPCop
Color Vermell Verd Taronja Blau
Zona Internet Xarxa local cablejada Zona desmilitaritzada Xarxa local sense fil

La distribució bàsica conté les funcionalitats imprescindibles per realitzar el filtrat de paquets i algunes utilitats de gestió de xarxa, com ara l’assignació d’ample de banda a diferents equips. És possible afegir-li extensions si es necessita augmentar-ne la funcionalitat.

Tallafoc de Microsoft Windows

El tallafoc de Microsoft Windows és un clar exemple de tallafoc per a xarxes domèstiques. No es requereixen grans coneixements per administrar-lo i és un programa ja instal·lat en el sistema operatiu. En molts casos aquest programa està funcionant a l’equip de l’usuari i aquest ho desconeix totalment.

La figura mostra la pantalla de configuració del tallafoc. Es pot apreciar que no disposa de paràmetres tècnics ni requereix de gaires coneixements per activar-lo o desactivar-lo i per fer-ne una configuració bàsica.

Figura Pantalla de configuració del tallafoc de Microsoft Windows

Anar a la pàgina anterior:
Referències
Anar a la pàgina següent:
Activitats