Optimizacion de firewall en iptables

Horst von Brand vonbrand en inf.utfsm.cl
Jue Ene 6 09:29:26 CLST 2005


"celtita" <celtita en bonbon.net> dijo:
> >> Es como responde el snack del SO, no el netfilter, si deseas que
> >> responde con secuencia 99999 instala FreeBSD :-)

> >Realmente esa secuencia es importante?

Se refiere a que tan dificil es adivinar el numero de secuencia que usa al
inicio una conexion TCP (si puedes adivinarla, es facil hacerse pasar por
el interlocutor de una conexion cualquiera). Es _muy_ importante.

Y el sistema que usa Linux se basa en verdaderos numeros aleatorios, con lo
que en la practica no tiene caso intentarlo siquiera.

> >                                        que otras opciones puedo
> >optimizar (ya que como me dices la secuencia no se puede mejorar) desde
> >linux?   

> En realidad si podrías modificando el Kernel la parte de IP y ahí
> decirle como responder, en Darpa hay varios paper sobre eso.

Si, claro. Tipica sugerencia de completo ignorante.

> >realmente deseo optimizar lo que mas pueda mi firewall.

> Optimiza tus reglas.

Buena sugerencia. Ahora, como lo haces?

- Primero que nada, _mide_ para ver si eso te hace problemas. Es un uso
  mucho mas eficiente de tu tiempo el tener reglas claramente estructuradas
  y ordenadas para comprension humana que sacarle un 5 o 10% mas de
  rendimiento al cortafuegos (salvo que estes hablando de multiples
  100basetT saturadas, hasta la CPU mas ordinaria da de sobra). Considera
  tambien cambiar las tarjetas de red por tarjetas mas inteligentes
  (mayores buffers, manejo interno de checksums, etc). Placa madre con
  _buen_ manejo de PCI es importante para throughput de tarjeta a CPU.
  Nuevamente, eso es mas barato que tu tiempo (Cuanto cuesta un PC decente
  hoy? Cuanto un mes de ingeniero?).

- Recuerda que las reglas se revisan secuencialmente. Fallar/tener exito lo
  antes posible es importante

- Refierete a los contadores de calces de las reglas, donde la logica lo
  permita ordenalas en orden decreciente.

- Crear cadenas especiales que se llaman como rutinas cuando se requiera
  disminuye el numero de reglas consideradas secuencialmente

> >Ya me ha quedado una duda: realmente tambien deberia comenzar a evaluar
> >otras opciones a iptables como packetfilter (creo que asi se llama el de
> >openbsd) o ipfw (o sea freeBSD)?

> Te recomiendo el PF que esta super estable y maduro y trae muchisimas
> funcionalidades y ocupa super poca RAM, alrededor de 30 MB ara 40 reglas
> y una LAN de 30 PC.

30MiB de RAM para 40 reglas?! Nuestro cortafuegos aca tiene 519... eso
significarian unos 390MiB RAM aca. El tarrito (P2/300) tiene 128MiB, con
unos 58 de ellos en uso (ademas hace de DHCP para las redes conectadas, y
un par de cosillas mas). Es el cruce de 6 redes que suman unas 300
maquinas. Y solo en caso de usuarios _demasiado_ creativos con la
configuracion de red de los PCs (ponerle la direccion de red o de
broadcast, ...) nos ha dado problemas.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


Más información sobre la lista de distribución Linux