Drift/Kerberos: Difference between revisions
No edit summary |
m (Tydeliggjør ny admin-principal) |
||
(21 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
== | == Generell Informasjon om Kerberos == | ||
Her er en fin intro til hvordan Kerberos fungerer : | |||
https://tldp.org/HOWTO/pdf/Kerberos-Infrastructure-HOWTO.pdf | |||
== 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. | Logg inn på maskinen. | ||
Line 17: | Line 21: | ||
installer heimdal: | installer heimdal: | ||
<pre><nowiki> | <pre><nowiki> | ||
berners-lee:~# | berners-lee:~# apt install heimdal-clients libpam-krb5 | ||
</nowiki></pre> | </nowiki></pre> | ||
Last ned keytab (den blir generert automatisk) | |||
<pre><nowiki> | <pre><nowiki> | ||
berners-lee:~# ktutil get -p knuta/admin host/berners-lee.pvv.ntnu.no | berners-lee:~# ktutil get -p knuta/admin host/berners-lee.pvv.ntnu.no | ||
</nowiki></pre> | </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: | Konfigurer pam. Oppsettet kan for eksempel se slik ut på en debian-maskin: | ||
Line 37: | Line 43: | ||
/etc/pam.d/common-password:<pre><nowiki> | /etc/pam.d/common-password:<pre><nowiki> | ||
password sufficient pam_krb5.so minimum_uid=1000 | password sufficient pam_krb5.so minimum_uid=1000 | ||
password required pam_unix.so nullok obscure md5 | password required pam_unix.so nullok obscure md5 | ||
Line 47: | Line 52: | ||
</nowiki></pre> | </nowiki></pre> | ||
== Installasjon av KDC == | == 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 | |||
[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 | |||
</nowiki></pre> | </nowiki></pre> | ||
Logg inn lokalt (siden det ikke finnes noen adminbrukere enda) | |||
<pre><nowiki> | <pre><nowiki> | ||
asgard:~# kadmin -l | asgard:~# kadmin -l | ||
Line 65: | Line 81: | ||
Realm max ticket life [unlimited]: | Realm max ticket life [unlimited]: | ||
Realm max renewable ticket life [unlimited]: | Realm max renewable ticket life [unlimited]: | ||
</nowiki></pre> | </nowiki></pre> | ||
Juster default-innstillingene litt | |||
<pre><nowiki> | <pre><nowiki> | ||
kadmin> modify -a -disallow-all-tix,requires-pre-auth default | kadmin> modify -a -disallow-all-tix,requires-pre-auth default | ||
Line 94: | Line 105: | ||
Aliases: | Aliases: | ||
</nowiki></pre> | </nowiki></pre> | ||
Lag deg en admin-principal (se eget kapittel) | |||
==Lage admin-principal== | |||
Logg inn som root på balduzius (via SSH fra sleipner). | |||
<pre><nowiki> | <pre><nowiki> | ||
asgard:~# kadmin -l | |||
kadmin> add knuta/admin | kadmin> add knuta/admin | ||
Max ticket life [1 day]: | Max ticket life [1 day]: | ||
Line 110: | Line 128: | ||
</nowiki></pre> | </nowiki></pre> | ||
Lag | Lag en ny lokalbruker på sleipner | ||
<pre> | |||
$ sudo useradd -m knuta | |||
</pre> | |||
Legg brukeren til i sudo-gruppen | |||
<pre> | |||
$ sudo usermod -a -G sudo knuta | |||
</pre> | |||
Logg inn fra en annen maskin | |||
<pre> | |||
$ ssh knuta@sleipner | |||
</pre> | |||
Sleipner vil kopiere alt du trenger fra skel, og klone de aktuelle repositoriene. (feks "~/pillar" og "~/salt".) | |||
Om dette ikke virker, kjør <code>/usr/local/bin/prepare-saltmaster-userdir</code> manuelt. | |||
</ | |||
<!-- susi --> |
Latest revision as of 06:56, 14 August 2023
Generell Informasjon om Kerberos
Her er en fin intro til hvordan Kerberos fungerer :
https://tldp.org/HOWTO/pdf/Kerberos-Infrastructure-HOWTO.pdf
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å balduzius (via SSH fra sleipner).
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
Lag en ny lokalbruker på sleipner
$ sudo useradd -m knuta
Legg brukeren til i sudo-gruppen
$ sudo usermod -a -G sudo knuta
Logg inn fra en annen maskin
$ ssh knuta@sleipner
Sleipner vil kopiere alt du trenger fra skel, og klone de aktuelle repositoriene. (feks "~/pillar" og "~/salt".)
Om dette ikke virker, kjør /usr/local/bin/prepare-saltmaster-userdir
manuelt.