El Cortafuegos Utilizado Para Gestionar Las Conexiones en Linux Es Iptables
-
Upload
daniel-siles -
Category
Documents
-
view
212 -
download
0
Transcript of El Cortafuegos Utilizado Para Gestionar Las Conexiones en Linux Es Iptables
-
8/17/2019 El Cortafuegos Utilizado Para Gestionar Las Conexiones en Linux Es Iptables
1/3
El cortafuegos utilizado para gestionar las conexiones en Linux es iptables. Las posibilidadesde iptables son prácticamente infinitas y un administrador que quiera sacarle el máximoprovecho, puede realizar configuraciones extremadamente complejas. Para simplificar, diremosque básicamente, iptables permite crear reglas que analizarán los paquetes de datos queentran, salen o pasan por nuestra máquina, y en funcin de las condiciones queestablezcamos, tomaremos una decisin que normalmente será permitir o denegar que dicho
paquete siga su curso.
El cortafuegos controla las comunicaciones entre la red y el exterior
Para crear las reglas, podemos analizar muchos aspectos de los paquetes de datos. Podemos
filtrar paquetes en funcin de!
Tipo de paquete de datos:
• "ipo #$P%"! paquetes que llegan a nuestra máquina
• "ipo &%"P%"! paquetes que salen de nuestra máquina
• "ipo '&()*(+! paquetes que pasan por nuestra máquina
Interfaz por la que entran (-i = input) o salen (-o = output) los paquetes
• eth, eth-, lan, ppp, ...
IP origen de los paquetes (-s = source)
• #P concreta, ej! -..-./
• (ango de red, ej! -..-.01
IP destino de los paquetes (-d = destination)
• #P concreta, ej! -..-./
• (ango de red, ej! -..-.01
-
8/17/2019 El Cortafuegos Utilizado Para Gestionar Las Conexiones en Linux Es Iptables
2/3
Protocolo de los paquetes (-p = protocol)
• "cp, udp, icmp...
Hacer !T (modificar IP origen y destino para conectar nuestra red a otra red o a
Internet) y"""
• 'iltrar antes de enrutar! P(E(&%"#$2
• 'iltrar despu3s de enrutar! P&4"(&%"#$2
#os paquetes pueden entrar$ salir o pasar
%na forma sencilla de trabajar con iptables es permitir las comunicaciones que nos interesen y
luego denegar el resto de las comunicaciones. Lo que se suele hacer es definir la pol5tica por
defecto aceptar 6*77EP"8, despu3s crear reglas concretas para permitir las comunicaciones
que nos interesen y finalmente, denegar el resto de comunicaciones. Lo mejor será crear un
script en el que dispondremos la secuencia de reglas que queremos aplicar en nuestro sistema.
%n ejemplo t5pico podr5a ser el siguiente!
9:0bin0sh
9 4cript cortafuegos.sh para la configuracin de iptables
9
9 Primero borramos todas las reglas previas que puedan existir
iptables ;'
iptables ;<
iptables ;=
iptables ;t nat ;'
9 +espu3s definimos que la politica por defecto sea *7EP"*(
iptables ;P #$P%" *77EP"
iptables ;P &%"P%" *77EP"
iptables ;P '&()*(+ *77EP"
iptables ;t nat ;P P(E(&%"#$2 *77EP"
iptables ;t nat ;P P&4"(&%"#$2 *77EP"
9 Para evitar errores en el sistema, debemos aceptar
9 todas las comunicaciones por la interfaz lo 6localhost8
iptables ;* #$P%" ;i lo ;j *77EP"
9 *ceptamos las comunicaciones que nos interesan y luego denegamos el resto.
9 Ejemplo! +enegamos acceso al aula -
iptables ;* '&()*(+ ;s -..-.0>? ;j +(&P
-
8/17/2019 El Cortafuegos Utilizado Para Gestionar Las Conexiones en Linux Es Iptables
3/3
9 *ceptamos 4@"P, P&P/ y '"P 6correo electrnico y ftp8
iptables ;* '&()*(+ ;s -...01 ;p tcp ;;dport >A ;j *77EP"
iptables ;* '&()*(+ ;s -...01 ;p tcp ;;dport -- ;j *77EP"
iptables ;* '&()*(+ ;s -...01 ;p tcp ;;dport > ;j *77EP"
iptables ;* '&()*(+ ;s -...01 ;p tcp ;;dport >- ;j *77EP"
9 B""P y B""P4 no es necesario porque nuestro servidor será servidor proxy
9 +ejamos comentadas las l5neas, por si algCn d5a las necesitamos
9iptables ;* '&()*(+ ;s -...01 ;p tcp ;;dport 1 ;j *77EP"
9iptables ;* '&()*(+ ;s -...01 ;p tcp ;;dport ??/ ;j *77EP"
9 +$4 no es necesario porque nuestro servidor será servidor +$4
9 +ejamos comentadas las l5neas 6tcp y udp8, por si algCn d5a las necesitamos
9iptables ;* '&()*(+ ;s -...01 ;p tcp ;;dport A/ ;j *77EP"
9iptables ;* '&()*(+ ;s -...01 ;p udp ;;dport A/ ;j *77EP"
9 *l P7 del +irector le damos acceso a todo 6cliente D#P8
iptables ;* '&()*(+ ;s -... ;j *77EP"
9 +enegamos resto de comunicaciones 6no funcionará el p>p8
iptables ;* '&()*(+ ;s -...01 ;j +(&P
9 Bacemos $*" si #P origen -...01 y salen por eth
iptables ;t nat ;* P&4"(&%"#$2 ;s -...01 ;o eth ;j @*4F%E(*+E
9 *ctivamos el enrutamiento
echo - G 0proc0sys0net0ipv?0ipHforard
9 7omprobamos cmo quedan las reglas
iptables ;L ;n
En el script anterior vemos una serie de reglas que se van a ir ejecutando secuencialmente
conformando la configuracin del cortafuegos iptables. 7uando indicamos I;* '&()*(+I nos
referimos a paquetes que van a pasar por nuestro servidor. &tras opciones son I;* #$P%"I y I;
* &%"P%"I. *cto seguido ponemos las condiciones. 4i ponemos I;s -...01I nos referimos
a paquetes cuya #P origen está en el rango -...01. 7uando ponemos I;p tcpI nos referimos
a paquetes que utilizan el protocolo tcp. 7uando indicamos I;;dport >AI nos referimos a
paquetes cuyo puerto de destino es el >A, es decir, protocolo 4@"P 6correo saliente8. 4i en una
regla no ponemos la condicin ;p ni la condicin ;;dport, significa que no nos importa el
protocolo 6cualquier protocolo8 ni nos importa el puerto destino 6cualquier puerto destino8. Por
ejemplo, en la regla donde damos acceso al P7 del +irector, no hemos indicado ni protocolo ni
puerto, por lo que dejará pasar todos los protocolos y todos los puertos