Está en la página 1de 7

Introducción a Iptables : Linux : ADSL Ayuda http://www.adslayuda.com/Linux-iptables_basico.

html

Identificación : - USUARIO - ******** GO


¡ Regístrate ahora ! ¿ Olvidaste la contraseña ?

inicio foros descargas test velocidad Comparativa ADSL oferta adsl Alojada en
chat Redcoruna

Introducción a Iptables Herramientas

¿ Cuál es mi IP ? Análisis de DNS


En este tutorial intentaremos ver los
aspectos fundamentales de la herramienta Comparativa ADSL Cobertura ADSL Rural
Iptables. Su uso es muy flexible y complejo,
Contraseñas Routers Disponibilidad ADSL
y ni mucho menos intentaremos explicar
toda su funcionalidad en este tutorial. Nos Disponibilidad Imagenio Geolocalización IP
centraremos en cómo protejer un máquina y Parrilla Imagenio Scan de Puertos
en el método general para establecer reglas
de filtrado. Test de Velocidad Whois IP

Centrales ADSL
Empezando con Iptables

Iptables es una herramienta que utiliza ADSL


Netfilter (viene en el kernel) para establecer
reglas de filtrado de paquetes. Con ella Estudio calidad Servicio ADSL España
podemos definir reglas que restrinjan el
ADSL 2 Bajas & Reclamaciones
acceso a nuestra máquina, que nos permitan
hacer nat, que nos permitan, junto con otras Cortafuegos Datos de Conexión
herramientas, implementar un QoS, etc. Es Ya.com TV Imagenio
una herramienta muy compleja, y
tremendamente configurable, pero aquí Linux P2P
vamos a aprender cómo podemos establecer Preguntas Frecuentes Puertos
reglas de filtrado para filtrar por IP y por
Redes & Proxys Servidores
puerto los paquetes que pasen por nuestra
máquina. Terminología Windows Vista

VDSL
En iptables, tenemos varios tipos de reglas:
reglas de filtrado, reglas de nat, reglas de
mangle (para manipular paquetes)...
Publicidad
Nosotros nos centraremos en las reglas de
filtrado, para poder filtrar tráfico y
implementar nuestro firewall. Encuesta
Estas reglas se definen en la tabla filter (que
es la tabla por defecto de iptables). Esta ¿Te has sentido estafado por tu proveedor de ADSL?
tabla tiene 3 cadenas: Nunca
Rara vez
INPUT: es para filtrar paquetes que vienen
A veces
hacia nuestra máquina.
OUTPUT: es para filtrar paquetes generados Bastante
por nuestra máquina. Siempre
FORWARD: es para filtrar aquellos Cuenta tu experiencia en comentarios
paquetes que llegan a nuestra máquina pero
no son para nosotros, es decir, que llegan Votar
para que nuestra máquina los reencamine.
Resultados Encuestas

1 de 7 10/05/2009 21:02
Introducción a Iptables : Linux : ADSL Ayuda http://www.adslayuda.com/Linux-iptables_basico.html

Sintaxis básica de Iptables Votos: 424 Comentarios: 14

La sintaxis que seguiremos para añadir Artículos de opinión


reglas a cada una de las cadenas anteriores
será del estilo: Lo que esperamos que sea la Sociedad de la
Informacion y no sabemos si sera Por: Carmen
iptables -t filter -A Rodríguez. Presidenta Adeces.

INPUT <opciones> España es el único país donde baja la banda ancha y


suben las tarifas Por: Eduardo Vidal
iptables -A INPUT Wi-fi municipal: una alternativa democrática de acceso
<opciones> a la Sociedad de la Información Por: Víctor Domingo.
Presidente de la Asociación de Internautas

Podemos usar cualquiera de las 2, ya que la Saturación de la Red: ¿Hay motivos para
preocuparnos? Por: Alejandro Delgado. Director de área
tabla filter es la tabla por defecto. El de Telecomunicaciones
parámetro -A se utiliza para añadir una
Las grandes empresas de teleco ¿Una fuente de
regla a la cadena especificada justo después. riesgos Por: Luis Cisneros. Abogado de XNovo

Los parámetros que utilizaremos para filtrar La separación de redes, ¿una solución? Por: Luis
Cisneros. Abogado de XNovo
son los siguientes:

-t <tabla> Para especificar la tabla


Entrevistas
sobre la que trabajamos. Por ejemplo:
-t nat El porcentaje de problemas técnicos no resueltos vía
-i <interfaz> Para especificar la telefónica oscila entre el 34 de Telefonica o Jazztel y el
interfaz de red por la que entra el 74 de Orange Por: Carmen Rodríguez. Presidenta
paquete. Por ejemplo: -i eth0 Adeces.
-o <interfaz> Para especificar la La penetración de las TIC entre nuestras PYMES en
interfaz de red por la que sale el general no alcanza el grado óptimo para un país como
España Por: Alfonso Arbaiza. Director General de
paquete. Por ejemplo: -o eth0
Fundetec.
-p <protocolo> Para especificar el
El ADSL en España es el más caro y lento de Europa
protocolo del paquete. Por ejemplo: -p
Por: Víctor Domingo. Presidente de la Asociación de
tcp Internautas.
-s <ip> Para especificar la ip de
origen (o red de la que procede) del
paquete. Por ejemplo: -s 192.168.0.2 Routers Wireless
para especificar una ip, o bien -s
192.168.0.0/24 para especificar una 3Com 3CRWDR100Y72 3Com Wireless 11g
red de origen.
Carpobox I Conceptronic C54APRA
-d <ip> Igual que en el caso anterior
pero para la ip destinataria del Comtrend 535 Comtrend 536+
paquete. Conceptronic C54BRS4A D-Link G604T
--dport <puerto> Para especificar el
puerto al que va dirigido el paquete. Ecom EW125ARM Huawei HG 520
Por ejemplo: --dport 22, o bien --dport Inventel DW-B-200 Inventel LiveBox
1:1024 (para especificar un rango de
Linksys WAG160N Linksys WAG354G
puertos).
-j <accion> Para especificar la acción Linksys WAG54G Linksys WRT54G
que realizaremos con el paquete si al
Linksys WRT54GX Netgear DG834G
regla se acepta. Por ejemplo -j
ACCEPT para aceptar el paquete. Sitecom 300N Sitecom WL-174

SMC 2084 WBRPG SMC 7804 WBRA


Nuestro primer cortafuegos con
SMC 7904 WBRA2 Sagem Fast 1500wg
Iptables
Supergrass SGW ADSL2+ Thomson 580 i
Visto esto podemos empezar ya a diseñar Thomson TG585 US Robotics 8054
nuestro cortafuegos, ya que Iptables se
aprende mucho mejor viendo ejemplos que US Robotics 9106 US Robotics 9108

Vigor 2500 Xavi 7768

2 de 7 10/05/2009 21:02
Introducción a Iptables : Linux : ADSL Ayuda http://www.adslayuda.com/Linux-iptables_basico.html

con líneas y líneas de explicacion. Lo que Xavi x7868r Xavi 7968r


haremos será crear un fichero, y en él
Zyxel 2302 HW Zyxel 650/660HW
colocar una detrás de otra todas las reglas
de filtrado que queramos poner, teniendo en Zyxel P660HW-D1
cuenta el orden, ya que cuando una regla
puede ser aplicada, se aplica esa y no
se revisan el resto. Vamos a ver un primer Routers Ethernet
ejemplo de script de iptables.
3Com 812 Alcatel Speed Touch
Supondremos que tenemos un servidor web
Cisco 827 Comtrend 500
y un ftp al que queremos dejar acceso a
todo el mundo, y también un servidor mysql Comentred 5071 RoHs Conectabox 1000 B
al que sólo queremos dejar acceso a un
D-Link 500 D-Link 504G
amigo que nos ayuda a administrar la base
de datos. D-Link 504T Huawei MT882r-T

Linksys BEFSR41 Nokia M1112


#!/bin/bash
Sagem Fast 1200 SpeedStream 5660

echo "Aplicando reglas Supergrass DYN04PLUS Telsey CPVA 500


del firewall..." Thomson 510 US Robotics 9003

US Robotics 9105 Xavi 7028


# Borramos las reglas que
Xavi x8821r Zoom x5
ya pudieran existir, y
Zyxel 643 Zyxel P660R-D1/61c
los contadores
iptables -F
iptables -X Tienda ADSL
iptables -Z
# Establecemos las
políticas por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP MODEM ETHERNET ADSL2/2

60,00 € (IVA inc.)


### Filtrado de paquetes
###
ADSLAyuda en tu Mail
# Permitimos acceso desde Y si quieres recibir ofertas
Introduce tu email y recibirás exclusivas para los
la propia máquina nuestras noticias en tu bandeja Adeseleteros.
iptables -A INPUT -i lo de entrada:

-j ACCEPT
Suscríbete
# Permitimos acceso a los Suscríbete
Consulta nuestros boletines.
puertos 80 (web), 20 y 21
(ftp) Categorias
iptables -A INPUT -i eth0
-p tcp --dport 80 -j Todos las categorias

ACCEPT ADSL ADSLAyuda.com


iptables -A INPUT -i eth0 Análisis Arsys

Auna Cable Carpo

3 de 7 10/05/2009 21:02
Introducción a Iptables : Linux : ADSL Ayuda http://www.adslayuda.com/Linux-iptables_basico.html

-p tcp --dport 20:21 -j Carrefour España


ACCEPT Europa Euskaltel

Hardware Información
# permitimos a nuestro
Internet móvil Jazztel
amigo el acceso a mysql
Linksys Linux
(puerto 3306)
movistar Ono
iptables -A INPUT -i eth0
-p tcp -s 80.37.45.123 Orange Peer To Peer

--dport 3306 -j ACCEPT Seguridad SuperBanda

Tecnologia Tele2
# Ahora cerramos los TeleCable Telefónica
puertos de gestión Terra Tiscali
típicos Uni2 VDSL
iptables -A INPUT -i eth0
Vodafone VoIP
-p tcp --dport 1:1024 -j
WiMax Wireless
DROP
Ya.com
iptables -A INPUT -i eth0
-p udp --dport 1:1024 -j
DROP Recomendamos

# Cerramos el puerto de ADSL BitTorrent

mysql para que nadie más Hispazone eXeem

pueda acceder Posicionamiento web Tienda ADSL

iptables -A INPUT -i eth0 UPSEROS

-p tcp --dpost 3306 -j


DROP
# Cerramos el peurto de
Compara
webmin PCs
Portátiles
iptables -A INPUT -i eth0 Escáner
-p tcp --dport 10000 -j Monitores TFT
Busca productos:
DROP
Bueno, aquí termina nuestro primer ejemplo
de cortafuegos. Para ver si las reglas han
quedado bien aplicadas, podemos utilizar el Generador Banner Ciao
comando:

# iptables -nL
Tambiéne s importante remarcar que sólo
root puede manipular las reglas iptables, así
que deberemos ejecutal script como root.

Expliquemos un poco más el script

Primero borramos todas las reglas de


iptables que pudiera haber cargadas. Esto es

4 de 7 10/05/2009 21:02
Introducción a Iptables : Linux : ADSL Ayuda http://www.adslayuda.com/Linux-iptables_basico.html

importante si no sabemos si el operativo o


alguna ejecución nuestra anterior nos han
dejado reglas ya cargadas.

Lo segundo que hacemos (y muy


importante) es establecer las políticas por
defecto. Estas políticas definen la acción que
se realizará con el paquete si ninguna regla
especificada llega a cumplirse. Nosotros, por
defecto, hemos aceptado todo lo de la
cadena OUTPUT (dejamos salir todo),
aceptamos por defecto todo lo de la cadena
INPUT, ya filtraremos luego lo que no nos
interese, y no dejamos pasar los paquetes
de FORWARD (ya que esto solo debería
permitirse en equipos que van a hacer de
routers de una red). Podríamos haber
establecido la política de INPUT a DROP por
defecto, así no permitiríamos nada, y luego
establecer reglas para permitir el acceso a
todo aquello que queramos; pero eso ya va
a elección de cada uno.

Luego ya empezamos a filtrar. Lo primero


que hacemos es dejar a localhost acceso a
todo, ya que desde nuestro PC podremos
iniciar conexiones al servidor web local, etc.
Estas conexiones irán por la interfaz de lo
(loopback).
Luego permitimos explícitamente acceso a
los puertos 20,21 y 80. Esto es necesario ya
que en las siguientes reglas cerramos el
acceso a los peurtos del 1 al 1024. Puede
parecer contradictorio, pero tiene sentido ya
que las reglas se miran en orden, y si un
paqeute coincide, por ejemplo, con la regla
del puerto 80, se admitirá y no se mirarán
más reglas.
Seguidamente permitimos el acceso a mysql
(puerto 3306) sólo a una ip en concreto (la
de nuestro amigo).
Luego ya cerramos los puertos típicos de
gestión (1:1024), el de webmin (10000) y el
de mysql, ya que no queremos que nadie
más acceda a él.

NOTA: Podemos obtener un listado


completo de puertos y el servicio que
dan mirando el fichero
/etc/services
Pautas generales para cortafuegos
básicos

Habiendo entendido el script vamos a


resumir los pasos que deberían seguirse a la
hora de configurar un cortafuegos básico

5 de 7 10/05/2009 21:02
Introducción a Iptables : Linux : ADSL Ayuda http://www.adslayuda.com/Linux-iptables_basico.html

como este. Evidentemente, cualquier


variación para adaptarlo a las necesidades
de cada uno es perfectamente válida.

1. Borrar las reglas y las cadenas que


hubiera, para asegurarnos de que sólo
estén cargadas nuestras reglas.
2. Establecer las políticas por defecto
para saber qué hacer si un paquete no
coincide con ninguna regla.
3. Empezar el filtrado de paquetes con
las reglas que queramos, cuidando el
orden: pondremos las reglas de más
específicas a más generales.

Para terminar

Pues esto es un script básico de iptables.


Una vez lo hemos creado guardaremos el
fichero y le daremos permiso de ejecución
(con el comando $ chmod u+x
fichero) para poder ejecutarlo.
Una cosa importante es que las reglas de
iptables no se guardan; cuando reiniciemos
la máquina, esas reglas no permanecerán,
así que si queremos que se apliquen las
reglas cada vez que el ordenador arranque
podremos poner este script como demonio,
tal y como se explica en el tutorial de
demonios de este mismo wiki.

Últimas palabras

Como podemos apreciar, existe una gran


flexibilidad a la hora de definir reglas.
Podemos hacer un firewall más o menos
restrictivo en función de la política por
defecto y las reglas que luego apliquemos.
Este tutorial no pretendía dar, ni mucho
menos, el mejor modelo a seguir para
diseñar un cortafuegos; simplemente
mostrar el uso de iptables para filtrar tráfico,
y las muchas posibilidades que esta
herramienta nos ofrece. El uso y diseño del
cortafuegos está completamente abierto a
las necesidades de cada uno.

Tutorial elaborado por Nacx para


ADSLAyuda.com

Home | Colabora | Prensa | Contactar | Versión móvil


XHTML 1.1 | CSS
(CC) 2001-2009 ADSL AYUDA®. Algunos derechos reservados. Aviso Legal.

6 de 7 10/05/2009 21:02
Introducción a Iptables : Linux : ADSL Ayuda http://www.adslayuda.com/Linux-iptables_basico.html

7 de 7 10/05/2009 21:02

También podría gustarte