¿Es aceptable compartir claves SSH privadas en servidores para acceso de solo lectura a un repositorio Git?

1

Estoy trabajando en un proyecto actualmente almacenado en un repositorio privado de Git en Bitbucket, que se implementará en varios servidores externos.

Debido a que el repositorio es privado, necesito que estos servidores puedan autenticarse para clonar el repositorio y extraerlos cuando haya actualizaciones. Para esto, parece que las claves de acceso son el camino a seguir.

Mi pregunta es: ¿es aceptable generar una clave SSH y copiar la clave privada en cada servidor que necesite clonar el repositorio Git? La clave pública se agregaría a Bitbucket la primera vez, por lo que cada servidor que tuviera la clave privada podría acceder al repositorio de Bitbucket.

Mi justificación es simplemente de conveniencia: el proceso de aprovisionamiento para estos servidores será en gran parte automatizado, y ayudaría mucho si pudiera copiar una clave privada existente como parte del proceso, y luego comenzar a clonar. el repositorio Si tengo que crear una clave privada por servidor, significa iniciar sesión manualmente en mi cuenta de Bitbucket para agregar cada clave.

Entiendo que, en general, la respuesta a "en caso de compartir claves privadas" es un "no" sólido, pero no pude encontrar mucha información relacionada con este caso de uso en particular. Las claves solo se utilizarían para acceder a este repositorio. No necesito identificar a qué servidor está accediendo a qué en el repositorio, porque todos los servidores completarán en gran medida las mismas acciones.

    
pregunta ev0lution 14.04.2017 - 17:59
fuente

1 respuesta

2

Si sus únicos casos de uso son clonación y extracción, la manera ideal de compartir un repositorio de bitbucket es de hecho con un clave de acceso , anteriormente llamada clave de implementación .

Estas claves le dan acceso de solo lectura al repositorio, por lo que un atacante que se infiltra en cualquiera de sus servidores no obtiene acceso de empuje a su repositorio (lo que podría tener graves efectos), sin embargo, obviamente tienen acceso a su código, y una clave para clonar y extraer el repositorio.

Es mejor utilizar claves de acceso separadas por servidor, ya que compartir la clave de acceso significaría cambiar la clave de acceso en todos los servidores si un servidor se infiltra. En contraste, usar una clave de acceso por servidor significa que si un servidor se infiltra, deshabilitar esa clave de acceso elimina el acceso al repositorio del posible atacante.

    
respondido por el ZN13 14.04.2017 - 18:17
fuente

Lea otras preguntas en las etiquetas