[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ¿Seguro con hosts.deny?



> > Hola,
> >
> > Resulta que servicios que tengo activados como por ejemplo el smtp los
tengo
> > cerrados por tcp-wrapper vía hosts.deny / hosts.allow dejando sólo el
paso a
> > quien me interesa (red interna), pero no sé si será un sistema seguro
porque
>
>
> Ipchains y tcpd funcionan a niveles distintos:
>
> Ipchains: protocolo TCP/IP (Sesión)
> Tcpd: nivel de Aplicación

Yo creo que ipchains funciona a nivel IP (red), tcpd sí en aplicación.

>
> Es decir, con Tcpd no puedes evitar que el puerto "se vea abierto"
> desde el exterior, lo que controlas son las conexiones al programa final.
Te
> pongo el desarrollo de la comunicación y donde interviene cada uno:
>
> a) máquina A envía paquete Syn a B dirigido al puerto Y
> (ipchains)

Alguien puede explicar eso de los paquetes syn o dónde hay documentación

> b) máquina B responde con paquete Syn Ack a A
> (ipchains)
> c) máquina A completa la conexión con B
> [esto es el proceso three-way-handshake de TCP/IP]

¿three-way-handshake? ¿a tres bandas? ¿que es eso?

> d) máquina A envía datos a lo que esté escuchando en la máquina B puerto Y
> [esto dispara el proceso del superdemonio inetd que está ejecutando el
> puerto pero reenvía a otra aplicación según la definición del inetd.conf]
> (tcpd)
> e) máquina B responde a la petición de A
>

De acuerdo.

> >
> > Y otra cosa: si quiero meter un servicio que se ejecuta desde
/etc/init.d/ y
> > no desde inetd, ¿cuál es la mejor forma de ponerlo bajo tcpd?, ¿me lo
cargo
> > de /etc/init.d/ y meto una línea en el /etc/inetd.conf?
> >
> > Gracias y saludos.
> >
> Creo que el segundo, porque tcpd (creo) no puede funcionar como
> demonio, es decir, aceptando conexiones en un puerto siempre e
instanciando
> nuevos procesos para atender a las conexiones entrantes (sin perder la
> escucha en el puerto). Por ello tienes que poner la línea en el inetd.conf
> que haga que el superdemonio inetd llame a tcpd con los parámetros
> necesarios (aplicación a ejecutar).

Sí, esa era la única opción que se me ocurría, pero me parecía poco
elegante...

> En cualquier caso, centralizas todos los servicios en un demonio, lo
> cual puede ser bueno o malo según tus necesidades. Además de que
> determinados programas (Apache?) esperan funcionar de otra forma
> (controlando directamente el puerto y creando instancias de procesos hijos
a
> los que pasan las conexiones).

También existe una opción para ponerlo bajo inetd, lo que pasa es que iría
más lento.

> En resumen, sólo podrás hacer ésto para procesos que puedan
> ejecutarse en modo "terminal" (aceptan datos de la entrada estándar) pero
no
> para otros que quieran, directamente, hacerse con el control del puerto
> correspondiente.

¿seguro? no podría ponerlo para cualquier aplicación, pues vaya.

Bueno, yo lo que quería decir es que si yo hago un netstat más un lsof y
cierro por tcpd las aplicaciones que escuchan lo que no me interesa abrir al
mundo ¿necesito de todas formas las ipchains para estar más seguro?

>
> Javi

Saludos.



_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com




Reply to: