Diferència entre revisions de la pàgina «UF3-NF1. Introducció als tallafocs»
(→Filtre d'informació. Nivell de Xarxa (i/o Transport)) |
(→Filtre d'informació. Nivell de Xarxa (i/o Transport)) |
||
Línia 241: | Línia 241: | ||
=== iptables (StateFull) === | === iptables (StateFull) === | ||
+ | |||
Addicionalment, iptables permet el tractament de l'estat de les connexions. | Addicionalment, iptables permet el tractament de l'estat de les connexions. | ||
Línia 246: | Línia 247: | ||
− | + | === Altres === | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Tutorial molt complet | Tutorial molt complet |
Revisió del 19:00, 10 gen 2012
tornar M11_-_Seguretat_i_alta_disponibilitat#UF3_-_Tallafocs_i_servidors_intermediaris
Contingut
Tallafocs
Firewall és un dispositiu que té un conjunt de regles que especifiquen el tràfec de xarxa que s'accepta i el que es denega (Filtre), addicionalment poden tenir una tercera regla per indicar si es registre el tràfec (Log).
Existeixen dos paradigmes de seguretat:
- Tot allò que no es prohibeix expressament està permès --> Permissiu (Naïf).
- Tot allò que no està permès expressament es prohibeix --> Restrictiu - Paranoic (Recomanat).
El funcionament bàsic d'un tallafocs és
- Examinar els paquets que rep o envia. Informació de xarxa, protocols, adreces, ports, interfases, estat de la connexió, dades d'aplicació ...
- Aplicar les regles definides
- Decidir si el paquet passa o no
Els tallafocs es poden classificar
- Segons el seu objectiu
- Personals
- De xarxa
- Com s'implementen
- Programari
- Maquinari
- Segons el filtratge que realitzen
- De paquets o de capa de xarxa, no miren informació de protocols d'aplicació (Estàtics). Són ràpids, p.e. iptables
- Sense estat (Stateless).
- Amb estat (StateFul Filtering i StateFull Packet Inspection).
- De capa d'aplicació, més complexos doncs entenen els diferents protocols d'aplicació, més específics però més lents (Dinàmics). Generalment s'implementen en proxys i s'enfoquen a protocols concrets com HTTP, p.e. DansGuardian + SQUID, ISA Server
- De paquets o de capa de xarxa, no miren informació de protocols d'aplicació (Estàtics). Són ràpids, p.e. iptables
Tallafocs Personals
Són sol·lucions de programari que filtren el tràfec entre un ordinador personal i la xarxa.
- Firewall de Windows
- Firestarter, Linux Firewall
- Gufw, interfase de ufw (Uncomplicated Firewall), interface per a iptables
Filtren:
- Connexions d'entrada, només útil en cas de servidors
- Connexions de sortida, control de la navegació dels usuaris, possibles connexions de programari maliciós, p2p, etc...
Tallafocs de Xarxa
Implementen seguretat perimètrica a nivell de xarxa però no són sistemes alternatius als altres elements de la seguretat activa i passiva. En general els tallafocs més bàsics no comproven el contingut dels paquets (la informació), només comproven dades de xarxa.
El tallafoc es situa en el punt de connexió amb altres xarxes i analitza i filtra el tràfec de xarxa en ambdues direccions, entrant i sortint. Centralitza la seguretat en les comunicacions de la xarxa interna. També pot mantenir un registre (Log). La xarxa interna és el perímetre de seguretat.
Implementacions
Programari, el tallafocs es pot implementar amb un ordinador i el programari necessari.
- En general serà un ordinador dedicat sense gaires serveis addicionals per temes de rendiment.
- Programari gratuït, existeixen múltiples distribucions de linux a tal efecte, en general GUI per a iptables
- Programari propietari, en cas de fer servir sistemes Windows Server per exemple
Maquinari, amb un router o amb maquinari i programari específic
- CISCO té famílies de Routers - Firewalls, CISCO ASA (successor CISCO PIX). Que a més inclouen moltes altres funcionalitats, VPN, IPS
- http://www.checkpoint.com empresa desenvolupadora de FireWall-1
En qualsevol cas és normal que el tallafocs faci funcions d'encaminador també, donat la situació física on es troba (punt de sortida de la xarxa).
Exemples de programari per a Tallafocs de xarxa
IPcop
|
Linux |
|
Zentyal
|
Ubuntu |
|
ISA Server | Windows
Server |
|
Filtre d'informació. Nivell de Xarxa (i/o Transport)
Els filtres s'implementen amb política per defecte + Llista de Regles
Les polítiques per defecte depenen del paradigma de seguretat:
- Permissiu. Política per defecte ACCEPTAR
- Restrictiu. Política per defecte NEGAR
En els tallafocs de nivell de xarxa, una regla simplement és una condició sobre el paquet, origen, destí, port, protocol, etc... i una acció associada (ACCEPT, DENY, DROP).
En general per a cada paquet, es repassa la llista de regles de manera seqüencial, si una compleix s'executa l'acció associada. Si no compleix cap s'executa la política per defecte.
Tipus de tràfec:
- Connexions d' entrada, seguretat del propi firewall. Molt important, el firewall és un punt calent de la xarxa, si la seva seguretat es veu compromesa el perímetre es trenca.
- Connexions de sortida, en general no cal controlar la sortida.
- Connexions reenviades (xarxa interna <-> Internet), tant d'entrada com de sortida
- Entrada, control de l'accés als serveis de xarxa que ofereix la LAN.
- Sortida, accés a dels ordinadors de la zona de confiança a recursos externs (no confiables)
iptables (StateLess)
En Linux la majoria de tallafocs es basen en iptables. Aquesta eina permet implementar les polítiques de filtre típiques dels tallafocs, però a més afegeix altres funcionalitats com traducció d'adreces o modificació dels paquets.
Forma part del framework NetFilter integrat en el nucli de Linux i per tant funciona a molt baix nivell, per tant és ràpida i segura.
S'estructura en taules, cada taula té unes cadenes (Chains) associades, a partir de les quals es creen les regles que s'apliquen als paquets que passen pel tallafocs.
S'organitza en taules:
- FILTER: Filtre, taula per defecte (Firewall)
- Cadenes: INPUT, OUTPUT, FORWARD
- NAT: Traducció d'adreces i reenviament
- Cadenes: POSTROUTING, PREROUTING (També OUTPUT)
- MANGLE: Modificació de paquests, afinament
- RAW: Intercepta paquets en cru (abans que cap altre taula)
A les regles se'ls assigna una acció (target).
- ACCEPT
- DROP
- Target extensions
- REJECT, només a INPUT, UTPUT, FORWARD, en alguns casos pot retornar un error (ICMP), en qualsevol altre idèntica a DROP
- LOG, no finalitza, continua a la següent (Per tant en cas de refusar cal indicar 2 regles LOG + DROP)
El resultat de les regles es mostra als missatges del nucli
/var/log/messages
Sintaxi bàsica
iptables -A {CADENA} [options de filtre] -j {ACCIÓ} #iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT Algunes opcions: -A : Afegir una regla -D : Esborrar una regla -F : Esborrar totes les regles d'un tipus -P : política per defecte per una cadena -v : (Verbose) Permet veure els paquets tractats per cada regla -Z : Inicialitza els contadors Filtres. Es poden negar amb el caràcter "!" -p tcp/udp: A quin protocol s'aplica: tcp, udp, icmp o all -s IP: IP origen (Source) -s IP/MASK: 0.0.0.0/0 per qualsevol xarxa -d IP: IP destí -j DROP/ACCEPT # (Jump) Acció que cal fer si el paquet compleix les especificacions -o eth0: Output interfase -i eth0: Input interfase --dport numero Cadenes personals -N : crear una cadena personal -X : Esborrar una cadena personal
traducció d'adreces, NAT
La taula nat de iptables permet gestionar la traducció d'adreces (sortida) i el reenviament (entrada).
Aquesta taula modifica la informació dels paquets i es basa en les cadenes
- POSTROUTING, per als paquets que passen a través del sistema de sortida, els modifica just abans de sortir. Després d'aplicar les regles FORWARD per exemple.
- Serveix per configurar el NAT dinàmic. Ordinadors de la xarxa local sortint a Internet amb una adreça pública per exemple.
- PREROUTING, per als paquets que passen a través del sistema d' entrada, els modifica tant bon punt entren. Abans d'aplicar les regles FORWARD per exemple.
- Serveix per gestionar els reenviaments. Clients d'Internet, que només tenen accés a l'adreça pública de la xarxa, són reenviats a màquines concretes de la xarxa local per exemple.
- OUTPUT, generats pel propi sistema.
Aquestes cadenes tenen nous Targets:
- DNAT --> PREROUTING (També OUTPUT), canvia IP destí
- MASQUERADE --> POSTROUTING, nat dinàmic PAT, canvia IP origen
- SNAT --> POSTROUTING, nat estàtic, canvia IP origen (igual que MASQUERADE però permet un pool d'adreces externes)
Exemples # NAT de sortida, eth0 és la interfase de sortida dels paquets. Activació del bit de forward (enrutament entre interfases) echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE # Redirecció del tràfec al port 80 entrant a la interfase eth0, al port 80 de la màquina 192.168.10.12 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.10.12:80 # SNAT de sortida iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 --to-source 194.236.50.155-194.236.50.160:1024-32000 -j SNAT
iptables (StateFull)
Addicionalment, iptables permet el tractament de l'estat de les connexions.
Altres
Tutorial molt complet
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html
Alguns exemples per a protocols concrets
http://ocw.uv.es/ingenieria-y-arquitectura/seguridad/3Seguridad_perimetrica.pdf
http://www.mmc.igeofcu.unam.mx/LuCAS/Manuales-LuCAS/doc-unixsec/unixsec-html/node252.html