Outils pour utilisateurs

Outils du site


admin:procedures:ajouter-administrateur

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:procedures:ajouter-administrateur [2017/06/23 09:07] – [Donner accès au password store] fpoulainadmin:procedures:ajouter-administrateur [2022/09/01 21:58] (Version actuelle) – Mise à jour des chemins en exemple pilou
Ligne 1: Ligne 1:
 ====== Ajout d'un administrateur au cluster ====== ====== Ajout d'un administrateur au cluster ======
  
-Il faut pour cela donner accès aux mots de passe et déployer les clés ssh sur le cluster.+Il faut pour cela donner accès aux mots de passe, donner accès au [[sysadm:git_admin_sys|git]], et déployer les clés ssh sur le cluster.
  
 +===== Donner accès au git =====
 +
 +C'est un gitolite qui se configure par un repos git : ''gitolite-admin''. Pour avoir une idée ça ressemble à ça :
 +<code>
 +$ cd gitolite-admin
 +$ tree
 +.
 +├── conf
 +│   └── gitolite.conf
 +└── keydir
 +    ├── admin-doku.pub
 +    ├── benj.pub
 +    ├── edausq.pub
 +    ├── madix.pub
 +    ├── PoluX.pub
 +    ├── QGuLL.pub
 +    └── vincentxavier.pub
 +</code>
 +
 +On commence par copier le pubring ssh du nouvel admin dans le dossier ''keydir''.
 +
 +Ensuite dans ''conf/gitolite.conf'' on complète la définition @admins avec le nom du pubring qui convient.
 +
 +<code conf conf/gitolite.conf>
 +admins = edausq PoluX QGuLL vincentxavier benj madix nouvelAdmin
 +</code>
 +
 +Enfin on commit et on pousse.
 +<code>
 +git add *
 +git commit -m 'ajout nouvelAdmin'
 +git push
 +</code>
 ===== Déploiement des clés ssh sur le cluster ===== ===== Déploiement des clés ssh sur le cluster =====
  
Ligne 11: Ligne 44:
 On installe les nouvelles clés ssh dans ''sexy-chapril/authorized_keys/root''. On installe les nouvelles clés ssh dans ''sexy-chapril/authorized_keys/root''.
  
-Ensuite on édite ''sexy-chapril/debian/changelog'' est on recopie matatis mutandis la dernière entrée en tête du fichier:+Ensuite on édite ''sexy-chapril/debian/changelog'' et on recopie matatis mutandis la dernière entrée en tête du fichier:
 <code conf sexy-chapril/debian/changelog> <code conf sexy-chapril/debian/changelog>
 sexy-chapril (1.2) stable; urgency=medium                                        sexy-chapril (1.2) stable; urgency=medium                                       
Ligne 45: Ligne 78:
 Host coon.chapril.org maine.chapril.org Host coon.chapril.org maine.chapril.org
   User root   User root
-  ForwardAgent yes 
   SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL   SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
  
-Host bastion.cluster.chapril.org +Host felicette.chapril.org
-  Hostname fip.chapril.org +
-  User root +
-  ForwardAgent yes +
-  SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL +
- +
-Host icinga2.chapril.org+
   User root   User root
   Port 2242   Port 2242
-  ForwardAgent yes 
   SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL   SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
  
 Host *.cluster.chapril.org Host *.cluster.chapril.org
   User root   User root
-  ProxyCommand ssh -W %h:22 root@fip.chapril.org -A +  ProxyJump root@fip.chapril.org
-  ForwardAgent yes+
   SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL   SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
 </code> </code>
Ligne 69: Ligne 93:
 ===== Donner accès au password store ===== ===== Donner accès au password store =====
  
-On utilise [[https://www.passwordstore.org/|password store]]. C'est ''pass'' sous debian et le paquet à installer est ''pass''.+On utilise [[https://www.passwordstore.org/|password store]], [[admin:procedures:configuration_password_store|documenté ici]]. C'est ''pass'' sous debian et le paquet à installer est ''pass''.
  
 Pour se faciliter la vie si c'est votre unique dépot on peut faire un lien symbolique vers le dépot chapril : Pour se faciliter la vie si c'est votre unique dépot on peut faire un lien symbolique vers le dépot chapril :
Ligne 76: Ligne 100:
  
 Pour lister les actuels accès à pass : Pour lister les actuels accès à pass :
 +  cd ~/.password-store
   cat .gpg-id   cat .gpg-id
 ou bien pour avoir une autre idée (en supposant que le repo est fonctionnel chez vous donc que vous avez toutes les clés dans votre trousseau) : ou bien pour avoir une autre idée (en supposant que le repo est fonctionnel chez vous donc que vous avez toutes les clés dans votre trousseau) :
   gpg --list-key `cat .gpg-id`   gpg --list-key `cat .gpg-id`
 +  gpg --list-key `cat .gpg-id` | grep pub -A1 | grep @ | sed 's/uid *//'
 +
 +Des clés GPG sont présentes dans le dossier //…/password-store/ClésGPG///
 +
 +Supposons qu'on veuille ajouter l'accès à un certain Frédéric Couchet. On recherche sa clé dans notre trousseau :
 +  $ gpg --list-key couchet
 +  [...]
 +  pub   4096R/76264A53 2014-03-18 [expire : 2018-02-23]
 +  uid                  Frédéric Couchet <frederic@couchet.org>
 +  uid                  Frédéric Couchet <fcouchet@april.org>
 +  sub   4096R/93262A7B 2014-03-18 [expire : 2018-02-23]
 +L'id qui nous intéresse est donc ''76264A53''.
 +
 +Pass requiert des clés de confiance. Il vous faudra a priori signer la clé si ce n'est déjà fait.
 +<note warning>Une signature de clé ça ne se fait pas à la légère !! Assurez vous de pouvoir contrôler préalablement le fingerprint de la clé, présenté via un canal sûr (idéalement en personne) par l'admin concerné.</note>
 +
 +On va réencoder le dépôt pour toutes les clés listées en option de init :
 +<code>
 +pass init `cat .gpg-id` 76264A53
 +Password store initialized for 02F5B40A, 71458CFC, 14ABB3F2, AFD9831F, 76264A53, 904BE741
 +[master 05c1776] Set GPG id to 02F5B40A, 71458CFC, 14ABB3F2, AFD9831F, 76264A53, 904BE741.
 + 1 file changed, 1 insertion(+)
 +VMs/dns: reencrypting to 0D26C546C89CC0AB 19DA3F1993262A7B 324424FACB5DC1E5 81C3137F3FE3C04A C2DAD63D95F17989 EAA3CF7EE6E90179
 +[...]
 +</code>
 +
 +<note important>Attention si vous vous poutrez sur l'étape précédente il est possible que le dépôt ne soit plus lisible par vous ni par personne après.</note>
 +
 +<note tip>En cas de soucis voir plus bas.</note>
 +
 +Et on peut vérifier que tout s'est bien passé en prenant dans des fichiers de pass :
 +  gpg --list-packets --list-only Infra/icinga.chapril.org/icinga2-icinga.gpg
 +
 +On peut aussi vérifier qu'on a soi-même accès :
 +  pass Infra/icinga.chapril.org/icinga2-icinga
 +
 +Puis on pousse :
 +  git push
 +
 +Enfin on peut se fader d'un petit email de courtoisie aux admins anciens et nouveaux :
 +<code>
 +From: François Poulain <fpoulain@metrodore.fr>
 +To: Francois Poulain <fpoulain@metrodore.fr>, Edouard Dausque <edouard@dausque.net>, Gibeaux Quentin <quentin.gibeaux@insa-rouen.fr>, Vincent-Xavier Jumel <endymion@thetys-retz.net>
 +Cc: Benjamin Drieu <bdrieu@april.org>, Frédéric Couchet <fcouchet@april.org>
 +Subject: Ajout d'admins dans le pass chapril
 +Date: Fri, 23 Jun 2017 11:59:37 +0200
 +X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu)
 +
 +Coucou,
 +
 +J'ai ajouté des admins dans le pass chapril. Il va falloir que vous
 +vous organisiez pour signer leurs clés si ce n'est déjà fait.
 +
 +Pour rappel sur l'usage du pass :
 +https://admin.chapril.org/doku.php?id=admin:procedures:configuration_password_store
 +
 +L'état actuel du dépôt :
 +
 +$ gpg --list-key `cat .gpg-id`
 +pub   1024D/71458CFC 2010-03-25
 +uid                  François Poulain <fpoulain@metrodore.fr>
 +uid                  François Poulain <fpoulain@amie.coop>
 +uid                  François Poulain <fpoulain@april.org>
 +sub   4096g/E6E90179 2010-03-25
 +
 +pub   1024D/904BE741 2000-02-07
 +uid                  Benjamin Drieu <tresorier@april.org>
 +uid                  Benjamin Drieu <bdrieu@april.org>
 +uid                  Benjamin Drieu <benjamin@drieu.org>
 +uid                  Benjamin Drieu <benj@grassouille.org>
 +sub   1024g/C89CC0AB 2000-02-07
 +
 +pub   4096R/14ABB3F2 2013-08-25 [expire : 2019-08-24]
 +uid                  Vincent-Xavier Jumel (Clef 4096) <endymion@thetys-retz.net>
 +uid                  Vincent-Xavier Jumel <vxjumel@april.org>
 +uid                  Vincent-Xavier Jumel <vxjumel@parinux.org>
 +uid                  Vincent-Xavier Jumel <vincentxavier@jumel.net>
 +sub   4096R/CB5DC1E5 2013-08-25 [expire : 2019-08-24]
 +
 +pub   4096R/76264A53 2014-03-18 [expire : 2018-02-23]
 +uid                  Frédéric Couchet <frederic@couchet.org>
 +uid                  Frédéric Couchet <fcouchet@april.org>
 +sub   4096R/93262A7B 2014-03-18 [expire : 2018-02-23]
 +
 +pub   4096R/AFD9831F 2016-06-16 [expire : 2031-06-13]
 +uid                  Quentin Gibeaux (QGuLL) <quentin@gibeaux.eu>
 +sub   4096R/3FE3C04A 2016-06-16 [expire : 2031-06-13]
 +
 +pub   4096R/02F5B40A 2016-08-08 [expire : 2018-08-08]
 +uid                  Edouard Dausque <secure@edouard.dausque.net>
 +sub   4096R/95F17989 2016-08-08 [expire : 2018-08-08]
 +</code>
 +
 +==== Soucis avec pass, git ou gpg ====
 +
 +=== Aucune assurance que la clef appartienne vraiment à l'utilisateur nommé ===
 +
 +L'erreur se  manifeste ainsi :
 +<code>
 +gpg: DEADBEEF : aucune assurance que la clef appartienne vraiment à l'utilisateur nommé.
 +
 +sub  rsa4096/DEADBEEF 2042-42-42 douglas@adams.42
 +Empreinte clef princip. : DEAD BEEF
 + Empreinte de sous-clef : DEAD BEEF
 +
 +La clef n'appartient PAS forcément à la personne nommée
 +dans l'identité. Si vous savez *vraiment* ce que vous
 +faites, vous pouvez répondre oui à la prochaine question.
 +
 +
 +Faut-il quand même utiliser cette clef ? (o/N) o
 +</code>
 +
 +Solution: donner un niveau de confiance fort à la clé.
 +  gpg --edit-key DEADBEEF
 +  tsign
 +  --> suivez selon les pointillés
admin/procedures/ajouter-administrateur.1498208830.txt.gz · Dernière modification : 2017/06/23 09:07 de fpoulain