2010-01-11 8 views
7

Me gustaría conocer su opinión sobre el tema "control de versiones", , pero centrándose en la seguridad.Control de versión segura

Algunas características comunes:

  • que permiten el acceso al código fuente utilizando clientes única (no hay manera de acceder al código fuente en el servidor directamente)

  • la concesión de permiso para acceder únicamente el código fuente que puedo modificar (es decir, un desarrollador debe poder para acceder al código fuente relacionado con su proyecto solamente). Por lo tanto, debería ser posible crear grupos de usuarios y otorgar diferentes niveles de acceso .

  • modificaciones de seguimiento, check-ins y check-outs y los desarrolladores que los hicieron ...

  • ... y, sin duda, me estoy olvidando de algo.

¿Cuáles son los sistemas de control de versiones más "paranoicos" que usted conoce? ¿Qué características implementan?

Mi objetivo es crear un entorno para el desarrollo de aplicaciones que manejen datos sensibles: tarjetas de crédito, contraseñas, etc. Un desarrollador malintencionado puede insertar puerta trasera o modificar intencionadamente algunas funciones de seguridad. Por lo tanto, el acceso al código fuente debe controlarse estrictamente. Debo confesar que mi conocimiento de los sistemas de control de versiones es pobre, así que, me temo, la personalización de SVN podría ser una tarea difícil para mí.

Gracias

+0

Casi todos los sistemas de control de versiones implementan la seguridad que usted mencionó, y por lo general mucho más. ¿Cuál es el propósito de tu pregunta? – NotMe

+0

no hay muchos registros de seguimiento. – gbjbaanb

+0

Realice las comprobaciones de pistas, pero gbjbaanb tiene razón. Pocos sistemas de control de versiones tienen fuertes controles de seguridad. –

Respuesta

2

Perforce es ampliamente utilizado en la industria de las finanzas, donde la seguridad del código es a veces un problema.

Puede configurar controladores de acceso y controles para restringir la visibilidad del código y generar pistas de auditoría para diversas actividades para el cumplimiento de SOX.

+0

De acuerdo. Si bien no soy un gran admirador de Perforce, es el único que he usado que puede hacer la mayoría de estas cosas. Clearcase carece de la granularidad, y la mayoría de las herramientas de código abierto (cvs, svn, hg, git) son débiles porque se centran en proyectos de código abierto. Para buenas funciones de auditoría y control de acceso granular, definitivamente iría con p4, tanto que me vuelve loco como usuario. –

+0

@Rob Napier: Estoy de acuerdo: dada la opción, elegiría un sistema de control de versiones distribuidas de código abierto. Pero si los principales requisitos son la capacidad de auditoría y la seguridad, Perforce es lo que recomendaría. ¡Por supuesto, felizmente cambiaría si hg, git o Bazzar obtienen la funcionalidad equivalente! –

2

sé que los que usted quiere son no las que desee. Por ejemplo, Clearcase o Serena Dimensions pueden hacer todo lo anterior ... pero estarías loco si quieres usarlas. (Ah, te oigo decir que soy el administrador, así que no tengo que soportar ese dolor. Bueno, esto también requiere mucho cuidado y atención: teníamos 8 administradores de Clearcase en la última compañía para la que trabajé). no quiero la pesadilla de ayudar continuamente a los usuarios con ellos).

So. Puedes tener los horribles, o simplemente puedes usar el SVN amigable y fácil de usar e implementar tu propio seguimiento de compra (usando transporte http y registros de Apache) y abofetear los permisos de control de acceso en cada directorio. También debe asegurar el repositorio final en el disco, pero debe hacerlo con cada SCM, incluso algo como Dimensions almacena su base de datos en Oracle; si tuviera acceso a la instancia de Oracle, podría manipular los bits guardados, así que debes asegurar eso de todos modos.

+1

En Clearcase, no puede controlar el montaje y la lectura a nivel Vob (ese es un problema importante en mi lugar de trabajo). Versión ... 8? 7.1? introducirá eso. –

+0

@Paul, de acuerdo. Clearcase tiene un control muy limitado sobre el acceso. No solo el montaje a nivel Vob, sino que es muy difícil controlar lo que los usuarios pueden ver dentro de una Vob; en general, debe usar grupos unix, que son notoriamente limitados y difíciles de aplicar. –

1

Perforce tiene esas características y es realmente un buen producto.

+1

¿De verdad? Solíamos usar p4 en el trabajo y tuvimos que lidiar con repositorios lentos, respuesta lenta durante el punto de control, seguimiento deficiente de integración, etc. Siento que depende demasiado de la potencia de la máquina que aloja el servidor, ya que hace casi todo allí. –

0

github es un contenedor para git que ofrece estas características para el servidor de git.En comparación con los servidores de GIT en bruto, incluye notablemente el control de acceso, y también tiene interfaces web útiles para el código para usuarios autorizados.

1

Utilice un conocido sistema industrial estándar como subversion. Puede controlar el acceso a proyectos individuales de manera muy simple, y el uso de la configuración de autenticación del servidor web puede controlar el acceso individual a archivos específicos en cada proyecto.

El único problema no habitual es el registro de salidas. Pero el servidor web puede registrar fácilmente esta información por usted.

Sus usuarios lo agradecerán.