Site Tools


Kerberos

Kerberos to wypasione oprogramowanie do uwierzytelniania. Kiedy z tym skończymy, będziemy mieć single sign-on na wszystkie pudła należące do Hackerspace. Będzie też podstawą autoryzacji na naszych terminalach.

Stan obecny

Zaawansowany work-in-progress, działa na boston-packets, zbigniewie i wszystkich maszynach z netboot. Na netbootujących pudłach są jeszcze pewne problemy. Co dokładnie idzie z Kerberosa - niedługo opiszemy.

Ponadto włączony jest SASL passthrough w LDAPie, więc hasłem kerberosowym można uwierzytelnić się we wszystkich usługach używających LDAP simple bind.

Plan migracji

Docelowo chcemy, żeby autoryzacja szła wyłącznie przez Kerberosa. W innym bowiem przypadku czeka nas mega walka choćby z homedirami.

Nie znamy jeszcze sposobu, żeby zmienić hasło kerberosowe po podaniu hasła LDAPowego. To prawdopodobnie niemożliwe by design. Dlatego konieczne wydaje się ręczne wpisanie haseł do Kerberosa przez użytkowników do konsoli admina.

Profile wszystkich użytkowników są przygotowane do takiej migracji.

Sposób użycia

krb5.conf

Ta sekcja jest konieczna tylko, jeśli chcecie logować się na maszyny HS ze swojego komputera

Żeby używać logowania do kerberosa z domu, należy wprowadzić następujące dane do odp. sekcji /etc/krb5.conf na swoim komputerze:

[realms]
        HACKERSPACE.PL = {
                admin_server = kerberos.hackerspace.pl
                kdc = kerberos.hackerspace.pl
                kdc = zbigniew.waw.hackerspace.pl
                default_domain = hackerspace.pl
                sasl-realm = HACKERSPACE.PL
        }

[domain_realm]
        .hackerspace.pl = HACKERSPACE.PL
        hackerspace.pl = HACKERSPACE.PL

Uzyskiwanie ticketa

Żeby używać Kerberosa potrzebny jest ticket. Uzyskać go można wydając z konsoli polecenie kinit -f login@HACKERSPACE.PL (-f to forwardable, ticket, który można przekazać dalej). Godna rozważenia jest też opcja -A (address independent).

Na maszynach HS wystarczyć powinien po prostu kinit, bowiem tickety są domyślnie forwardowalne, a login jest już znany. Jeśli zaś zalogowaliście się używając Kerberosa, nic zupełnie nie trzeba robić.

Po podaniu hasła swoje piękne tickety obejrzeć można używając klist:

tomek@terminal-002170b74517 ~ $ klist
Ticket cache: FILE:/tmp/krb5cc_1015_JlK6Tr
Default principal: tomek@HACKERSPACE.PL

Valid starting       Expires              Service principal
04/14/2013 03:04:34  04/15/2013 03:04:34  krbtgt/HACKERSPACE.PL@HACKERSPACE.PL
        renew until 04/14/2013 03:04:34
04/14/2013 03:05:53  04/15/2013 03:04:34  host/twojastara.hackerspace.pl@HACKERSPACE.PL
        renew until 04/14/2013 03:04:34
04/14/2013 03:10:33  04/15/2013 03:04:34  host/zbigniew.hackerspace.pl@HACKERSPACE.PL
        renew until 04/14/2013 03:04:34

SSH

Żeby zalogować się do komputerów HS z domu, konieczne jest ustawienie co najmniej dwóch opcji w /etc/ssh/ssh_config:

   GSSAPIAuthentication yes
   GSSAPIDelegateCredentials yes

Może być też potrzebne GSSApiTrustDNS yes, zobaczymy.

Uwaga SSH jest bardzo analne jeśli chodzi o sprawdzanie hostname'ów przy uwierzytelnianiu gssapi-with-mic. When in doubt - podawaj FQDN jako hostname. W szczególności, logowanie po GSSAPI na boston-packets ma sporą szansę zadziałać tylko z hostem boston-packets.hackerspace.pl

$ ssh hackerspace.pl # NOPE, ssh ci raczej nie pozwoli użyć gssapi
$ ssh boston-packets.hackerspace.pl # profit!
projects/kerberos.txt · Last modified: 2014/04/02 06:57 (external edit)