Diferència entre revisions de la pàgina «UF3-NF1. Introducció als tallafocs»
(→Tallafocs de Xarxa) |
(→iptables) |
||
Línia 135: | Línia 135: | ||
=== iptables === | === iptables === | ||
− | En Linux la majoria de tallafocs es basen en ''iptables''. | + | 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: | S'organitza en taules: | ||
− | *FILTER | + | *'''FILTER''': Filtre, taula per defecte (Firewall) |
− | *NAT | + | ** Cadenes: INPUT, OUTPUT, FORWARD |
− | *MANGLE | + | *'''NAT''': Traducció d'adreces i reenviament |
− | *RAW | + | *MANGLE: Modificació de paquests, afinament |
+ | *RAW: Intercepta paquets en cru (abans que cap altre taula) | ||
+ | |||
+ | |||
+ | |||
+ | |||
Per a les funcions de tallafocs interessa principalment el filtrat (FILTER) que té 3 cadenes: INPUT, OUTPUT, FORWARD. També interessa NAT que s'utilitza per traducció i redirecció, cadenes: PREROUTING, POSTROUTING. | Per a les funcions de tallafocs interessa principalment el filtrat (FILTER) que té 3 cadenes: INPUT, OUTPUT, FORWARD. També interessa NAT que s'utilitza per traducció i redirecció, cadenes: PREROUTING, POSTROUTING. |
Revisió del 17:54, 5 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).
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ó ...
- 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
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.
Filtren:
- 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)
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ó. Regles
Existeixen dos paradigmes de seguretat:
- Tot allò que no es prohibeix expressament està permès --> Naïf. Política per defecte ACCEPTAR
- Tot allò que no està permès expressament es prohibeix --> Paranoic (Recomanat). Política per defecte NEGAR
Els filtres s'implementen amb política per defecte + Llista de Regles
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 seqüencialment, si una compleix s'executa l'acció associada. Si no compleix cap s'executa la política per defecte.
Tipus de Filtres:
- 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
iptables
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
- MANGLE: Modificació de paquests, afinament
- RAW: Intercepta paquets en cru (abans que cap altre taula)
Per a les funcions de tallafocs interessa principalment el filtrat (FILTER) que té 3 cadenes: INPUT, OUTPUT, FORWARD. També interessa NAT que s'utilitza per traducció i redirecció, cadenes: PREROUTING, POSTROUTING.
Registre connexions entrants des de 192.168.1.215 (Inici de connexió, estat sync, es guarden als missatges del nucli)
- iptables -I INPUT -s 192.168.1.215 -p tcp --syn -j LOG
Sintaxi bàsica
#iptables -A FILTER -p tcp/udp [options] -j ACTION -A INPUT, OUTPUT, FORWARD: Afegir una regla -D INPUT, OUTPUT, FORWARD: Esborrar una regla -F INPUT, OUTPUT, FORWARD: Esborrar totes les regles d'un tipus Algunes opcions: -v : (Verbose) Permet veure els paquets tractats per cada regla -Z : Inicialitza els contadors -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/MASQUERADE # (Jump) Acció que cal fer si el paquet compleix les especificacions -o eth0: Output -i eth0: Input --dport numero -t nat -A POSTROUTING .... -o eth0 -j MASQUERADE # NAT de sortida -t nat -A PREROUTING ... -j DNAT --to IP:port # PAT d'entrada, redirecció Exemple 1. NAT ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # Al firewall tenemos acceso desde la red local iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT # Ahora hacemos enmascaramiento de la red local # y activamos el BIT DE FORWARDING (imprescindible!!!!!) iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE Exemple 2. tallar ports bàsics sortida # Aceptamos que vayan a puertos 80 iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT # Aceptamos que vayan a puertos https iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT # Aceptamos que consulten los DNS iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p udp --dport 53 -j ACCEPT # Y denegamos el resto. Si se necesita alguno, ya avisaran iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -j DROP Exemple 3. Obrir ports exemple d'entrada i una ip específica d'entrada a la màquina on estem # Abrimos el puerto 25, hay que configurar bien el relay del servidor SMTP iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT # Abrimos el pop3 iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT # Y abrimos el puerto pptpd para la ip del adsl de casa del jefe iptables -A INPUT -s 211.45.176.24 -p tcp --dport 1723 -j ACCEPT Redireccion a màquina internes de la xarxa ## REDIRECCIONES # Todo lo que venga por el exterior y vaya al puerto 80 lo redirigimos # a una maquina interna iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.10.12:80 # Los accesos de un ip determinada a Terminal server se redirigen e esa # maquina iptables -t nat -A PREROUTING -s 221.23.124.181 -i eth0 -p tcp --dport 3389 -j DNAT --to 192.168.10.12:3389 En general aquestes comandes les posarem dins un script de linux amb els permisos adequats #chmod 750 firewall1.sh Per verificar la configuració #iptables -L –n
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