PDF de programación - IPTABLES Manual práctico

Imágen de pdf IPTABLES Manual práctico

IPTABLES Manual prácticográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 10 de Febrero del 2018)
445 visualizaciones desde el 10 de Febrero del 2018
819,7 KB
26 paginas
Creado hace 16a (11/08/2003)
Autor:
Pello (pello@pello.info)





Fecha:
02/08/2003

Estado:
Borrador

Número Documento
1

Revisión:
1





IPTABLES

Manual práctico




Por Pello Xabier Altadill Izura
Ingeniero Informático por la UPV-EHU
pello@pello.info

(Actualizaciones y ejemplos en http://www.pello.info )




1. Qué es un firewall
2. Qué es iptables
3. Al grano: creando un firewall con iptables





3.1 Proteger la propia máquina
3.2 Firewall de una LAN con salida a internet
3.3 Firewall de una LAN con salida a internet con DMZ
3.4 Firewall de una LAN con salida a internet y VPNS
3.5 Firewall puro y duro entre redes
3.6 Firewall con política por defecto DROP


4. Cómo depurar el funcionamiento del firewall
Enlaces, notas, autor

IPTABLES, tutorial práctico de firewall - (Actualizaciones en http://pello.info/)

1

Fecha:
02/08/2003

Estado:
Borrador

Revisión:
1

Número Documento
1

Autor:
Pello (pello@pello.info)

1. Qué es un firewall

Un firewall es un dispositivo que filtra el tráfico entre redes, como mínimo dos. El firewall puede
ser un dispositivo físico o un software sobre un sistema operativo. En general debemos verlo
como una caja con DOS o mas interfaces de red en la que se establecen una reglas de filtrado
con las que se decide si una conexión determinada puede establecerse o no. Incluso puede ir
más allá y realizar modificaciones sobre las comunicaciones, como el NAT.

Esa sería la definición genérica, hoy en dia un firewall es un hardware especifico con un
sistema operativo o una IOS que filtra el tráfico TCP/UDP/ICMP/../IP y decide si un paquete
pasa, se modifica, se convierte o se descarta. Para que un firewall entre redes funcione como
tal debe tener al menos dos tarjetas de red. Esta sería la tipología clásica de un firewall:


Esquema típico de firewall para proteger una red local conectada a internet a través de un router. El firewall debe
colocarse entre el router (con un único cable) y la red local (conectado al switch o al hub de la LAN)

Dependiendo de las necesidades de cada red, puede ponerse uno o más firewalls para
establecer distintos perímetros de seguridad en torno a un sistema. Es frecuente también que
se necesite exponer algún servidor a internet (como es el caso de un servidor web, un servidor
de correo, etc..), y en esos casos obviamente en principio se debe aceptar cualquier conexión
a ellos. Lo que se recomienda en esa situación es situar ese servidor en lugar aparte de la red,
el que denominamos DMZ o zona desmilitarizada. El firewall tiene entonces tres entradas:


En la zona desmilitarizada se pueden poner tantos servidores como se necesiten. Con esta
arquitectura, permitimos que el servidor sea accesible desde internet de tal forma que si es
atacado y se gana acceso a él, la red local sigue protegida por el firewall. Esta estructura de
DMZ puede hacerse también con un doble firewall (aunque como se ve se puede usar un único
dispositivo con al menos tres interfaces de red). Sería un esquema como este:




IPTABLES, tutorial práctico de firewall - (Actualizaciones en http://pello.info/)



2

Fecha:
02/08/2003

Estado:
Borrador

Número Documento
1

Autor:
Pello (pello@pello.info)

Los firewalls se pueden usar en cualquier red. Es habitual tenerlos como protección de internet
en las empresas, aunque ahí también suelen tener una doble función: controlar los accesos
externos hacia dentro y también los internos hacia el exterior; esto último se hace con el
firewall o frecuentemente con un proxy (que también utilizan reglas, aunque de más alto nivel).
También, en empresas de hosting con muchos servidores alojados lo normal es encontrarnos
uno o más firewalls ya sea filtrando toda la instalación o parte de ella:


Revisión:
1






Sea el tipo de firewall que sea, generalmente no tendrá mas que un conjunto de reglas en las
que se examina el origen y destino de los paquetes del protocolo tcp/ip. En cuanto a protocolos
es probable que sean capaces de filtrar muchos tipos de ellos, no solo los tcp, también los udp,
los icmp, los gre y otros protocolos vinculados a vpns. Este podría ser (en pseudo-lenguaje) un
el conjunto de reglas de un firewall del primer gráfico:

Politica por defecto ACEPTAR.
Todo lo que venga de la red local al firewall ACEPTAR
Todo lo que venga de la ip de mi casa al puerto tcp 22 ACEPTAR
Todo lo que venga de la ip de casa del jefe al puerto tcp 1723 ACEPTAR
Todo lo que venga de hora.rediris.es al puerto udo 123 ACEPTAR
Todo lo que venga de la red local y vaya al exterior ENMASCARAR
Todo lo que venga del exterior al puerto tcp 1 al 1024 DENEGAR
Todo lo que venga del exterior al puerto tcp 3389 DENEGAR
Todo lo que venga del exterior al puerto udp 1 al 1024 DENEGAR

En definitiva lo que se hace es:
- Habilita el acceso a puertos de administración a determinadas IPs privilegiadas
- Enmascara el trafico de la red local hacia el exterior (NAT, una petición de un pc de la LAN
sale al exterior con la ip pública), para poder salir a internet
- Deniega el acceso desde el exterior a puertos de administración y a todo lo que este entre 1 y
1024.




IPTABLES, tutorial práctico de firewall - (Actualizaciones en http://pello.info/)

3

acepta y solo se denegará lo que se diga explícitamente.

2) Política por defecto DENEGAR: todo esta denegado, y solo se permitirá pasar por el

firewall aquellos que se permita explícitamente.

Autor:
Pello (pello@pello.info)

Hay dos maneras de implementar un firewall:
1) Política por defecto ACEPTAR: en principio todo lo que entra y sale por el firewall se

Número Documento
1

Revisión:
1

Fecha:
02/08/2003

Estado:
Borrador


Como es obvio imaginar, la primera política facilita mucho la gestión del firewall, ya que
simplemente nos tenemos que preocupar de proteger aquellos puertos o direcciones que
sabemos que nos interesa; el resto no importa tanto y se deja pasar. Por ejemplo, si queremos
proteger una máquina linux, podemos hacer un netstat –ln (o netstat –an, o netstat –
puta | grep LISTEN), saber que puertos están abiertos, poner reglas para proteger esos
puertos y ya está. ¿Para qué vamos a proteger un puerto que realmente nunca se va a abrir?
El único problema que podemos tener es que no controlemos que es lo que esta abierto, o que
en un momento dado se instale un software nuevo que abra un puerto determinado, o que no
sepamos que determinados paquetes ICMP son peligrosos. Si la política por defecto es
ACEPTAR y no se protege explícitamente, nos la estamos jugando un poco.

En cambio, si la política por defecto es DENEGAR, a no ser que lo permitamos explícitamente,
el firewall se convierte en un auténtico MURO infranqueable. El problema es que es mucho
más difícil preparar un firewall así, y hay que tener muy claro como funciona el sistema (sea
iptables o el que sea) y que es lo que se tiene que abrir sin caer en la tentación de empezar a
meter reglas super-permisivas.
Esta configuración de firewall es la recomendada, aunque no es aconsejable usarla si no se
domina mínimamente el sistema. Uno de los objetos principales de este documento es mostrar
la forma de crear este tipo de firewalls.

IMPORTANTE
El orden en el que se ponen las reglas de firewall es determinante. Normalmente cuando hay
que decidir que se hace con un paquete se va comparando con cada regla del firewall hasta
que se encuentra una que le afecta (match), y se hace lo que dicte esta regla (aceptar o
denegar); después de eso NO SE MIRARÁN MÁS REGLAS para ese paquete. ¿Cuál es el
peligro? Si ponemos reglas muy permisivas entre las primeras del firewall, se aplicará una
amplia gama de paquetes y las reglas para situaciones concretas que irían después no se
aplicarían y servirían de poco.


IPTABLES, tutorial práctico de firewall - (Actualizaciones en http://pello.info/)

4

Fecha:
02/08/2003

Estado:
Borrador

Revisión:
1

Número Documento
1

Autor:
Pello (pello@pello.info)

2. Qué es iptables

IPtables es un sistema de firewall vinculado al kernel de linux que se ha extendido
enormemente a partir del kernel 2.4 de este sistema operativo. Al igual que el anterior sistema
ipchains, un firewall de iptables no es como un servidor que lo iniciamos o detenemos o que se
pueda caer por un error de programación(esto es una pequeña mentira, ha tenido alguna
vulnerabilidad que permite DoS, pero nunca tendrá tanto peligro como las aplicaciones que
escuchan en determinado puerto TCP): iptables esta integrado con el kernel, es parte del
sistema operativo. ¿Cómo se pone en marcha? Realmente lo que se hace es aplicar reglas.
Para ellos se ejecuta el comando iptables, con el que añadimos, borramos, o creamos reglas.
Por ello un firewall de iptables no es sino un simple script de shell en el que se van ejecutando
las reglas de firewall.

Notas: bueno, para los más geeks y tocapelotas. Vale, se puede implementar un script de inicio
en /etc/rc.d/INIT.d (o /etc/INIT.d ) con el que hagamos que iptables se “inicie o pare” como un
servidor más. Lo podemos hacer nosotros o es probable que venga en la distribución (como en
redhat por ejemplo). También se pueden salvar las reglas aplicadas con el comando iptables-
save en un fichero y gestionar ese fichero con una aplicación o front-end desde la X o desde
webmin.

Vale, tenemos una máquina linux con soporte para iptables, tiene reglas aplicadas y empiezan
a llegar/salir/pasar paquetes. No nos liemos: olvidemos cuantas tarjetas de red hay, que
direcciones ip tiene la máquina y olvidemos si el paquete entra o sale. Las reglas de firewall
están a nivel de kernel, y al kernel lo que le llega es un paque
  • Links de descarga
http://lwp-l.com/pdf8706

Comentarios de: IPTABLES Manual práctico (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad