sweep: verify pool host keys on the driver

Abierto
#451 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
github-actions, go

Línea de trabajo

Start with generatedSSHConfig() in benchkit/cmd/sweep/driver.go and trace how sweep options reach the release workflows and cluster-check probe. Add a pool known_hosts option, pass the pool keys from the proposed cluster secret, and check the probe’s behavior for unknown or changed keys. Done means release checks reject untrusted pool keys while interactive sweeps keep their current default.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The driver dials the pool hosts with host-key checking turned off. generatedSSHConfig() in benchkit/cmd/sweep/driver.go writes StrictHostKeyChecking no and UserKnownHostsFile /dev/null for every host.

This matters for the release smoke gate in #449. The runner pins the host keys of the jump host and the driver, but nothing pins the pool hosts. A machine on the cluster network that can impersonate a pool host can accept the SSH session from the driver. It can then fake the -check diagnostics or the benchmark output, and a release could pass the gate on fabricated results.

Proposal

  • Add a sweep option that gives the driver a known_hosts file for the pool, and switches the generated config to StrictHostKeyChecking yes when the option is set.
  • In the release workflows, pass the pool host keys from a new cluster environment secret, for example CLUSTER_POOL_KNOWN_HOSTS.
  • Make cluster-check fail when a pool key is unknown or has changed, and test that failure in the probe.
  • Keep the current behavior as the default for interactive sweeps, unless we decide otherwise.

The change touches the SSH config that sweep generates for every user, so it is kept out of the #446/#447/#449 stack.

Raised in review of #449.

Lenguaje dominante
Go
Estrellas
149
Forks
15
Merge medio
1 d 3 h
PR fusionados (30 d)
52

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de relab/gorums

Todos los issues de relab/gorums

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.