Difference between revisions of "Drift/Kerberos"

From Programvareverkstedet
Jump to navigation Jump to search
(initial revision)
 
 
(18 intermediate revisions by 7 users not shown)
Line 1: Line 1:
== Installasjon av KDC ==
+
== Feilsøking ==
 +
 
 +
Om kerberos slutter å virke på en maskin, prøv å logge inn på den med SSH-nøkler og kjøre kinit. kinit vil muligens gi en feilmelding som går an å forstå. Eksempel:
 +
 
 +
<pre>
 +
knuta@skrott:~$ kinit
 +
knuta@PVV.NTNU.NO's Password:
 +
kinit: krb5_get_init_creds: Too large time skew
 +
</pre>
 +
 
 +
== Nye kerberos-klienter ==
 +
 
 +
Logg inn på maskinen.
 +
 
 +
installer heimdal:
 +
<pre><nowiki>
 +
berners-lee:~# apt install heimdal-clients libpam-krb5
 +
</nowiki></pre>
 +
 
 +
Last ned keytab (den blir generert automatisk)
 +
<pre><nowiki>
 +
berners-lee:~# ktutil get -p knuta/admin host/berners-lee.pvv.ntnu.no
 +
</nowiki></pre>
 +
 
 +
'''Som regel er du ferdig når du har kommet hit. Nyere Debian og Ubuntu setter selv om pam om du installerer libpam-krb5. I så fall trenger du ikke tenke på det nedenfor.'''
 +
 
 +
Konfigurer pam. Oppsettet kan for eksempel se slik ut på en debian-maskin:
 +
/etc/pam.d/common-account:<pre><nowiki>
 +
account required        pam_krb5.so    minimum_uid=1000
 +
account required        pam_unix.so
 +
</nowiki></pre>
 +
 
 +
/etc/pam.d/common-auth:<pre><nowiki>
 +
auth    sufficient      pam_krb5.so    minimum_uid=1000
 +
auth    required        pam_unix.so nullok_secure
 +
</nowiki></pre>
 +
 
 +
/etc/pam.d/common-password:<pre><nowiki>
 +
password        sufficient      pam_krb5.so    minimum_uid=1000
 +
password  required  pam_unix.so nullok obscure md5
 +
</nowiki></pre>
 +
 
 +
/etc/pam.d/common-session:<pre><nowiki>
 +
session optional        pam_krb5.so    minimum_uid=1000
 +
session required        pam_unix.so
 +
</nowiki></pre>
 +
 
 +
== Installasjon av KDC (Kerberos-server) ==
 +
 
 +
'''MERK: En KDC er en Kerberos-server. Dette kapittelet har altså ikke noe med de øvrige maskinene å gjøre'''
  
 
Rediger /etc/hosts så public-ipen (f.eks. 129.241.210.168) peker på hostnavnet til kdc, ellers virker det ikke.
 
Rediger /etc/hosts så public-ipen (f.eks. 129.241.210.168) peker på hostnavnet til kdc, ellers virker det ikke.
  
Installer heimdal-clients
+
Installer heimdal-clients og heimdal-kdc
 +
<pre><nowiki>
 +
aptitude install heimdal-clients heimdal-kdc
 +
</nowiki></pre>
 +
 
 +
Lag symlink (på grunn av en bug i heimdal-kdc): <pre><nowiki>
 +
ln -s /etc/heimdal-kdc/kadmind.acl /var/lib/heimdal-kdc/
 +
</nowiki></pre>
 +
 
 +
Rediger /etc/heimdal-kdc/kdc.conf og sett følgende opsjoner: <pre><nowiki>
 +
[password_quality]
 +
min_length = 8
  
Legg til dette i bunnen av /etc/krb5.conf for å få de riktige krypto-algoritmene: {{
 
 
[kadmin]
 
[kadmin]
        default_keys = aes256-cts-hmac-sha1-96:pw-salt aes128-cts-hmac-sha1-96:pw-salt des3-cbc-sha1:pw-salt arcfour-hmac-md5:pw-salt
+
default_keys = aes256-cts-hmac-sha1-96:pw-salt aes128-cts-hmac-sha1-96:pw-salt des3-cbc-sha1:pw-salt arcfour-hmac-md5:pw-salt
}}
+
</nowiki></pre>
  
Installer heimdal-kdc
+
Logg inn lokalt (siden det ikke finnes noen adminbrukere enda)
 
+
<pre><nowiki>
{{
 
 
asgard:~# kadmin -l
 
asgard:~# kadmin -l
 
kadmin> init PVV.NTNU.NO
 
kadmin> init PVV.NTNU.NO
 
Realm max ticket life [unlimited]:
 
Realm max ticket life [unlimited]:
 
Realm max renewable ticket life [unlimited]:
 
Realm max renewable ticket life [unlimited]:
kadmin: create_random_entry(krbtgt/PVV.NTNU.NO@PVV.NTNU.NO): randkey failed: Principal or policy already exists
+
</nowiki></pre>
kadmin: create_random_entry(kadmin/changepw@PVV.NTNU.NO): randkey failed: Principal or policy already exists
 
kadmin: create_random_entry(kadmin/admin@PVV.NTNU.NO): randkey failed: Principal or policy already exists
 
kadmin: create_random_entry(changepw/kerberos@PVV.NTNU.NO): randkey failed: Principal or policy already exists
 
kadmin: create_random_entry(kadmin/hprop@PVV.NTNU.NO): randkey failed: Principal or policy already exists
 
kadmin: kadm5_create_principal: Principal or policy already exists
 
}}
 
  
{{
+
Juster default-innstillingene litt
 +
<pre><nowiki>
 
kadmin> modify -a -disallow-all-tix,requires-pre-auth default
 
kadmin> modify -a -disallow-all-tix,requires-pre-auth default
 
kadmin> get default
 
kadmin> get default
Line 45: Line 98:
 
           PK-INIT ACL:  
 
           PK-INIT ACL:  
 
               Aliases:  
 
               Aliases:  
}}
 
 
{{
 
kadmin> add knuta/admin
 
Max ticket life [1 day]:
 
Max renewable life [1 week]:
 
Principal expiration time [never]:
 
Password expiration time [never]:
 
Attributes [requires-pre-auth]:
 
knuta/admin@PVV.NTNU.NO's Password:
 
Verifying - knuta/admin@PVV.NTNU.NO's Password:
 
}}
 
 
Rediger /etc/heimdal-kdc/kadmind.acl og legg til følgende:<pre><nowiki>
 
knuta/admin all
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Lag symlink (på grunn av en bug i heimdal-kdc): <pre><nowiki>
+
Lag deg en admin-principal (se eget kapittel)
ln -s /etc/heimdal-kdc/kadmind.acl /var/lib/heimdal-kdc/
 
</nowiki></pre>
 
  
Rediger /etc/heimdal-kdc/kdc.conf og sett følgende opsjoner: <pre><nowiki>
+
==Lage admin-principal==
[password_quality]
 
min_length = 8
 
  
[kadmin]
+
Logg inn som root på asgard (via SSH fra lommel).
default_keys = aes256-cts-hmac-sha1-96:pw-salt aes128-cts-hmac-sha1-96:pw-salt des3-cbc-sha1:pw-salt arcfour-hmac-md5:pw-salt
 
</nowiki></pre>
 
 
 
== Nye bokser ==
 
 
 
Legg til host principal
 
  
 
<pre><nowiki>
 
<pre><nowiki>
kadmin> add --random-key host/berners-lee.pvv.ntnu.no
+
asgard:~# kadmin -l
 +
kadmin> add knuta/admin
 
Max ticket life [1 day]:
 
Max ticket life [1 day]:
 
Max renewable life [1 week]:
 
Max renewable life [1 week]:
Line 85: Line 114:
 
Password expiration time [never]:
 
Password expiration time [never]:
 
Attributes [requires-pre-auth]:
 
Attributes [requires-pre-auth]:
 +
knuta/admin@PVV.NTNU.NO's Password:
 +
Verifying - knuta/admin@PVV.NTNU.NO's Password:
 
</nowiki></pre>
 
</nowiki></pre>
  
Logg inn på maskinen.
+
Rediger /etc/heimdal-kdc/kadmind.acl og legg til følgende:<pre><nowiki>
 
+
knuta/admin all
installer heimdal:
 
<pre><nowiki>
 
berners-lee:~# aptitude install heimdal-clients
 
 
</nowiki></pre>
 
</nowiki></pre>
 
last ned keytab
 
<pre><nowiki>
 
berners-lee:~# ktutil get -p knuta/admin host/berners-lee.pvv.ntnu.no
 
</nowiki></pre>
 
 
Konfigurer pam (TODO: Dokumenter dette)
 
 
__NOTOC__
 

Latest revision as of 09:52, 7 June 2020

Feilsøking

Om kerberos slutter å virke på en maskin, prøv å logge inn på den med SSH-nøkler og kjøre kinit. kinit vil muligens gi en feilmelding som går an å forstå. Eksempel:

knuta@skrott:~$ kinit
knuta@PVV.NTNU.NO's Password:
kinit: krb5_get_init_creds: Too large time skew

Nye kerberos-klienter

Logg inn på maskinen.

installer heimdal:

berners-lee:~# apt install heimdal-clients libpam-krb5

Last ned keytab (den blir generert automatisk)

berners-lee:~# ktutil get -p knuta/admin host/berners-lee.pvv.ntnu.no

Som regel er du ferdig når du har kommet hit. Nyere Debian og Ubuntu setter selv om pam om du installerer libpam-krb5. I så fall trenger du ikke tenke på det nedenfor.

Konfigurer pam. Oppsettet kan for eksempel se slik ut på en debian-maskin:

/etc/pam.d/common-account:

account required        pam_krb5.so     minimum_uid=1000
account required        pam_unix.so

/etc/pam.d/common-auth:

auth    sufficient      pam_krb5.so     minimum_uid=1000
auth    required        pam_unix.so nullok_secure

/etc/pam.d/common-password:

password        sufficient      pam_krb5.so     minimum_uid=1000
password   required   pam_unix.so nullok obscure md5

/etc/pam.d/common-session:

session optional        pam_krb5.so     minimum_uid=1000
session required        pam_unix.so

Installasjon av KDC (Kerberos-server)

MERK: En KDC er en Kerberos-server. Dette kapittelet har altså ikke noe med de øvrige maskinene å gjøre

Rediger /etc/hosts så public-ipen (f.eks. 129.241.210.168) peker på hostnavnet til kdc, ellers virker det ikke.

Installer heimdal-clients og heimdal-kdc

aptitude install heimdal-clients heimdal-kdc

Lag symlink (på grunn av en bug i heimdal-kdc):

ln -s /etc/heimdal-kdc/kadmind.acl /var/lib/heimdal-kdc/

Rediger /etc/heimdal-kdc/kdc.conf og sett følgende opsjoner:

[password_quality]
min_length = 8

[kadmin]
default_keys = aes256-cts-hmac-sha1-96:pw-salt aes128-cts-hmac-sha1-96:pw-salt des3-cbc-sha1:pw-salt arcfour-hmac-md5:pw-salt

Logg inn lokalt (siden det ikke finnes noen adminbrukere enda)

asgard:~# kadmin -l
kadmin> init PVV.NTNU.NO
Realm max ticket life [unlimited]:
Realm max renewable ticket life [unlimited]:

Juster default-innstillingene litt

kadmin> modify -a -disallow-all-tix,requires-pre-auth default
kadmin> get default
            Principal: default@PVV.NTNU.NO
    Principal expires: never
     Password expires: never
 Last password change: 2009-06-16 18:16:07 UTC
      Max ticket life: 1 day
   Max renewable life: 1 week
                 Kvno: 1
                Mkvno: 0
Last successful login: never
    Last failed login: never
   Failed login count: 0
        Last modified: 2009-06-16 18:18:43 UTC
             Modifier: kadmin/admin@PVV.NTNU.NO
           Attributes: requires-pre-auth
             Keytypes: aes256-cts-hmac-sha1-96(pw-salt), aes128-cts-hmac-sha1-96(pw-salt), des3-cbc-sha1(pw-salt), arcfour-hmac-md5(pw-salt)
          PK-INIT ACL: 
              Aliases: 

Lag deg en admin-principal (se eget kapittel)

Lage admin-principal

Logg inn som root på asgard (via SSH fra lommel).

asgard:~# kadmin -l
kadmin> add knuta/admin
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes [requires-pre-auth]:
knuta/admin@PVV.NTNU.NO's Password: 
Verifying - knuta/admin@PVV.NTNU.NO's Password: 

Rediger /etc/heimdal-kdc/kadmind.acl og legg til følgende:

knuta/admin all