Seguridad con TCP Wrappers e ipchains (I)


En este articulo revisamos a groso modo la configuración de los servicios
ofrecidos por inetd y como usar tcp wrappers e ipchains para aumentar la seguridad de nuestro sistema. Parte I

Siguiente

Antes de nada, que sepais todos que este artículo lo escribí hace tiempo ya
para la revista electronica LinuxFocus
y esto es una revisión que ya se echaba en falta, puesto que además de tener
ahora muchas cosas más claras, hay que actualizar la parte del uso de
ipfwadm que se usaba con los kernels 2.0 al uso de ipchains, así como añadir
tambien algunas cosas que en su dia yo no sabía … 🙂

Bueno, eso es todo, espero que lo disfruteis , y vamos a la chicha … y por
si quereis consultar el artículo original, lo teneis
aquí.
Bueno, para empezar, hay que tener clarito
qué es el inetd, es básicamente un demonio que controla los
servicios que puede ofrecer una máquina conectada a Internet, pero
también puede que no controle todos por defecto, así que,
echadle un vistazo al fichero /etc/inetd.conf y mirad los servicios que
da vuestra máquina desde el demonio inetd (los que estén
descomentados, esto es, sin la parrilla “#” delante). Lo primero que se
ha de hacer, lógicamente, es no dar más servicios que los
que queremos dar, para evitar así posibles brechas de seguridad
por fallos en demonios que no usamos para nada. Una vez visto el ficherito
de marras, expliquemos su funcionamiento:

Por ejemplo, la línea:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
Lo primero de todo es el nombre del servicio
(en este caso “ftp”, que luego
se buscará en el /etc/services a
que puerto corresponde.
El segundo campo es el tipo de socket que
se abre, y puede ser de varios tipos: stream (como en el ejemplo),
dgram, raw, rdm y
seqpacket
El tercer campo es el protocolo a utilizar,
que tiene que estar definido en /etc/protocols (en
este caso es el protocolo TCP)
El cuarto campo es para indicar
wait/nowait,
este campo debe ser siempre nowait excepto
para los sockets de tipo datagrama (dgram). Si el servidor de datagramas
es multi-hilo se indica nowait, ya que el servidor al recibir una llamada,
lanza el proceso en un hilo de ejecución –al ser multi-hilo :)–
y libera el socket para que inetd pueda seguir recibiendo mensajes en el
socket. Si el servidor es de tipo datagrama mono-hilo entonces se indica
wait, ya que el servidor atiende siempre en el mismo socket y no puede
lanzarlos en procesos aparte. Además, se puede añadir un
apartado más a este campo, por ejemplo: nowait.50 (es decir, un
número separado del wait/nowait por un punto). Este número
representa el número máximo de demonios que puede lanzar
(o de peticiones aceptadas, según se mire) en 1 minuto. Por defecto
es 40.
El quinto campo indica el nombre del usuario
con el que se debe ejecutar el demonio, en este caso se ejecutará
como super-usuario (root).
El sexto y los sucesivos, son el programa
a lanzar seguido de los parámetros que se le pasan al programa.
Aquí se le indica que lance el demonio tcpd, y como argumentos el
demonio in.ftpd con los parámetros -l -a. Ahora llega la parte más
interesante de este primer trozo del artículo, que es la que engloba
al tcp wrappers.
Siguiente

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=84 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.