Professional Documents
Culture Documents
CONFIGURACI
ON DE UN
FIREWALL EN LINUX: IPTABLES
6.1. Introduccion a los cortafuegos (Firewall)
La interconexion global de todas las redes inform aticas a traves de Internet, se ha traducido
simult aneamente en una inagotable fuente de servicios (mensajera electr onica, transferencia de
archivos, control remoto de equipos, etc.), pero tambien en un agujero permanente de seguridad.
En este captulo vamos a centrarnos esencialmente en dos aspectos fundamentales:
1. C omo habilitar el acceso a los servicios y recursos que se ofrecen por las distintas redes, que
se encuentran conectadas a Internet, en funcion de d onde se localice el origen y el destino
NAT.
El problema de establecer una comunicaci on entre dos equipos inform aticos, surge en el mo-
mento en que uno de los implicados (emisor-receptor, origen-destino) pertenece a una red
logica privada, y trata de identicarse mediante una direcci on IP privada unicamente recono-
cida dentro de la propia intranet a la que pertenece. Es decir, el problema sera equivalente a
decir que deseamos poner en comunicaci on dos usuarios mediante el tradicional correo postal,
y alguno de ellos, no tiene asignada una direcci on postal p ublica, y por tanto reconocida por
el servicio postal, lo cual derivara en que no habra forma de que las cartas repartidas por
carteros pudiesen alcanzar su correspondiente destino, o remitente en caso de devoluci on (los
paquetes seran descartados).
Seg un esto, s olo cuando los dos extremos de la comunicacion tengan direcciones reconocidas
(direcciones IP p ublicas) podr an establecer comunicaci on sin ning un tipo de problemas, y
cuando esto no se cumpla, necesitaremos de una estrategia denominada NAT.
2. C omo ltrar las comunicaciones que se establecen a traves de Internet, pudiendo decidir
que servicios son accesibles y cu ales no, con la unica pretension de proteger nuestra red
(integridad y condencialidad). A esto se lo denomina ltrado (FILTER).
Toda red inform atica conectada a Internet esta expuesta a posibles ataques que pongan en
jaque tanto los datos e informaci on condencial que podamos almacenar (troyanos, sning,
spoong, hijacking, etc.), como el correcto funcionamiento (virus, gusanos, applets java, etc.)
de los equipos que la forman. Con la nalidad de salvaguardar nuestra red, una posible
soluci on es ltrar toda comunicaci on que se establece tanto desde nuestra red, como hacia
ella.
6.2. Firewall GNU/Linux: IPTABLES
Para convertir nuestro equipo GNU/Linux en un equipo rewall ser a necesario instalar un
paquete software que se integrar a con el propio kernel del sistema operativo, el cual nos permi-
229
230 CAP
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
O
N
D
E
U
N
F
I
R
E
W
A
L
L
E
N
L
I
N
U
X
:
I
P
T
A
B
L
E
S
iptables t
_
_
filter
_
A
I
D
_
_
_
_
INPUT [i interfaz red][s direcci on IP]
OUTPUT [o interfaz red][d direcci on IP]
FORWARD [i interfaz red][o interfaz red]
_
s direcci on IP
d direcci on IP
_
_
_
p
_
tcp
udp
icmp
__
sport puerto origen
dport puerto destino
_
j
_
ACCEPT
DROP
REJECT
_
nat
_
A
I
D
_
_
PREROUTING [i interfaz red]
_
p
_
tcp
udp
_
[dport puerto destino] j DNAT to direcci on IP
POSTROUTING [o interfaz red] j MASQUERADE
Figura 6.5: Esquema explicativo del uso del comando iptables con sus opciones b asicas.
6.3. SINTAXIS DE IPTABLES PARA EL FILTRADO DE PAQUETES 241
En el caso de querer a nadir una nueva regla a la lista de ltrado de entrada (-A INPUT) la
sintaxis del comando sera la siguiente:
[root@linux] iptables -t filter -A INPUT -i interfaz red
-s direcci on IP origen -p protocolo comunicaciones
--dport puerto de destino -j ACCEPT/DROP/REJECT
A modo de ejemplo, supongamos que nos encontramos con un servidor de archivos samba
(protocolo tcp/upd, puertos 137, 138 y 139) con dos interfaces de red (eth0 y eth1) que le
permiten establecer comunicaci on con la red 192.168.2.0/24 e Internet tal como se muestra
en la gura 6.6. Si quisieramos proteger nuestro servidor de tal forma que tan s olo pudiesen
Figura 6.6: Ejemplo de uso de ltrado de paquetes de entrada.
conectarse a el los equipos de la red privada, y en ning un caso desde Internet, evitando al
mismo tiempo la entrada por cualquier otro puerto, una posible soluci on sera ejecutar el
siguiente conjunto de comandos iptables (shellscript):
#Script de Configuracion del FIREWALL: REGLAS DE FILTRADO DE ENTRADA (INPUT)
# 1
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ACTICA 245
[root@linux]# ln -s fichero a enlazar nombre del enlace simb olico
En relaci on al nombre del enlace simb olico a crear no puede ser cualquiera, sino que debe
seguir una sintaxis concreta para que GNU/Linux entienda que deseamos hacer con el. Esto
es debido a que lo normal es que los scripts de inicio esten asociados a la puesta en marcha
de determinados servicios. Por ese motivo, el nombre del enlace simb olico deber a comenzar
por S (start) o K (kill) seguido de un numero y un nombre. El numero indica el orden en
que ser a ejecutado en relaci on al resto de scripts de inicio, y el nombre identica al script
de inicio localizado en /etc/init.d que deseamos ejecutar, as la estructura del nombre del
enlace simb olico sera,
S|Knumeronombre script
.
En nuestro caso, como no se trata de un servicio, nos da igual poner S o K, como n umero
podremos una cantidad alta para que no interera con el resto de servicios, y como nombre
el del script:
[root@linux]# ln -s ../init.d/conf firewall S98conf firewall
4. Por ultimo, reiniciaremos el equipo y comprobaremos que se ha autocongurado el rewall.
6.5. Objetivos de la Practica
La nalidad de la presente pr actica es conocer en cierta profundidad las herramientas de las que
disponemos en GNU/Linux para llevar a cabo tanto la alteraci on de los paquetes TCP/IP (nat)
como su ltrado (lter) a traves de iptables. Aunque las opciones y combinaciones que nos ofrece
iptables son innumerables se tratara de mostrar mediante una serie de supuestos pr acticos reales
sus caractersticas m as importantes.
Al igual que en otros captulos del libro, para la implementacion y comprobacion de los diferentes
ejercicios que se proponen se recomienda la utilizaci on de m aquinas virtuales VMware evitando de
esta forma el coste, tanto monetario como temporal, que conllevara hacer uso de equipacion fsica.
246 CAP
ITULO 6. CONFIGURACI
ACTICA: CONFIGURACI
ON DE UN GATEWAY/FIREWALL
6.6. Conguracion de GNU/Linux como rewall
Como ya se ha comentado anteriormente, ser a necesario instalar el paquete software iptables.
Su instalaci on puede llevarse a cabo a traves de la interfaz de lnea de comandos mediante urpmi,
o mediante rpmdrake
14
en el caso de hacer uso de interfaz gr aca.
1
a
Forma: Desde la interfaz de lnea de comandos urpmi.
[root@linux]# urpmi iptables
2
a
Forma: Desde la interfaz graca rpmdrake.
[root@linux]# rpmdrake &
Figura 6.7: Vista de la instalaci on desde el GUI de Mandriva.
6.6.1. Implementacion y comprobacion de conguraciones del rewall
A lo largo de la pr actica se van a mostrar m ultiples situaciones pr acticas reales que deber as
implementar y comprobar su correcto funcionamiento. Una posibilidad sera implementar la situa-
cion en red que se plantee en cada caso mediante los equipos fsicos: dispositivos de interconexion
y medios de transmision implicados. El principal inconveniente de esta opcion esta en la disponi-
bilidad de equipacion. Una segunda opcion igualmente valida y m as aconsejable sera hacer uso de
equipacion virtual
15
. Esta opcion permitira disponer de tantos puestos de pr acticas como equipos
inform aticos tengan instalado el software encargado de crear m aquinas virtuales. Esto conlleva un
ahorro tanto en coste de equipacion como en tiempo de montaje. En el apendice A encontrar as una
breve descripcion sobre como crear redes virtuales con VMware.
14
Observa que rpmdrake es un programa propio de Mandriva.
15
La creacion de maquinas virtuales puede realizarse con VMware, XEN, . . . En este texto hemos optado por
VMware.
6.6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI
ITULO 6. CONFIGURACI