Para disminuir riesgos el fichero de
configuración puede guardarse encriptado.
Se puede encriptar usando la opción
-X
de vim o también
la opción -e
de zip :
pp2@nereida:~/src/perl/expect$ zip -e bastion.conf.zip bastion.conf Enter password: Verify password: adding: bastion.conf (deflated 32%)
Otra solución es usar un agente como quintuple-agent para almacenar las claves.
Para arrancar el agente de secretos en una bash
:
$ eval `q-agent &`La razón para usar
eval
es que q-agent retorna el comando
para establecer la variable de entorno $AGENT_SOCKET
.
Observe la situación y los permisos:
pl@nereida:/tmp$ echo $AGENT_SOCKET pl@nereida:/tmp$ ls -ltrd /tmp/quintuple-agent-1037.0* drwx------ 2 pl users 4096 2007-04-16 08:03 /tmp/quintuple-agent-1037.0 pl@nereida:/tmp$ ls -ltr /tmp/quintuple-agent-1037.0/ total 0 srwxrwx--x 1 pl users 0 2007-04-16 08:03 agent-socket /tmp/quintuple-agent-1037.0/agent-socketUna vez que el agente ha sido arrancado es posible comunicarle secretos:
pl@nereida:/tmp$ q-client put 12345678 "Alice Manners" Aviso: se est usando memoria insegura! Enter secret to store under "12345678": ************************ pl@nereida:/tmp$La sintáxis de
q-client
es:
q-client [ OPTION ... ] (put|get|delete|list) ID [ COMMENT ]En el ejemplo anterior
"Alice Manners"
es el comentario al secreto.
Cuando se usa put
es posible usar la opción -t N
o bien --time-to-live N
para indicar
un límite de tiempo. Despues de N
segundos el secreto será olvidado.
Los secretos guardados es posible obtenerlos usando q-client get:
pl@nereida:/tmp$ q-client get 12345678 Aviso: se est usando memoria insegura! secret available, but I won't print it on a tty
q-client
se niega a volcar un secreto en una terminal. Un simple ''pipe''
con cat
permite ver el secreto:
pl@nereida:/tmp$ q-client get 12345678 | cat Aviso: se est usando memoria insegura! esto es un secreto! pl@nereida:/tmp$Para suprimir un secreto se usa
q-client delete
:
$ q-client delete 12345678
Para ver la lista de claves de los secretos usamos la opción
list
:
pl@nereida:/tmp$ q-client list 12345678 none Alice Manners institucion none