CVS


CVS permite trabajar juntos a múltiples desarrolladores en proyectos con enorme cantidad de código fuente, y mantiene una gran base de código en alguna parte de forma limpia. Los mecanismos internos de seguridad del CVS son bastante simples por sí mismos; de hecho, si alguien dijera que son débiles, le tendría que dar la razón. La autentificación del CVS se suele conseguir a través de la red, utilizando pserver, los nombres de usuario se envían en texto claro, y las contraseñas tienen un hash trivial (en realidad no existe seguridad).

Para evitar esto, se cuenta con varias opciones buenas. En un entorno Unix, probablemente el método más simple sea utilizar SSH para pasar las conexiones por un túnel entre las máquinas clientes y el servidor. "Tim el PierdeTiempo" (Tim Hemel) ha escrito una excelente página ocupándose de esto, disponible en: http://cuba.xs4all.nl/~tim/scvs/. Una aproximación algo más complicada (pero a la larga mejor en cuanto a grandes instalaciones) es "kerberizar" el servidor CVS y los clientes.

Las redes grandes (especialmente en entornos universitarios) ya han establecido una infraestructura con Kerberos. Detalles en la "kerberización" del CVS disponibles en: http://www.cyclic.com/cyclic-pages/security.html. Aparte de que recomendaría encarecidamente filtrar con el cortafuegos el CVS, a menos que se esté utilizando para cualquier tipo de propósito público (como un proyecto de código abierto a través de Internet).

Otra herramienta que acaba de aparecer para asegurar CVS es "cvsd", un wrapper para pserver que hace chroot y/o suid el pserver al de un usuario no dañino. cvsd se encuentra disponible en: http://cblack.mokey.com/cvsd/ en formato rpm y en tarball fuente.

ipfwadm –I –a accept –P tcp –S 10.0.0.0/8 –D 0.0.0.0/0 2401

ipfwadm –I –a accept –P tcp –S un.host.fiable –D 0.0.0.0/0 2401

ipfwadm –I –a deny –P tcp –S 0.0.0.0/0 –D 0.0.0.0/0 2401

o

ipchains –A input –p tcp –j ACCEPT –s 10.0.0.0/8 –d 0.0.0.0/0 2401

ipchains –A input –p tcp –j ACCEPT –s un.host.fiable –d 0.0.0.0/0 2401

ipchains –A input –p tcp –j DENY –s 0.0.0.0/0 –d 0.0.0.0/0 2401


Volver


Copyright © 1999, Kurt Seifried, José Antonio Revilla

Todos los derechos reservados.