lyft / lyft/python-blessclient

Unintentional Identity file signing

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

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
117
Forks
31
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hi, while troubleshooting some unrelated problems I noticed this client is generated signed key certs for any identity that we use in the in the ssh command.
The culprit seems to be this:
https://github.com/lyft/python-blessclient/blob/master/blessclient/client.py#L171

called here:
https://github.com/lyft/python-blessclient/blob/master/blessclient/client.py#L448

Given an ssh config as recommended:

Match exec "env | grep -q BLESS_COMPLETE || /Users/stype/blessclient/blessclient.run --gui --host '%h'"
	IdentityFile ~/.ssh/blessid

If we are to call any other ssh command as:
ssh -i ~/.ssh/mykey user@host
and we didn't have a filter on domain_regex: blessclient will still generate and sign the mykey key.

While I believe this could be in some case desired functionality(when doing ssh wrapping instead of ssh config), I think it might be better to just let it toggle via an env var or the existing BLESS_IDENTITYFILE as in most cases than not if you specify a particular identity on the command line, you want to use exactly that to auth and signing is unnecessary.

If this is accepted I can create a PR to cleanup/implement this.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.

Línea de trabajo

Comienza en blessclient/client.py en las líneas 171 y 448, donde se gestiona la identidad y se llama a la ruta de firma. Reproduce el comportamiento con la configuración SSH mostrada y un comando ssh usando -i ~/.ssh/mykey, y luego sigue cómo BLESS_IDENTITYFILE y domain_regex afectan a la selección. La tarea estará terminada cuando el cliente ya no firme una identidad seleccionada explícitamente, a menos que la configuración elegida habilite ese comportamiento.

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

Evaluación

Stack tecnológico
python
Área
authentication, security
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.