Project

General

Profile

Segnalazione #285

Configurazione kerberos sul server

Added by Christopher R. Gabriel over 4 years ago. Updated over 4 years ago.

Status:
Chiuso
Priority:
Normale
Start date:
06/07/2017
Due date:
% Done:

0%


Description

Nel processo di collegamento al server per la configurazione di kerberos ( https://work.fuss.bz.it/projects/fuss-client/repository/revisions/master/entry/ansible/roles/homes/tasks/main.yml#L134 e seguente ) e' hardcoded l'uso dell'utente root.

La policy prevede che le utenze siano personali con l'uso di sudoer.

Quindi il tecnico non necessariamente ha a disposizione la password di root del server, impedendogli cosi' di poter configurare il client installato.

La proposta, discussa oggi con il personale di ripartizione 9 assieme a Massimo Previdi, e' la seguente:

  • Introdurre una opzione alla command line di fuss-client per specificare l'utente con cui ci si collega al server ( es. '''fuss-client -a -u andrea''')
  • Questo utente verra' utilizzato per collegarsi al server, e il comando eseguito lo sarà attraverso l'uso di sudo
  • Se l'opzione da command line non viene fornita, utilizziamo, come adesso, l'utente root senza far ricorso a sudo.

Screenshot from 2017-06-12 13-26-39.png View (305 KB) Christopher R. Gabriel, 06/12/2017 01:27 PM

Associated revisions

Revision 0ab7d272 (diff)
Added by Elena Grandi over 4 years ago

Don't recreate kerberos key when one exists. refs: #285

Revision e5c3b35d (diff)
Added by Elena Grandi over 4 years ago

Always check whether /root/krb5.keytab exists. refs: #285

History

#1 Updated by Christopher R. Gabriel over 4 years ago

Questa modifica riguarda solo fuss-client, la configurazione di sudo e relativi utenti sul server non e' da considerare, diamo in questo caso per scontato che il server sia già stato configurato opportunamente, cioe' con utenti che siano anche sudoer.

#2 Updated by Christopher R. Gabriel over 4 years ago

  • Subject changed from Configurazione kerberose sul server to Configurazione kerberos sul server

#3 Updated by Elena Grandi over 4 years ago

  • Status changed from Nuovo to In elaborazione

#4 Updated by Elena Grandi over 4 years ago

  • Assignee changed from Elena Grandi to Christopher R. Gabriel

Gli utenti sul server sarebbero configurati per usare sudo con password, vero?

(Al momento sta funzionando solo nel caso di passwordless sudo, sto cercando di risolvere l'eventuale inserimento password)

#5 Updated by Christopher R. Gabriel over 4 years ago

  • Assignee changed from Christopher R. Gabriel to Elena Grandi

Possibilmente entrambi i metodi (con e senza password) perche' le configurazioni di sudo possono variare.

#6 Updated by Elena Grandi over 4 years ago

  • Assignee changed from Elena Grandi to Christopher R. Gabriel

Ho pushato nel branch t285 una versione che sposta la richiesta della chiave fuori da ansible, facendola all'inizio dell'esecuzione di fuss-client -a.

In questo modo:
  • si riesce a far funzionare ssh anche con utente sudo (perché c'è una tty a disposizione per l'inserimento password);
  • la richiesta della password è all'inizio, e non nel bel mezzo dell'esecuzione (aiutando probabilmente a non perdersela e non causare timeout).

Può andare?

Se la cosa va bene è necessaria anche una modifica a fuss-server (per cambiare lo script add_client_principal) che ho pronta ma non ancora pushata (è comunque abbastanza semplice).

Ho testato localmente e sta funzionando correttamente.

#7 Updated by Christopher R. Gabriel over 4 years ago

In linea di principio puo' andare, si. Ho provato ad utilizzarlo facendo pacchetto dal branch, ma ottengo l'errore in allegato.

La modifica a fuss-server in cosa consiste? La metterei in un branch t285 sul repository di fuss-server, cosi' la possiamo valutare.

#8 Updated by Elena Grandi over 4 years ago

Pushato il branch t285 con la modifica

Mi tengo il ticket per indagare sul resto

#9 Updated by Elena Grandi over 4 years ago

  • Assignee changed from Elena Grandi to Christopher R. Gabriel

Trovato il bug: il controllo di esistenza di un file veniva skippato (e poi non lo trovava nella condizione al passo dopo).

Nel frattempo trovato anche un altro bug più grave (la chiave veniva rigenerata ogni esecuzione di fuss-client).

Risolti entrambi sul branch t285

#10 Updated by Christopher R. Gabriel over 4 years ago

  • Status changed from In elaborazione to Commenti
  • Assignee changed from Christopher R. Gabriel to Elena Grandi

Ok, verificato, per me ok il funzionamento generale, pero' se ad esempio sbaglio la password dell'utente, la procedure poi continua, non si ferma. Questo comporta poi che ci sia una configurazione a meta'.

Risolto questo, per me mergiabile e pubblicabile assieme a fuss-server.

#11 Updated by Christopher R. Gabriel over 4 years ago

Aggiungo che dopo aver fornito una password sbagliata all'inizio per l'utente sudoer che avevo preparato, dopo le tre richieste come dicevo procede comunque, e al termine il resoconto di ansible mi dice "failed=0".

Se metto la password giusta, tutto fila via liscio.

#12 Updated by Elena Grandi over 4 years ago

modifica del server mergiata e pubblicata col resto nella 8.0.14-1, mi tengo il ticket per proseguire col client.

#13 Updated by Elena Grandi over 4 years ago

  • Assignee changed from Elena Grandi to Christopher R. Gabriel

Sistemato perché si fermi nel caso qualcosa vada storto nella generazione della chiave.

(il failed=0 arriva da ansible, che non può sapere che qualcosa è andato storto prima che lui venisse lanciato — la soluzione in caso di fallimento non lancia proprio ansible)

#14 Updated by Christopher R. Gabriel over 4 years ago

  • Assignee changed from Christopher R. Gabriel to Elena Grandi

Ok, verificato. Per me mergiabile, version bump e pubblicabile.

#15 Updated by Elena Grandi over 4 years ago

  • Assignee changed from Elena Grandi to Christopher R. Gabriel

Pubblicata la versione 8.0.12 di fuss-client con la fix.

(la parte server era già stata pubblicata venerdì, 8.0.14-1)

#16 Updated by Christopher R. Gabriel over 4 years ago

  • Status changed from Commenti to Chiuso

Ok, chiudo.

Also available in: Atom PDF