MIT Kerberose kasutamine Debianiga

Allikas: Kuutõrvaja
Redaktsioon seisuga 21. juuni 2010, kell 17:51 kasutajalt Imre (arutelu | kaastöö) (NFS kasutamine)

Sissejuhatus

Kerberos ...

Tööpõhimõte

TODO

          ___
         |   | krb5kdc - 88/tcp
         |___| kadmind - 749/tcp
           |
           |
       ----|----------|-------------------------|---
                      |                         |
                    __|__                     __|__
                   |     |                   |     |
                   |_____|                   |_____|

Ettevalmistused

  • Asjaosaliste arvutite nimede päri-ja pöördteisendused peavad lahenema korrektselt.
  • Asjaosaliste arvutite kellaaeg peab olema sama.

Serveri tarkvara paigaldamine

# apt-get install krb5-kdc krb5-admin-server

Kerberose andmebaasi haldamine

  • Andmebaasi tekitamiseks tuleb öelda
# krb5_newrealm

Kerberose andmebaasi saab hallata kadmin.local programmiga, nt käsuga listprincs saab küsida registreeritud principalide nimekirja

  • Lokaalses arvutis, kasutades otse failisüsteemist Kerberose andmebaasifaili
# kadmin.local 
Authenticating as principal root/admin@AUUL with password.
kadmin.local:  listprincs 
K/M@AUUL
kadmin/admin@AUUL
kadmin/changepw@AUUL
kadmin/history@AUUL
krbtgt/AUUL@AUUL
  • Üle võrgu, kasutades Kerberose andmebaasifaili Kerberose protokolli abil
# kadmin -p root/admin

Selleks, et administraatorid saaksid administreerida, peab fail /etc/krb5kdc/kadm5.acl peab sisaldama rida

*/admin *

keytab faili kasutamine

# ktutil 
ktutil:  rkt /etc/krb5.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
  1    3                        kadmin/admin@AUUL
  2    3                        kadmin/admin@AUUL
  3    3                        kadmin/admin@AUUL
...
# klist -e -k /etc/krb5.keytab
Keytab name: WRFILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
  3 kadmin/admin@AUUL (AES-256 CTS mode with 96-bit SHA-1 HMAC) 
  3 kadmin/admin@AUUL (ArcFour with HMAC/md5) 
...
kadmin: ktadd -k /etc/krb5.keytab root/debian-testing-1.auul

Administraatori lisamine

kadmin.local:  addprinc root/admin

Kasutaja lisamine

kadmin.local:  addprinc priit

Hosti lisamine

kadmin.local:  addprinc -randkey host/debian-testing-2.auul

Kliendi tarkvara paigaldamine

# apt-get install krb5-user krb5-clients

Tarkvara paigaldamise käigus küsitakse

  • REALMi nime
  • Kerberose serverite nimesid
  • Kerberose administratiivne (password changing) server

Esitatud andmete põhjal moodustatakse Kerberoses süsteemis osalevale arvutile seadistusfail

/etc/krb5.conf

Kliendi kasutamine

Võtme saamiseks sobib nt öelda

$ kinit
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: priit@AUUL

Valid starting     Expires            Service principal
06/21/10 00:40:13  06/21/10 10:40:13  krbtgt/AUUL@AUUL
        renew until 06/22/10 00:40:09

kshell

kshell (Kerberized rsh) kasutamiseks, nt teiselt arvutilt küsida keskkonna kohta, sobib öelda

$ krb5-rsh -x debian-kdc env
This rsh session is encrypting input/output data transmissions.
KRB5LOCALADDR=192.168.10.204
TERM=network
SHELL=/bin/bash
USER=priit
KRB5REMOTEPORT=55424
PATH=/usr/bin:/local/bin:/usr/bin:/bin:/usr/local/bin:/usr/bin/X11:.
KRB5LOCALPORT=544
PWD=/home/priit
SHLVL=1
HOME=/home/priit
KRB5REMOTEADDR=192.168.10.205
_=/usr/bin/env

OpenSSH

Selleks, et OpenSSH klient saaks ilma paroolita sisse logida, peab serveri seadistusfailis olema rida

GSSAPIAuthentication yes

Õnnestumisel tekib serveri auth.log faili

Jun 20 17:36:08 debian-testing-kdc sshd[4597]: Authorized to priit, krb5 principal priit@AUUL (krb5_kuserok)
Jun 20 17:36:08 debian-testing-kdc sshd[4597]: Accepted gssapi-with-mic for priit from 192.168.10.205 port 33144 ssh2
Jun 20 17:36:08 debian-testing-kdc sshd[4597]: pam_unix(sshd:session): session opened for user priit by (uid=0)

Pileti kustutamine

Lõpetamiseks

$ kdestroy

NFS kasutamine

Kasulikud lisamaterjalid

LDAP kasutamine

TODO

Märkused

  • /tmp kataloog peab olema kõigile kirjutatav (nii nagu ta reeglina ka olema peab)

Kasulikud lisamaterjalid