Vous êtes sur la page 1sur 0

Redes, servidores y seguridad informtica en Linux . CEP Indalo.

Enrique Brotons
8. Cortafuegos (Firewall).
8.1. Introduccin
En la unidad anterior hemos visto como implementar un servidor proxy con el que
podamos controlar los accesos a Internet. Ahora veremos como con un firewall tambin
conocido como muro de fuego, o cortafuegos, controlaremos las redes conectadas
permitiendo o denegando las comunicaciones entre dichas redes. Tambin un firewall es
considerado un filtro que controla el trafico de varios protocolos como T!"#$!"I%! que
pasan por l para permitir o denegar alg&n servicio, el firewall examina la petici'n y
dependiendo de este, la puede bloquear o permitirle el acceso. #n firewall puede ser un
dispositivo de tipo (ardware como por e)emplo un router, o software que se instala entre
la conexi'n a Internet y las redes conectadas en el lugar.
Firewall en Linux.
En *inux existe gran variedad de herramientas que nos permite controlar nuestro
firewall desde un servidor que este conectado a Internet y a la red local. *a m+s potente y
difundida que suele venir por defecto en las distribuciones *inux es ita!les ,antes
llamada ic"ains-. Aunque tambin existen otras herramientas como #"orewall que es
una herramienta muy flexible, r+pida y sencilla que permite crear reglas iptables usando
archivos, o ufw que es un herramienta que nos permite crear reglas iptables de una forma
muy simple dentro de distribuciones debian, ubuntu y derivados.
%+s informaci'n de .horewall y #fw/
http/""www.shorewall.net"
http/""doc.ubuntu0es.org"#12
1
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
$%& ($eli'itari(ed (one).
#n firewall con configuraci'n $%3 indica que va tener una 4ona $esmilitari4ada o
red perimetral, es una red local en la cual se encuentra dentro de una organi4aci'n. !ara
poder ser una 4ona tipo $%3 deben haber servidores ofreciendo servicios de 222, 1T!,
$5., .amba, etc, esto permite ofrecer servicios de una red local hacia el exterior. $entro
de esta 4ona se podr+ tener acceso desde la red local e Internet y firewall controlara los
accesos a los servicios que se encuentren alo)ados dentro de la $%3.
%as inform+ci'n/
http/""es.wi6ipedia.org"wi6i"3ona7desmilitari4ada789:inform8;8A<tica89=
8.). Concetos Ita!les.
Antes de poder administrar nuestro firewall tendremos que saber para que nos
sirve cada de una de las tablas que usa iptables para sus reglas y algunos conceptos
m+s.
8.).1. *a!las.
uando nosotros enviamos un paquete o una solicitud de servicio este pasa por
tres tipos de tablas que debemos conocer.
*a!la +,*.
Esta tabla que debe ser usada cuando se desea hacer los paquetes sean
enrutados a una m+quina cliente dentro de una red local o $%3, pero tambin podremos
enmascarar un red local y tener salida hacia Internet. $entro de esta tabla tenemos las
siguientes opciones/
2
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
P-#*.-/*I+0. !ermite establecer las comunicaciones desde la red
interna al exterior. !or e)emplo, para hacer que la red interna tenga
Internet.
P.E.-/*I+0. !ermite establecer las comunicaciones desde la red
externa a la red interna. !or e)emplo, se utili4a para que desde el exterior
se tenga acceso a un servidor interno.
$+,*1 Este par+metro se emplea cuando tenemos casos en donde se tiene un I!
!ublica y el servicio se encuentra dentro de la red local o $%3 y el firewall el
encargado de redirigir esta petici'n a la m+quina en donde se encuentre el servicio.
#+,*1 Esta opci'n se ocupa cuando queremos esconder nuestra I! de red local o
$%3, cambi+ndola dentro del firewall con la I! p&blica proporcionada por nuestro
proveedor de Internet.
%,#2/E.,$E1 (ace lo mismo que .5AT, pero %A.>#E?A$E
autom+ticamente convierte nuestra I! de la red local o $%3 a I! publica y se
recomienda tener esta configuraci'n cuando en nuestra red asignamos I! de forma
$(!.
*a!le %,+0LE.
Esta tabla se usa principalmente para modificar paquetes. $entro de esta tabla
tenemos las siguientes opciones/
*-#1 Es usado para definir o cambiar el tipo de servicio de un paquete que puede
ser usado para configurar pol@ticas en la red considerando a ser enrutados los
paquetes, no debemos usarlo para paquetes que vayan hacia Internet.
**L1 Es usado para cambiar el campo tiempo de vida de un paquete y con ello
conseguir un TT* especifico.
%,.31 .e usa para marca los paquetes con valores espec@ficos, con estas
marcas podremos limitar el ancho de banda y generar colas.
*a!la FIL*E..
Esta esta la tabla principal para el filtrado de paquetes donde vemos el tipo de
paquete que podemos comparar y filtrar dentro del firewall. $entro de esta tabla tenemos
las siguientes tipos de paquetes/
I+P/*1 !aquetes de entrada hacia nuestro firewall.
F-.4,.$1 !aquetes enrutados por medio del firewall a otra m+quina.
-/*P/*1 !aquetes de salida de nuestro firewall.
3
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
8.).). Estados.
*os estados en realidad son los seguimientos de conexiones dentro del firewall.
!ara esto tenemos las siguiente opciones/
E#*,BLI#5E$1 El paquete seleccionado se asocia con otros paquetes en una
conexi'n establecida.
I+6,LI$1 El paquete seleccionado no puede ser asociado hacia ninguna conexi'n
conocida.
+E41 El paquete seleccionado esta creando una nueva conexi'n o bien forma
parte de una conexi'n de dos caminos.
.EL,*E$1 El paquete seleccionado esta iniciando una nueva conexi'n en alg&n
punto de la conexi'n existente.
!odemos tomar decisiones a partir del estado del paquete por medio del modulo state
con el parametro 78' state9, se refiere a la posibilidad de mantener informaci'n sobre el
estado de la conexi'n en memoria. El seguimiento de conexiones se reali4a en cadenas
P.E.-/*I+0 : -/*P/*, el numero m+ximo de conexiones esta guardada en
;roc;s:s;net;i<=;i>conntrac?>'ax.
8.).@. Protocolos.
Todos los servicios mane)an protocolos para su comunicaciones, por lo cual
iptables podremos administrar servicios dentro de los protocolos/
*CP1 !rotocolo de ontrol de Transmisi'n, este protocolo es mas utili4ado por los
servicios ofrecidos por alg&n servidor y en general en todo Internet y redes locales.
http://es.wikipedia.org/wiki/Transmission_Control_Protocol
/$P1 !rotocolo de $atagrama de #suario, sirve para el env@a de datagrama pero
debe existir una conexi'n establecida.
http://es.wikipedia.org/wiki/Udp
IC%P1 !rotocolo de %ensa)es de ontrol y Error de Internet, este protocolo
solamente lo utili4amos cuando hacemos env@o de paquetes de un m+quina a otra
como al hacer ping.
http://es.wikipedia.org/wiki/Internet_Control_Message_Protocol
!ara poder utili4ar estos protocolos podremos usar el par+metro 789.
8.).=. -!Aeti<os;,cciones.
uando nosotros creamos una regla iptables tenemos varias acciones b+sicas en
las cuales podremos indicar al firewall que hacer con ellas. Estas acciones son/
,CCEP*1 Acepta los paquete que pase por el firewall.
$.-P1 $eniega los paquete que pase por el firewall, cortando la comunicaci'n.
.EBEC*1 1unciona b+sicamente igual que el ob)etivo $?A!, aunque en este caso
se devuelve un mensa)e de error al host que env@o el paquete bloqueado.

Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons


.E$I.EC*1 .irve para redirigir paquetes y flu)os hacia una m+quina de la red local
o $%3. Tambin sirve para redirigir peticiones entre puerto del mismo firewall para
la activaci'n de servicios.
%,#2/E.,$E1 (ace lo mismo que .5AT, pero %A.>#E?A$E
autom+ticamente convierte nuestra I! de la red local o $%3 a I! publica y se
recomienda tener esta configuraci'n cuando en nuestra red asignamos I! de forma
$(!.
L-01 Este ob)etivo funciona para registrar informaci'n detallada sobre los
paquetes que pasan por el firewall.
8.).C. Co'andos de ita!les.
(asta este momento solamente sabemos sobre los conceptos de iptables pero
ahora aprenderemos la estructura de la creaci'n de la reglas de iptables y con
par+metros que podemos utili4ar. El comando iptables contiene las siguientes
opciones/
-cin $escricin
0A Agrega una cadena iptables al firewall.
0 Berifica una cadena antes de aCadirla al firewall.
0$ Dorra una cadena de iptables en el firewall.
0E ?enombra una cadena de iptables.
01 *ibera o limpia de cadena en el firewall.
0I
Inserta una cadena en una cadena en un punto especificado por un valor
entero definido por el usuario.
0* *ista todas las cadena de iptables aplicadas en el firewall.
05 rea una nueva cadena con un nombre especificando por el usuario.
0!
onfigura la pol@tica por defecto en una cadena en particular y puede ser
AE!T o $?A!.
0?
?eempla4a una regla en una cadena en particular, se debe especificar el
numero de regla.
0E
Dorra cadenas especificada por el usuario, no se permiten borrar cadenas no
creada por el usuario.
03 !one en ceros los contadores de bytes y de paquetes.
8.).D. ParE'etros de ita!les.
El comando iptables tiene varios par+metros que debemos conocer antes de ver
algunos e)emplos ya que estos par+metros nos sirven para indicar alguna propiedad a
nuestra regla creada dentro de firewall. Be+mos los siguientes par+metros de iptables.
!
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
ParE'etros $escricin EAe'lo
0d
Especifica I! destino, se usa para el redireccionamiento
de servicio dentro de la red local o $%3.
0d <=9.<F:.9.<GG
0d <G.G.9.9H
0i
Especificamos una interfaces de entrada. .e pueden
especificar las conexiones que vienen de internet, red
local o $%3
0i ethG
0i wlanG
0i pppG
0) Especifica la acci'n a reali4ar.
0) AE!T
0) $?A!
0) ?EIET
0o
Indica una interfa4 de salida. .e ocupa solamente para
conexiones de la red local o $%3
0o eth<
0o pppG
0p
Especificamos el tipo de protocolo a utili4ar en los
paquetes.
0p tcp
0p udp
0p icmp
0s
Especificamos la direcci'n origen del env@o de
paquetes.
0s <=9.<F:.9.G"9J
0s G.G.G.G"G
00dport !uerto de entrada o destino de alg&n servicio.
00dport 99
00dport :G
00sport
!uerto de salida de alg&n recurso, utili4ado dentro de la
red local y $%3
00sport <:F;
00sport 9:JH
00to I! destino del servicio.
00to
<=9.<F:.9.<GG/:G
on esto ya tenemos todas las opciones necesarias necesarias que podremos utili4ar en
iptables. !ara cambiar las reglas en iptables tendremos que hacerlo co'o root o con
sudo delante de la orden.
8.).F. Estructura de las reglas en Ita!les.
NOTA: OJO!! con el orden en el cual disponemos las reglas.
IP*,BLE# LEE $E %,+E., #EC/E+CI,L L,# C,$E+,# $E .E0L,#.
Es decir, comien4a por la primera y verifica que se cumpla la condici'n y la e)ecuta sin
verificar las siguientes.
!or consiguiente, si la primera regla en la tabla filter de la cadena input es recha4ar
cualquier paquete,las siguientes reglas no ser+n verificadas, y se recha4ar+ cualquier
paquete. omo norma general estos son los pasos a seguir/
<. Dorrar las reglas y las cadenas que hubiera, para asegurarnos de que s'lo estn
cargadas nuestras reglas.
9. Establecer las pol@ticas por defecto para saber qu hacer si un paquete no
coincide con ninguna regla.
"
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
;. Empe4ar el filtrado de paquetes con las reglas que queramos, cuidando el orden/
pondremos las reglas de m+s espec@ficas a m+s generales.
8.).8. +o'enclatura de las reglas.
ita!les 8, GFiltroH GarE'etros de la reglaH Go!Aeti<oH
omen4aremos a ver algunas reglas de iptables.
E)emplo </ .e aceptar+n todas la peticiones que vengan por la interfa4 de red ethG.
ita!les 8, I+P/* 8i et"I 8A ,CCEP*
E)emplo 9/ .e aceptan todas las peticiones tcp que vayan al puerto :G por la interfa4 ethG.
ita!les 8, I+P/* 8i et"I 8 tc 88dort 8I 8A ,CCEP*
E)emplo ;/ ?echa4amos todas las peticiones del protocolo icmp en todas las interfaces de
red, no aceptamos ping.
ita!les 8, I+P/* 8 ic' 8A .EBEC*
8.@. Firewall BEsico.
!ara ver y entender me)or su funcionamiento ahora veremos la configuraci'n b+sica de
un iptables, creando nuestra reglas y describindo para que sirve cada una.
!rimero limpiamos las reglas de iptables en todas las tablas.
ita!les 8F
ita!les 8J
ita!les 8&
ita!les 8t nat 8F
Establecemos pol@tica por defecto de cada de una de la tablas.
ita!les 8P I+P/* ,CCEP*
ita!les 8P -/*P/* ,CCEP*
ita!les 8P F-.4,.$ ,CCEP*
Aceptamos conexiones locales en la interfa4 lo ,loopbac6- para evitar errores del sistema
ita!les 8, I+P/* 8i lo 8A ,CCEP*
Ahora aceptaremos todas las comunicaciones que nos interesan y luego denegamos el
resto.
Aceptamos todas la conexiones entrantes al uerto ));ss" por la interfa4 de red ethG.
ita!les 8, I+P/* 8i et"I 8 tc 88dort )) 8A ,CCEP*
Aceptamos todas la conexiones entrantes al uerto 8I;aac"e por la interfa4 de red ethG.
ita!les 8, I+P/* 8i et"I 8 tc 88dort 8I 8A ,CCEP*
#
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
?echa4a todas la dem+s conexiones desde el uerto 1 al 1I)= por protocolo tc;ud por
la interfa4 de red ethG.
ita!les 8, I+P/* 8i et"I 8 tc 88dort 111I)= 8A .EBEC*
ita!les 8, I+P/* 8i et"I 8 ud 88dort 111I)= 8A .EBEC*
.olamente queda verificar que haya e)ecutado las reglas correctamente, para verificarlo
e)ecutamos el siguiente comando.
ita!les 8nL
.i queremos probar la efectividad de nuestro firewall, podemos probar a bloquear el
puerto ;<9: usado por el proxy y veremos como los clientes que hubiramos configurado
para que navegaran a travs de l de)ar+n de poder hacerlo
ita!les 8, I+P/* 8i et"I 8 tc 88dort @1)8 8A .EBEC*
#sando esa regla cualquier petici'n tcp al puerto ;<9: que llegara al servidor ser@a
recha4ada. .i queremos borrar esa &ltima regla para volver a de)ar el firewall como antes
usamos el par+metro K0$L
ita!les 8$ I+P/* 8i et"I 8 tc 88dort 111I)= 8A .EBEC*
8.=. Firewall L,+.
Ahora veremos como configurar un firewall del tipo *A5.
*os clientes de la red local podr+n acceder a Internet pero s'lo a los servicios de
5**P;5**P# : $+#.
$esde Internet se permitir+ conectarse a servicios de 5**P;F*P que est+n dentro
de la red local.
omo siempre que empe4amos una configuraci'n limpiamos las reglas de iptables en
todas las tablas.
ita!les 8F
$
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
ita!les 8J
ita!les 8&
ita!les 8t nat 8F
Establecemos pol@ticas por defecto
ita!les 8P I+P/* ,CCEP*
ita!les 8P -/*P/* ,CCEP*
ita!les 8P F-.4,.$ ,CCEP*
ita!les 8t nat 8P P.E.-/*I+0 ,CCEP*
ita!les 8t nat 8P P-#*.-/*I+0 ,CCEP*
Todas la peticiones que vengan de Internet hacia el uerto 8I redirigirlo a nuestro
servidor apache con I! <=9.<F:.9.<GG/:G.
ita!les 8t nat 8, P.E.-/*I+0 8i I 8 tc 88dort 8I 8A $+,* 88to 1K).1D8.).1II18I
Todas la peticiones que vengan de Internet hacia el uerto )1 redirigirlo a la m+quina
que tenga el servidor 1T!
ita!les 8t nat 8, P.E.-/*I+0 8i I 8 tc 88dort )1 8A $+,* 88to 1K).1D8.).1II1)1
Aceptamos conexiones locales en la interfa( lo (loo!ac?)
ita!les 8, I+P/* 8i lo 8A ,CCEP*
Tenemos acceso al firewall desde el segmento de red <=9.<F:.9.G por la interfa4 ethG
ita!les 8, I+P/* 8s 1K).1D8.).I;)= 8i et"I 8A ,CCEP*
Aceptamos que todo el trafico que viene desde la red local y vaya hacia los puertos
:G"JJ; sean aceptadas, estas son solicitudes "tt;"tts
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8i et"I 8 tc 88dort 8I 8A ,CCEP*
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8i et"I 8 tc 88dort ==@ 8A ,CCEP*
Aceptamos las consultas de $+# de la red local
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8i et"I 8 tc 88dort C@ 8A ,CCEP*
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8i et"I 8 ud 88dort C@ 8A ,CCEP*
$enegamos el resto de los servicios
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8i et"I 8A .EBEC*
Ahora hacemos en'ascara'iento de la red local
ita!les 8t nat 8, P-#*.-/*I+0 8s 1K).1D8.).I;)= 8o et"1 8A %,#2/E.,$E
Establecemos el sistema como router para que permita el F-.4,.$ para ello editamos
el archivo ;etc;s:sctl.conf para establecer la variable net.ipv4.ip_forward=1
descomentando la l@nea donde est+ ,>uitamos la almohadilla de delante-.
%
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
.i no queremos tener que cambiarle los permisos al archivo
;roc;s:s;net;i<=;i>forward vamos a tener que loguearnos co'o root ,hasta ahora
hemos estado usando MsudoM delante de los comandos de terminal para invocarlos como
root y as@ no poder cambiar otras cosas por equivocaci'n- con
su 8
sino lo hemos hecho nunca en el sistema primero debemos darle un password a la cuenta
root
sudo asswd root
una ve4 logueados como root e)ecutamos
ec"o 719 L ;roc;s:s;net;i<=;i>forward
Na podemos volver a nuestro usuario
su no'!re>usuario
!or &ltimo recha4amos todas la dem+s conexiones de servicios desde el puerto < al <G9J
por protocolo tcp"udp por la interfa4 de red ethG.
ita!les 8, I+P/* 8s I.I.I.I;I 8 tc 8dort 111I)= 8A $.-P
ita!les 8, I+P/* 8s I.I.I.I;I 8 ud 8dort 111I)= 8A $.-P
8.C. Firewall L,+;$%&.
Ahora veremos como configurar nuestro firewall con la comunicaci'n de la
*A5"I5TE?5ET a $%3, es decir con un firewall con tres KpatasL ,interfaces de red-/
ethG conectada a Internet
eth< conectada a nuestra red local por eth<, red <=9.<F:.9.G"9J
eth9 a una 4ona de servidores $%3, red <G.G.9.G"9J
1&
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
*os clientes de la red local pueden conectarse a servicios del tipo A!A(E en la
$%3,
$esde Internet se permitir+ conectarse a servicios de A!A(E que se encuentran
en $%3, el servidor apache tiene la ip <G.G.9.;G.
*impiando reglas de iptables en todas las tablas.
ita!les 8F
ita!les 8J
ita!les 8&
ita!les 8t nat 8F
Establecemos pol@tica por defecto
ita!les 8P I+P/* ,CCEP*
ita!les 8P -/*P/* ,CCEP*
ita!les 8P F-.4,.$ ,CCEP*
ita!les 8t nat 8P P.E.-/*I+0 ,CCEP*
ita!les 8t nat 8P P-#*.-/*I+0 ,CCEP*
Todas la peticiones que vengan de Internet hacia el puerto :G:G redirigirlo a la m+quina
de la $%3 con I! <G.G.9.;G/:G que es el servidor Apache.
ita!les 8t nat 8, P.E.-/*I+0 8i I 8 tc 88dort 8I8I 8A $+,* 88to 1I.I.).@I18I
Aceptamos conexiones locales en la interfa4 lo
ita!les 8, I+P/* 8i lo 8A ,CCEP*
Tenemos acceso al firewall desde la red local y $%3
ita!les 8, I+P/* 8s 1K).1D8.).I;)= 8i et"1 8A ,CCEP*
ita!les 8, I+P/* 8s 1I.I.).I;)= 8i et") 8A ,CCEP*
Ahora hacemos enmascaramiento de la ?ed *ocal y $%3.
ita!les 8t nat 8, P-#*.-/*I+0 8s 1K).1D8.).I;)= 8o et"I 8A %,#2/E.,$E
ita!les 8t nat 8, P-#*.-/*I+0 8s 1I.I.).I;)= 8o et"I 8A %,#2/E.,$E
11
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
ec"o 719 L ;roc;s:s;net;i<=;i>forward
onexi'n del servidor Apache desde la red local a $%3.
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8d 1I.I.).@I 8 tc M8dort 8I 8A ,CCEP*
ita!les 8, F-.4,.$ 8s 1I.I.).@I 8d 1K).1D8.1.I;)= 8 tc M8dort 8I 8A ,CCEP*
$enegamos los dem+s servicios.
ita!les 8, I+P/* 8s I.I.I.I;I 8 tc 8dort 111I)= 8A $.-P
ita!les 8, I+P/* 8s I.I.I.I;I 8 ud 8dort 111I)= 8A $.-P
8.D. .eglas extras.
En esta secci'n s'lo mostraremos algunas otras reglas que han faltado explicar.
8.D.1. 5a!ilitando <arios uerto en una regla.
$entro de iptables tenemos la capacidad de hacer reglas para nuestro firewall con varios
puerto de conexi'n al mismo tiempo.
EAe'lo 11 !ermitimos las conexi'n desde cualquier equipo de la red local al servidor en
los puerto 99 y :G.
ita!les 8, I+P/* 8s 1K).1D8.).I;)= 8 tc 8' 'ultiort 88dort ))N8I 8A ,CCEP*
EAe'lo )1 .olamente permitiremos la conexi'n del cliente con la I! <=9.<F:.9.HG a los
puertos 9G,9< y 9;.
ita!les 8, I+P/* 8s 1K).1D8.).CI 8 tc 8' 'ultiort88dort )IN)1N)@ 8A
,CCEP*
EAe'lo @1 ?echa4amos todas las peticiones entrantes desde el puerto < al 9HGG
ita!les 8, I+P/* 8s I.I.I.I;I 8 ud 8dort 11)CII 8A $.-P
8.D.). Prox: *ransarente.
omo vimos en la unidad anterior con iptables podemos configurar el proxy para
que sea transparente a los clientes sin tener que configurarlos uno a uno, redirigiendo las
peticiones que le llegan a la interfa4 de red que conecta con la *A5 ethG del puerto :G al
puerto del proxy ;<9: ,o :G:G seg&n lo hayamos configurado-.
Toda peticiones que venga por la interfa4 de red ethG y con salida al puerto :G
redireccionar al puerto ;<9:.
ita!les 8t nat 8, P.E.-/*I+0 8i et"I 8 tc 88dort 8I 8A .E$I.EC* 88to8ort @1)8
8.D.@. Bloquear ings.
Explicaremos varias reglas que podremos utili4ar para bloquear los ping.
EAe'lo 11 !odremos bloquear los pings que nos env@e un cliente, o un segmento de red.
ita!les 8, I+P/* 8 ic' 8s 1K).1D8.).I;I 8A $.-P
ita!les 8, I+P/* 8 ic' 8s 1K).1D8.).)I 8A $.-P
12
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
EAe'lo )1 !ero si quisiramos bloquear completamente los pings de cualquier fuente
ita!les 8, I+P/* 8 ic' 8s I.I.I.I;I 8A $.-P
Tambin es posible bloquear clientes, etc por la %,C ,ddress un cliente.
ita!les 8, I+P/* 8' 'ac 88'ac8source II11C1CC1BC1@@1DC 8A $.-P
8.F. 0uardando configuraciones.
. $espus de haber introducido nuevas reglas en iptables si reiniciamos el servidor
estas reglas se perder+n. (ay varias formas de que estas reglas permane4can si las
queremos usar en m+s ocasiones, o cargarlas siempre que se arranque el sistema. #na
de ellas es creando un archivo que usaremos co'o un ser<icio que podremos arrancar,
detener o cargar al inicio como la mayor@a de servicios del sistema.
!ara ello nos iremos a la carpeta ;etc;init.d; y all@ creamos un archivo que llamaremos
ita!les.cf
sudo nano ita!les.cf
editamos el archivo y metemos nuestras reglas iptables, para probarlo podemos introducir
las reglas del firewall b+sico que hemos visto anteriormente. A continuaci'n damos
er'isos de eAecucin al archivo iptables.cf recin creado
sudo c"'od aOx ;etc;init.d;ita!les.cf
y a partir de aqu@ ya podemos e)ecutar el archivo como si de otro servicio se tratase
cargando cada ve4 que lo iniciemos las reglas que hemos definido dentro de l.
sudo ser<ice ita!les.cf start
Tambin podemos reiniciarlo o pararlo
sudo ser<ice ita!les.cf restart
sudo ser<ice ita!les.cf sto
comprobamos que efectivamente estas reglas est+n cargadas y correctas.
sudo ita!les 8nL
.i adem+s quisiramos que se e)ecute al arranque del sistema instalare'os un
equePo rogra'a que nos ayuda a configurar los archivos que se e)ecutan al iniciar el
equipo
sudo at8get install rcconf
y lo e)ecutamos como root.
sudo rcconf
.eleccionando de la lista el archivo e)ecutable que hemos creado ita!les.cf
13
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
00000000000000000000000000000000
-tra for'a si ya tenemos reglas que hemos introducido mediante l@neas de comandos y
queremos guardarlas, crearemos un archivo ;etc;ita!les.reglas
sudo nano ita!les.reglas
$aremos permisos de escritura al archivo, o nos logueados como root como hemos visto
previamente sino queremos modificar los permisos del archivo recin creado.
sudo c"'od aOw ;etc;ita!les.reglas
y usaremos el comando ita!les8sa<e indic+ndole que queremos guardar las reglas en
nuestro archivo iptables.reglas
sudo ita!les8sa<e L ;etc;ita!les.reglas
on eso asare'os toda la configuracin que tenga ita!les en ese 'o'ento al
arc"i<o ita!les.reglas. omprobamos que las reglas que tuviramos definidas est+n
dentro del archivo
sudo nano ;etc;ita!les.reglas
.i reiniciamos y queremos recargar la configuraci'n de nuestro firewall podemos usar
ita!les8restore
sudo ita!les8restore Q ;etc;ita!les.reglas
.i adem+s queremos que se carguen al iniciar el interfa4 de red cuando se arranca el
sistema, podemos aCadir al archivo ;etc;networ?;interfaces la l@nea
re8u ita!les8restore Q;etc;ita!les.rules
1
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
Aparte de estas dos formas, tambin podemos almacenar las reglas que definamos en
iptables como scripts para e)ecutarlas cuando queramos como lo har@amos con cualquier
otra cadena de comandos que formaran un script en *inux.
8.8. -tro suuesto rEctico.
Bamos a ver un &ltimo supuesto pr+ctico para comprender me)or iptables, se va a
configurar un servidor para que act&e como router. !ara ello, es necesario reali4ar los
siguientes pasos/
onfigurar las interfaces de red para que el servidor tenga acceso a las dos
redes/ Internet y la red interna.
onfigurar iptables para que permita el acceso de la red interna a Internet.
Configuracin de las interfaces de red
.iguiendo el esquema de red propuesto, la interfa4 de red eth0 es la encargada de
conectarse a Internet, mientras que la interfa4 eth1 pertenece a la red interna. *os
par+metros de configuraci'n de eth0 los tiene que facilitar el proveedor de Internet o los
puede obtener autom+ticamente utili4ando $(!.
omo ya sabemos la configuraci'n de las interfaces de red se encuentra en el fichero
;etc;networ?;interfaces.
auto et"I
iface et"I inet d"c
auto et"1
iface et"1 inet static
address 1K).1D8.).1II
net'as? )CC.)CC.)CC.I
networ? 1K).1D8.).I
!roadcast 1K).1D8.).)CC
R gatewa: 1K).1D8.).1II
Estable4ca el sistema para que act&e como router ,logueados como root-/
su 8
ec"o 719 L ;roc;s:s;net;i<=;i>forward
*impiamos la configuraci'n del cortafuegos/
1!
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
ita!les 8F
ita!les 8J
ita!les 8&
ita!les 8t nat 8F
Indicamos que la red interna tiene salida al exterior por 5AT/
ita!les 8t nat 8, P-#*.-/*I+0 8s 1K).1D8.).I;)= 8d I;I 8A %,#2/E.,$E
!ermitimos todo el tr+fico de la red interna y todo lo dem+s se deniega/
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8A ,CCEP*
ita!les 8, F-.4,.$ 8' state 88state .EL,*E$NE#*,BLI#5E$ 8A ,CCEP*
ita!les 8, F-.4,.$ 8A $.-P
Ouarde la configuraci'n del cortafuegos e)ecutando como root
ita!les8sa<e L;etc;ita!les.rules
y modifique el fichero /etc/sysctl.conf para establecer la variable
net.i<=.i>forwardS1.
!ara comprender me)or iptables, se va a reali4ar una me)ora del supuesto en la que la red
interna s'lo tiene acceso al exterior para ver p+ginas web ,puerto :G"T!- y para la
resoluci'n de nombres ,H;"#$! y H;"T!-. Adem+s, se va a publicar un servidor web
interno que se encuentra en la direcci'n <=9.<F:.9.<GG.
omo siempre limpiamos la configuraci'n del cortafuegos/
ita!les 8F
ita!les 8J
ita!les 8&
ita!les 8t nat 8F
Indicamos que la red interna tiene salida al exterior por 5AT.
ita!les 8t nat 8, P-#*.-/*I+0 8s 1K).1D8.).I;)= 8d I;I 8A %,#2/E.,$E
.e permite s'lo el tr+fico web ,:G"tcp- y $5. ,H;"udp y H;"tcp-. Todo lo dem+s se
deniega/
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8 *CP 88dort 8I 8A ,CCEP*
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8 *CP 88dort C@ 8A ,CCEP*
ita!les 8, F-.4,.$ 8s 1K).1D8.).I;)= 8 /$P 88dort C@ 8A ,CCEP*
ita!les 8, F-.4,.$ 8' state 88state .EL,*E$NE#*,BLI#5E$ 8A ,CCEP*
ita!les 8, F-.4,.$ 8A $.-P
1"
Redes, servidores y seguridad informtica en Linux . CEP Indalo. Enrique Brotons
?ediri)imos el tr+fico web que entra por la interfa4 externa ,ethG- al servidor de la red
interna/
ita!les 8t nat 8, P.E.-/*I+0 8i et"I M tc 88dort 8I 8A $+,* 88 to
1K).1D8.).1II18I
Ouardamos la configuraci'n del cortafuegos e)ecutando/
ita!les8sa<e L;etc;ita!les.rules
omo podemos ver las diferentes configuraciones y posibilidades de iptables son casi
ilimitadas y se van comprendiendo me)or cuanto m+s e)emplos vamos viendo y probando.
Este art@culo esta licenciado ba)o reative ommons Attribution05onommercial0.hareAli6e 9.H *icense.
Redes, servidores y seguridad informtica en Linux
Enrique Drotons
1#

Vous aimerez peut-être aussi