Handbok för Sun Enterprise Authentication Mechanism Sun Microsystems, Inc. 901 San Antonio Rd. Palo Alto, CA 94303 USA Artikelnummer: 805-1968 10 Augusti 1999
Copyright 1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, CA 94303-4900 USA. Med ensamrätt. Delar av copyright 1996, Massachusetts Institute of Technology. Med ensamrätt. Denna produkt och detta dokument skyddas av upphovsrättslagen och distribueras med en licens som reglerar användning, kopiering, distribution och dekompilering. Ingen del av produkten eller dokumentet får mångfaldigas på något sätt utan skriftligt tillstånd från Sun och Suns licenstagare. Program från övriga företag, t ex teckensnittsteknik, är skyddat av upphovsrätt och tillhandahålls på licens av Suns leverantörer. Delar av produkten kan härröra från Berkeley BSD-system, som tillhandahålls på licens av University of California. UNIX är ett registrerat varumärke i USA och övriga länder och tillhandahålls på licens med ensamrätt av X/Open Company, Ltd. Sun, Sun Microsystems, Sun-logotypen, docs.sun.com, AnswerBook, AnswerBook2, och Solaris är varumärken eller registrerade varumärken som tillhör Sun Microsystems, Inc i USA och andra länder. Alla SPARC-varumärken är varumärken eller registrerade varumärken som tillhandahålls och ägs av SPARC International, Inc. i USA och andra länder. Produkter med SPARC-varumärken bygger på en arkitektur som har utvecklats av Sun Microsystems, Inc. OPEN LOOK och det grafiska användargränssnittet från Sun TM är utvecklade av Sun Microsystems, Inc för användare och licenstagare. Sun erkänner betydelsen av Xerox forskning och utveckling av grafiska användargränssnitt för datorindustrin. Sun har en licens utan ensamrätt från Xerox för Xerox grafiska användargränssnitt, som också omfattar Suns licensinnehavare som använder OPEN LOOK-användargränssnittet och följer Suns skriftliga licensavtal. BEGRÄNSADE RÄTTIGHETER: Användning, kopiering eller offentliggörande som utförs av USA:s regering lyder under bestämmelserna i FAR 52.227 14(g)(2)(6/87) och FAR 52.227 19(6/87) eller DFAR 252.227 7015(b)(6/95) och DFAR 227.7202 3(a). DOKUMENTATIONEN TILLHANDAHÅLLS I BEFINTLIGT SKICK. SUN ERKÄNNER INGA UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA VILLKOR, ÅTERGIVANDEN OCH GARANTIER, INKLUSIVE UNDERFÖRSTÅDDA GARANTIER OM SÄLJBARHET, LÄMPLIGHET FÖR ETT VISST ÄNDAMÅL ELLER ICKE-LAGSTRIDIGHET. DETTA GÄLLER I ALLA FALL DÅ DET INTE FINNS JURIDISKT BINDANDE SKÄL TILL MOTSATSEN. Copyright 1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, Californie 94303-4900 Etats-Unis. Tous droits réservés. Copyright 1996 des portions du logiciel par Massachusetts Institute of Technology. Tous droits réservés. Ce produit ou document est protégé par un copyright et distribué avec des licences qui en restreignent l utilisation, la copie, la distribution, et la décompilation. Aucune partie de ce produit ou document ne peut être reproduite sous aucune forme, par quelque moyen que ce soit, sans l autorisation préalable et écrite de Sun et de ses bailleurs de licence, s il y en a. Le logiciel détenu par des tiers, et qui comprend la technologie relative aux polices de caractères, est protégé par un copyright et licencié par des fournisseurs de Sun. Des parties de ce produit pourront être dérivées du système Berkeley BSD licenciés par l Université de Californie. UNIX est une marque déposée aux Etats-Unis et dans d autres pays et licenciée exclusivement par X/Open Company, Ltd. Sun, Sun Microsystems, le logo Sun, docs.sun.com, AnswerBook, AnswerBook2, et Solaris sont des marques de fabrique ou des marques déposées, ou marques de service, de Sun Microsystems, Inc. aux Etats-Unis et dans d autres pays. Toutes les marques SPARC sont utilisées sous licence et sont des marques de fabrique ou des marques déposées de SPARC International, Inc. aux Etats-Unis et dans d autres pays. Les produits portant les marques SPARC sont basés sur une architecture développée par Sun Microsystems, Inc. L interface d utilisation graphique OPEN LOOK et Sun TM a été développée par Sun Microsystems, Inc. pour ses utilisateurs et licenciés. Sun reconnaît les efforts de pionniers de Xerox pour la recherche et le développement du concept des interfaces d utilisation visuelle ou graphique pour l industrie de l informatique. Sun détient une licence non exclusive de Xerox sur l interface d utilisation graphique Xerox, cette licence couvrant également les licenciés de Sun qui mettent en place l interface d utilisation graphique OPEN LOOK et qui en outre se conforment aux licences écrites de Sun. CETTE PUBLICATION EST FOURNIE EN L ETAT ET AUCUNE GARANTIE, EXPRESSE OU IMPLICITE, N EST ACCORDEE, Y COMPRIS DES GARANTIES CONCERNANT LA VALEUR MARCHANDE, L APTITUDE DE LA PUBLICATION A REPONDRE A UNE UTILISATION PARTICULIERE, OU LE FAIT QU ELLE NE SOIT PAS CONTREFAISANTE DE PRODUIT DE TIERS. CE DENI DE GARANTIE NE S APPLIQUERAIT PAS, DANS LA MESURE OU IL SERAIT TENU JURIDIQUEMENT NUL ET NON AVENU. Please Recycle
Innehåll Inledning ix 1. Introduktion till SEAM 1 Vad är SEAM? 1 Så fungerar SEAM 2 Första verifiering: biljettbeviljarbiljetten (TGT) 3 Påföljande verifieringar 5 SEAM-baserade kommandon 6 Principaler 6 Användarkategorier 7 Säkerhetstjänster 8 Komponenter i SEAM 9 2. Planera för SEAM 11 Konfigurationsbeslut för SEAM 11 Användarkategorier 12 Avbilda värdnamn på användarkategorier 13 Namn på klienter och tjänstprincipaler 13 Portar för KDC- och admin-tjänster 13 Slav-KDC:er 14 Databasöverföring 14 Innehåll iii
Synkronisering av klockor 14 Förkonfigurering av SEAM 15 3. Konfigurera SEAM 17 Översikt över SEAM-konfigurering 17 Konfigurera DNS-servrar 19 H Så här konfigurerar du en huvud-kdc 19 H Så här konfigurerar du en slav-kdc 25 Konfigurera verifiering mellan användarkategorier 30 H Så här upprättar du hierarkisk verifiering mellan användarkategorier 30 H Så här upprättar du direkt verifiering mellan användarkategorier 31 Konfigurera nätverksprogramservrar för SEAM 33 H Så här konfigurerar du en SEAM-nätverksprogramserver 33 Konfigurera NFS-servrar för SEAM 35 H Så här konfigurerar du NFS-servrar för SEAM 36 H Så här ändrar du fjärrmekanismen för tabellen gsscred 37 H Så här skapar du en referenstabell 38 H Så här lägger du till en post i referenstabellen 39 H Så här installerar du en säker NFS-miljö med flera Kerberos-säkerhetslägen 40 Konfigurera SEAM-klienter 41 H Så här konfigurerar du en SEAM-klient 41 Ställa in root-verifiering för montering av NFS-filsystem 45 Synkronisera klockor mellan KDC:er och SEAM-klienter 45 H Så här installerar du en NTP-server 47 H Så här installerar du en NTP-klient 47 Växla huvud- och slav-kdc:er 48 H Så här konfigurerar du en växlingsbar slav-kdc 48 H Så här växlar du huvud- och slav-kdc:er 50 Administrera Kerberos-databasen 54 iv Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
Säkerhetskopiera och överföra Kerberos-databasen 54 H Så här säkerhetskopierar du Kerberos-databasen 55 H Så här återställer du Kerberos-databasen 57 H Så här överför du Kerberos-databasen till slav-kdc:erna manuellt 57 Ställa in parallell överföring 58 H Så här ställer du in parallell överföring 59 Administrera lagringsfilen. 60 H Så här tar du bort en lagringsfil 60 Öka säkerheten 60 H Så här aktiverar du enbart Kerberos-anpassade program 61 H Så här begränsar du åtkomsten för KDC-servrar 61 4. Felmeddelanden och felsökning i SEAM 65 Felmeddelanden i SEAM 65 Felmeddelanden i administrationsverktyget för SEAM 65 Vanliga felmeddelanden i SEAM 66 Vanliga felmeddelanden i SEAM 83 Felsökning i SEAM 90 Problem med formatet för filen krb5.conf 90 Problem med överföring av Kerberos-databasen 91 Problem med att montera ett Kerberos-anpassat NFS-filsystem 91 Problem med verifiering som root 92 5. Administrera principaler och policies 93 Sätt att administrera principaler och policies 94 SEAM-verktyget 94 Kommandoradsekvivalenter för SEAM Tool 95 Filer som ändras av SEAM Tool 96 Funktioner för utskrift och direkthjälp i SEAM Tool 96 Arbeta med långa listor i SEAM Tool 97 Innehåll v
H Så här startar du SEAM Tool 97 Administrera principaler 99 Uppgiftsöversikt för administrering av principaler 99 Automatisera skapandet av nya principaler 101 H Så här visar du listan över principaler 102 H Så här visar du attributen för en principal 103 H Så här skapar du en ny principal 105 H Så här duplicerar du en principal 107 H Så här ändrar du en principal 107 H Så här tar du bort en principal 108 H Så här ställer du in standardvärden för nya principaler som skapas 109 H Så här ändrar du administrationsbehörighet för Kerberos 110 Administrera policies 112 Uppgiftstsöversikt för administrering av policies 112 H Så här visar du listan över policies 113 H Så här visar du attributen för en policy 115 H Så här skapar du en ny policy 117 H Så här duplicerar du en policy 118 H Så här ändrar du en policy 119 H Så här tar du bort en policy 120 Referensinformation för SEAM Tool 121 Beskrivning av panelerna i SEAM Tool 121 Använda SEAM Tool med begränsad behörighet för Kerberos-administration 125 Administrera nyckeltabeller 127 Uppgiftsöversikt för administrering av nyckeltabeller 128 H Så här lägger du till en tjänstprincipal i en nyckeltabell 129 H Så här tar du bort en tjänstprincipal ur en nyckeltabell 131 vi Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
H Så här visar du nyckellistan (principaler) i en nyckeltabell 132 H Så här inaktiverar du tillfälligt verifiering för en tjänst på en värd 133 6. Använda SEAM 137 Biljetthantering 138 Behöver du bry dig om biljetter? 138 H Så här skapar du en biljett 138 H Så här visar du biljetter 139 H Så här förstör du biljetter 140 Lösenordshantering 141 Goda råd om att välja lösenord 142 Byta lösenord 142 Bevilja åtkomst till ditt konto 145 SEAM-kommandon 147 Översikt över Kerberos-anpassade kommandon 148 Vidarebefordra biljetter med f och F 151 Exempel Använda Kerberos-anpassade kommandon 152 7. Referensinformation för SEAM 155 filer i SEAM 155 Konfigurationsfil för PAM 157 SEAM-kommandon 158 Ändringar i kommandot share. 160 Bakgrundsprogram i SEAM 160 SEAM-terminologi 161 Verifieringsspecifik terminologi 161 Biljettyper 162 Så fungerar verifieringssystemet 167 Skaffa åtkomst till tjänster med SEAM 168 Skaffa en referens för biljettbeviljartjänsten 168 Innehåll vii
Hämta en referens för en server 169 Skaffa åtkomst till en viss tjänst 170 Använda tabellen gsscred 171 Val av mekanism för tabellen gsscred 171 8. Säker nätverksprogrammering med RPCSEC_GSS 173 Säkerhetsalternativ 174 Säkerhetsfunktioner före RPCSEC_GSS 174 Integritet och skydd av personuppgifter: API:t för GSS 175 API:t för RPCSEC_GSS 175 Rutiner för RPCSEC_GSS 177 Skapa en kontext 179 Ändra värden och förstöra en kontext 180 Principalnamn 180 Ange principalnamn för servrar 181 Skapa principalnamn för klienter 181 Frigöra principalnamn 182 Ta emot referenser på servern 182 Cookies 184 Callback-funktioner 184 Maximal datastorlek 185 Diverse funktioner 186 Associerade filer 186 Tabellen gsscred 186 /etc/gss/qop och /etc/gss/mech 187 Ordlista 189 Index 197 viii Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
Inledning Handboken för Sun TM Enterprise Authentication Mechanism beskriver hur man installerar, administrerar och använder produkten Sun Enterprise Authentication Mechanism (SEAM). SEAM innehåller en komplett implementering av Kerberos V5 för Solaris 2.6 och Solaris 7. Det mesta av boken fokuseras på de steg som behöver utföras för att installera, konfigurera och underhålla produkten. Dessutom har användarinformation för SEAM tagits med, samt ett kapitel som behandlar implementeringen av RPCSEC_GSS-API:t (Application Programming Interface) sett ur en utvecklares perspektiv. Vem ska använda den här boken Den här boken är avsedd för följande läsekrets: 4 Systemadministratörer och avancerade användare som behöver installera, konfigurera eller administrera en installation av SEAM. 4 Vem som helst som använder de användarnivåkommandon som ingår i SEAM, till exempel SEAM-versioner av ftp och rcp. Denna information ges huvudsakligen i Kapitel 6. 4 Nätverksprogrammerare som är intresserade i att skriva RPC-baserade program och som kan dra nytta av säkerhetsfunktionerna i RPCSEC-GSS. Denna information ges huvudsakligen i Kapitel 8. Inledning ix
Innan du läser den här boken Informationen som riktar sig till användare kräver endast grundläggande kunskaper om Solaris operativmiljö. Informationen för administratörer, huvudsakligen de som rör installation, konfiguration och administration av SEAM, kräver breda kunskaper om Solaris operativmiljö inklusive ämnen som rör nätverksadministration. Avsnittet för utvecklare kräver kunskaper om hur man använder RPC (Remote Procedure Call). Avsnittet om installation och underhåll kräver att du känner till de normala installationsprocedurerna för Solaris. Hur boken är uppdelad I Kapitel 1 finns en översikt över SEAM I Kapitel 2 beskrivs de frågor som behöver besvaras innan du installerar SEAM. I Kapitel 3 finns information om hur man konfigurerar KDC-servrar (Key Distribution Center), nätverksprogramservrar och NFS-servrar för SEAM samt SEAM-klienter. I Kapitel 4 förklaras några av de viktigaste felmeddelandena i SEAM och lösningar på vanliga problem ges. I Kapitel 5 finns information om hur man installerar och administrerar principaler, lösenord, policies och övrig information för databasen i varje Kerberos-användarkategori. Här introduceras också det GUI-baserade verktyg för SEAM som kan användas för dessa uppgifter. I Kapitel 6 finns instruktioner för hur man använder SEAM på användarnivå, till exempel hur man hämtar och använder biljetter, väljer lösenord samt använder SEAM-baserade verktyg som ftp och rlogin. I Kapitel 7 beskrivs alla filer som finns med i den här SEAM-versionen. Här finns också en detaljerad översikt över hur SEAM-produkten fungerar. I Kapitel 8 beskrivs hur man använder API:t RPCSEC_GSS för att utnyttja säkerhetsfunktionerna för RPC-baserade program. Andra böcker Här följer en lista med dokumentation som den här boken refererar till: x Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
4 ONC+ Developer s Guide 4 System Administration Guide, Volume I 4 System Administration Guide, Volume II Beställa Sun-dokumentation Programmet SunDocs SM innehåller mer än 250 handböcker från Sun Microsystems TM. Om du bor i USA, Kanada, Europa eller Japan, kan du dessutom köpa dokumentationssamlingar eller enstaka handböcker med hjälp av det här programmet. En lista över de dokument som kan beställas och anvisningar om hur du gör finns i katalogavsnittet på webbplatsen SunExpress TM på http://www.sun.com/sunexpress. Du kan även beställa dokumentation online (se nedan). Sun-dokumentation online På webbplatsen docs.sun.com hittar du teknisk onlinedokumentation från Sun. Du kan bläddra i arkivet eller söka efter en viss boktitel eller ett ämne. Webbadressen är http://docs.sun.com. Typografiska konventioner och ledtexter Tabellen nedan beskriver de de typografiska konventioner som används i den här handboken. xi
TABELL P 1 Typografiska konventioner Teckensnitt eller symbol Innebörd Exempel AaBbCc123 AaBbCc123 AaBbCc123 AaBbCc123 Namn på kommandon, filer och kataloger, utdata på skärmen Vad du skriver i jämförelse med vad som visas på skärmen Platshållare på kommandorad: ersätt med verkligt namn eller värde Boktitlar, nya ord eller termer eller ord som ska framhävas. Redigera din.login-fil. Använd ls a för att visa en lista över alla filer. datornamn%, du har fått e-post. datornamn% su Password: Om du vill ta bort en fil skriver du rm filnamn. Läs kapitel 6 i Användarhandbok. Dessa kallas teckenklasser. Du måste vara root för att kunna göra detta. Följande tabell visar standardledtexten och superanvändarledtexten för C-skal, Bourne-skal och Korn-skal. TABELL P 2 Ledtexter Skal Ledtext Ledtext för C-skal Superanvändarledtext för C-skal Ledtext för Bourne-skal och Korn-skal $ Superanvändarledtext för Bourne-skal och Korn-skal datornamn% datornamn% # xii Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
KAPITEL 1 Introduktion till SEAM Det här kapitlet innehåller en introduktion till SEAM. Vad är SEAM? SEAM (Sun Enterprise Authentication Mechanism) är en klient/server-arkitektur med kraftfull användarverifiering och funktioner för dataintegritet och skydd av personuppgifter, vilket ger säkra transaktioner i nätverk. Verifiering garanterar att identiteten stämmer hos både avsändaren och mottagaren av en nätverkstransaktion. SEAM kan även kontrollera giltigheten hos data som överförs ( integritet) och kryptera den under överföringen (skydd av personuppgifter). Med SEAM kan du logga in på andra datorer, köra kommandon, utbyta data och överföra filer på ett säkert sätt. Dessutom innehåller SEAM tjänster för behörighet, vilket gör att administratörer kan begränsa åtkomst till tjänster och datorer. Vidare kan du som SEAM-användare styra andras åtkomst till ditt konto. SEAM är ett separat inloggningssystem, vilket innebär att du bara behöver verifiera din identitet för SEAM en gång per session och att alla andra transaktioner under sessionen automatiskt blir säkra. När SEAM har verifierat din identitet behöver du inte bevisa den igen varje gång du använder ett SEAM-baserat kommando som ftp eller rsh, eller när du hämtar information i ett NFS-filsystem. Det innebär att du inte behöver skicka ditt lösenord via nätverket, där risken finns att någon fångar upp det, varje gång du använder de här tjänsterna. SEAM är baserat på protokollet Kerberos V5 för nätverksverifiering som är utvecklat av Massachusetts Institute of Technology (MIT). Den som tidigare har använt Kerberos V5 bör därför känna igen funktionerna i SEAM. Eftersom Kerberos V5 är en de facto-standard för säkerhet i nätverk fungerar SEAM med andra system. Det innebär att SEAM ger säkra transaktioner även i heterogena nätverk, eftersom 1
programmet fungerar med andra system som använder Kerberos V5. Dessutom ger SEAM verifiering och säkra överföringar både mellan domäner och inom en enskild domän. Obs! Eftersom SEAM är baserat på och utformat för att fungera med Kerberos V5 används ofta uttrycken Kerberos och SEAM för att beskriva i stort sett samma sak i den här handboken t ex, Användarkategori för Kerbero och SEAM-baserat verktyg. (Dessutom används även Kerberos och Kerberos V5 för att beskriva samma sak.) På de ställen där det behövs skiljer handboken mellan begreppen. SEAM ger större flexibilitet vid körning av Solaris-program. Du kan konfigurera SEAM så att det tillåter både SEAM-baserade och icke-seam-baserade förfrågningar om nätverkstjänster, t ex NFS-tjänsten, telnet och ftp. Det innebär att dina aktuella Solaris-program fortfarande fungerar om de körs på system som inte har SEAM installerat. Du kan förstås även konfigurera SEAM så att det endast tillåter SEAM-baserade nätverksförfrågningar. Dessutom behöver inte programmen ha kvar stödet för SEAM om andra säkerhetsmekanismer utvecklas. Eftersom SEAM är utformat för att integrera modularitet i GSS-API:t (Generic Security Service), kan program som använder GSS-API:t använda den säkerhetsmekanism som passar dem bäst. Så fungerar SEAM Här följer en allmän översikt över verifieringssystemet SEAM. Mer ingående information finns i Så fungerar verifieringssystemet på sidan 167. Ur användarens synvinkel är SEAM för det mesta osynligt när SEAM-sessionen väl har startat. Kommandon som rsh och ftp fungerar i stort sett som vanligt. Att starta en SEAM-session innebär oftast inte mer än att logga in och ange ett Kerberos-lösenord. SEAM-systemet kretsar kring begreppet biljett. En biljett är en uppsättning elektronisk information som fungerar som identifikation för en användare eller en tjänst som NFS-tjänsten. På samma sätt som ditt körkort identifierar dig och visar vilka fordon du har rätt att framföra, identifierar biljetten dig och dina åtkomsträttigheter i nätverket. När du utför en SEAM-baserad transaktion t ex om du använder rlogin för att ansluta till en annan dator skickas transparent en förfrågan om en biljett till en KDC (Key Distribution Center), vilken kontrollerar en databas för att verifiera din identitet. KDC:n skickar tillbaka en biljett som ger dig åtkomstbehörighet till den andra datorn. Transparent innebär att du inte uttryckligen behöver begära en biljett, det sker i stället som en del av kommandot rlogin. Eftersom det bara är den verifierade klienten som kan få en biljett för en viss tjänst, kan inte en annan klient använda kommandot rlogin under antagen identitet. 2 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
Biljetter har vissa attribut som styr deras egenskaper. En biljett kan t ex vara vidarebefordringsbar (vilket innebär att den kan användas på en annan dator utan ny verifiering) eller efterdaterad (den gäller inte förrän vid en viss angiven tidpunkt). Sättet biljetter används på t ex vilka användare som får skaffa vissa typer av biljetter anges av policies som bestäms när SEAM installeras eller administreras. Obs! Du kommer ofta att se uttrycken referens och biljett. I större Kerberos-sammanhang används uttrycken ofta för att beskriva samma sak. Rent tekniskt är dock en referens en biljett plus en sessionsnyckel för sessionen. Den här skillnaden förklaras mer ingående i Skaffa åtkomst till tjänster med SEAM på sidan 168. I följande avsnitt beskrivs verifieringsprocessen i SEAM i korthet. Första verifiering: biljettbeviljarbiljetten (TGT) Kerberos-verifiering består av två faser: en första verifiering som medger följande verifieringar, samt själva de följande verifieringarna. Figur 1 1 visar den första verifieringen: Introduktion till SEAM 3
1. Vid inloggningen (eller med kinit) kräver klienten en TGT som ger den tillgång till biljetter till tjänstbiljetter. KDC Klient TGT 3. Klienten använder lösenordet för att dekryptera TGT vilket ger en säker identifiering. Klienten kan nu använda TGT för att få ytterligare biljetter. 2. KDC kontrollerar databasen och skickar TGT. TGT = biljettbeviljarbiljett (ticket-granting ticket) KDC = Key Distribution Center Figur 1 1 Första verifiering för en SEAM-session 1. En klient (en användare eller en tjänst, t ex NFS) påbörjar en SEAM-session genom att begära en biljettbeviljarbiljett (TGT) från KDC:n (Key Distribution Center). Det här görs ofta automatiskt vid inloggningen. En biljettbeviljarbiljett behövs för att du ska få andra biljetter för särskilda tjänster. Det går att jämföra funktionen hos biljettbeviljarbiljetten med den hos ett pass. Liksom ett pass identifierar biljettbeviljarbiljetten dig och gör att du kan hämta flera visum där dina visum (biljetter) inte är till andra länder utan för andra datorer eller nätverkstjänster. Biljettbeviljarbiljetten och de andra biljetterna har som pass och visum begränsad giltighetstid. Skillnaden är att Kerberos-anpassade kommandon ser att du har ett pass och skaffar visumen åt dig du behöver inte utföra transaktionerna själv. 2. KDC:n skapar en biljettbeviljarbiljett och skickar tillbaka den i krypterad form till klienten. Klienten dekrypterar biljettbeviljarbiljetten med hjälp av sitt lösenord. 3. När klienten nu har en giltig biljettbeviljarbiljett kan den begära biljetter för all typer av nätverksåtgärder, t ex rlogin och telnet, under den tid biljettbeviljarbiljetten gäller. Den brukar gälla ett par timmar. Varje gång klienten utför en unik åtgärd i nätverket begär den en biljett för åtgärden från KDC:n. 4 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
Påföljande verifieringar När klienten har tagit emot den första verifieringen följer alla andra verifieringar mönstret som visas i Figur 1 2: 1. Klienten begär biljett för servern och skickar TGT till KDC som identifiering. TGT KDC 2. KDC skickar biljett för servern till klienten. Klient Server 3. Klienten skickar biljett till servern. 4. Klienten ges behörighet. TGT = biljettbeviljarbiljett (ticket-granting ticket) KDC = Key Distribution Center Figur 1 2 Skaffa åtkomst till en tjänst 1. Klienten begär en biljett för en viss tjänst (t ex rlogin till en annan dator) från KDC:n och skickar sin biljettbeviljarbiljett till KDC:n som bevis på sin identitet. 2. KDC:n skickar biljetten för den begärda tjänsten till klienten. Antag t ex att användaren johan använder rlogin på servern boston. Eftersom han redan är verifierad (han har alltså redan en biljettbeviljarbiljett), får han automatiskt och transparent en biljett som en del av kommandot rlogin. Med den här biljetten kan han köra rlogin för att ansluta till boston så ofta han vill till dess biljetten löper ut. Om johan vill köra rlogin för att ansluta till datorn denver hämtar han en ny biljett, som i steg 1. 3. Klienten skickar biljetten till servern. 4. Servern beviljar åtkomst för klienten. När du har läst den här beskrivningen har du kanske lagt märke till att servern inte verkar kommunicera med KDC:n under processen. Men det gör den - den registrerar sig hos KDC:n på samma sätt som första klienten gör. För enkelhets skull har den delen utelämnats. Introduktion till SEAM 5
SEAM-baserade kommandon Vilka SEAM-baserade (eller Kerberos-anpassade ) kommandon kan då användare som johan använda sig av? De är: 4 ftp 4 rcp 4 rlogin 4 rsh 4 telnet De här programmen är desamma som Solaris-programmen med samma namn, förutom att Kerberos-principaler används för att verifiera transaktioner, vilket ger Kerberos-baserad säkerhet. (Mer information om principaler finns i Principaler på sidan 6.) Dessa kommandon beskrivs mer ingående i SEAM-kommandon på sidan 147. Principaler En klient i SEAM identifieras genom sin principal. En principal är en unik identitet till vilken KDC:n kan tilldela biljetter. Principalen kan vara en användare, t ex johan, eller en tjänst, t ex nfs eller telnet. Principalnamn delas in i tre delar: primär, instans och användarkategori. En typisk SEAM-principal kan t ex vara johan/admin@eng.acme.comdär: 4 johan är primär, vilken som i det här fallet kan vara ett användarnamn, eller en tjänst, t ex nfs. Den kan även vara ordet host, vilket visar att det är en tjänstprincipal som tillhandahåller olika nätverkstjänster (ftp, rcp, rlogin, osv). 4 admin är instansen. Instansen är valfri för användarprincipaler, men obligatorisk för tjänstprincipaler. Till exempel: om användaren johan ibland fungerar som systemadministratör kan han använda johan/admin för att skilja sig från sin vanliga identitet. Om johan har konton på två olika värdar kan på samma sätt använda två principalnamn med två olika instanser (t ex johan/denver.acme.com och johan/boston.acme.com). Lägg märke till att SEAM behandlar johan och johan/admin som två helt olika principaler. För tjänstprincipaler är instansen ett fullständigt värdnamn. Ett exempel på en sådan instans är stordator.eng.acme.com och där kan primär/instans t ex vara ftp/stordator.eng.acme.com eller host/stordator.eng.acme.com. 4 ENG.ACME.COM är SEAM-användarkategorin. Mer information om användarkategorier finns i Användarkategorier på sidan 7. Här följer en samling giltiga principalnamn: 6 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
4 johan 4 johan/admin 4 johan/admin@eng.acme.com 4 ftp/värd.eng.acme.com@eng.acme.com 4 host/eng.acme.com@eng.acme.com Användarkategorier En användarkategori är ett logiskt nätverk, t ex en domän, som anger en grupp system under samma huvud-kdc (se nedan). Figur 1 3 visar hur användarkategorier kan förhålla sig till varandra. Vissa användarkategorier är hierarkiska, men annars icke-hierarkiska, vilket gör att avbildningen mellan två användarkategorier måste anges. Med SEAM går det att verifiera mellan användarkategorier om varje användarkategori har en principalpost för den andra användarkategorin i sin KDC. ENG.ACME.COM hierarkiskt ej hierarkiskt SEAMCO.COM ACME.COM Figur 1 3 Användarkategorier Användarkategorier och servrar Alla användarkategorier innehåller en server som står för underhållet av huvudkopian av principaldatabasen. Den kallas huvud-kdc-servern. Dessutom bör varje användarkategori innehålla minst en underordnad KDC-server, med kopior av principaldatabasen. Både huvud-kdc-servern och den underordnade KDC-servern skapar biljetter som används för verifiering. Användarkategorin kan även innehålla två ytterligare typer av SEAM-servrar. En programserver för SEAM-nätverket som ger åtkomst till Kerberos-anpassade program Introduktion till SEAM 7
( t ex ftp, telnet och rsh). Användarkategorier kan även innehålla NFS-servrar, vilka tillhandahåller NFS-tjänster med Kerberos-verifiering. Figur 1 4 visar vad en tänkt användarkategori kan innehålla. Huvud-KDC ACME.COM Slav-KDC:er Klienter Programservrar Figur 1 4 En typisk användarkategori Säkerhetstjänster Förutom säker verifiering av användare tillhandahåller SEAM två säkerhetstjänster: 4 Integritet (integrity). På samma sätt som verifiering försäkrar att klienter i nätverket är de de utger sig för att vara, försäkrar integritet att att data som användarna överför är giltig och inte har manipulerats under överföringen. Det görs via kryptografiska kontrollsummor. Integritet omfattar även användarverifiering. 4 Skydd av personuppgifter (privacy)). Skydd av personuppgifter höjer säkerheten ytterligare en nivå. Tjänsten omfattar inte bara verifiering av integriteten hos överförd data - den krypterar data före överföringen, vilket skyddar informationen från tjuvlyssnare. Dessutom verifieras användare av tjänsten. Obs! På grund av USA:s exportregler är det inte säkert att tjänsten för skydd av personuppgifter finns tillgänglig för alla användare av SEAM. För närvarande är det bara kommandot ftp bland de Kerberos-anpassade programmen i SEAM som medger att användare kan ändra säkerhetstjänst under körning. Genom att använda programmeringsgränssnittet RPCSEC_GSS kan utvecklare utforma sina RPC-baserade program så att de väljer säkerhetstjänst. 8 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
Komponenter i SEAM Liksom MIT-distributionen av Kerberos V5 innehåller SEAM: 4 KDC (Key Distribution Center) (huvud): 4 Bakgrundsprogrammet kadmind för administration av Kerberos-databasen. 4 Bakgrundsprogrammet krb5kdc för behandling av Kerberos-biljetter. 4 Underordnade KDC:er. 4 Program för databasadministration kadmin och kadmin.local 4 Programvara för databasöverföring kprop 4 Användarprogram för att skaffa, visa och förstöra biljetter kinit, klist, kdestroy och för att ändra SEAM-lösenord för användaren kpasswd 4 Program ftp, rcp, rlogin, rsh och telnet samt bakgrundsprogram för de här programmen ftpd, rlogind, rshd och telnetd. 4 Administrationsverktyg ktutil och kdb5_util. 4 Flera bibliotek Dessutom innehåller SEAM följande: 4 Administrationsverktyget för SEAM(gkadmin) för administration av KDC:n. Med det här Java TM -baserade grafiska användargränssnittet kan administratören utföra åtgärder som vanligen utförs via kommandot kadmin. 4 Med PAM (Pluggable Authentication Module )kan program använda olika verifieringsmekanismer. PAM kan användas för att göra inloggning och utloggning transparent för användaren. 4 Ett verktyg (gsscred) och ett bakgrundsprogram (gssd) De här programmen avbildar UNIX TM -användar-id:n till principalnamn, vilket behövs eftersom NFS-servrar för SEAM använder UNIX-ID:n för identifiering av användare, inte principalnamn vilka har ett helt annat format. 4 GSS-API-ramverk Med GSS-API:t (Generic Security Service Application Programming Interface) kan program använda flera säkerhetsmekanismer utan att programmen måste kompileras om varje gång en ny mekanism läggs till. Eftersom GSS-API:t är datoroberoende är det lämpligt för program på Internet. GSS-API:t gör att program kan innehålla tjänsterna för integritet och skydd av personuppgifter samt verifiering. 4 Med RPCSEC_GSS- API:t (RPCSEC_GSS Application Programming Interface) kan NFS-tjänster använda Kerberos-verifiering. RPCSEC_GSS är en ny säkerhetsvariant som tillhandahåller säkerhetstjänster som är oberoende av mekanismerna som används. RPCSEC_GSS ligger över GSS-API-lagret. Alla dynamiska Introduktion till SEAM 9
GSS_API-baserade säkerhetsmekanismer kan användas av program med RPCSEC_GSS. 4 En förkonfigureringsprocedur gör att du kan ange parametrar för installation och konfigurering av SEAM så att installationen blir automatisk, vilket är särskilt användbart för installationer på flera datorer samtidigt. 4 Ändringar i kärnan ger bättre prestanda. 10 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
KAPITEL 2 Planera för SEAM Det här kapitlet bör studeras av dem som är involverade i installation och underhåll av SEAM. Här tas ett antal frågor kring installation och konfiguration upp, frågor som du måste ta ställning till innan du installerar eller konfigurerar SEAM. Här följer en lista över frågor som bör ses över av systemadministratören eller någon annan erfaren tekniker: 4 Användarkategorier på sidan 12 4 Avbilda värdnamn på användarkategorier på sidan 13 4 Namn på klienter och tjänstprincipaler på sidan 13 4 Slav-KDC:er på sidan 14 4 Databasöverföring på sidan 14 4 Synkronisering av klockor på sidan 14 4 Förkonfigurering av SEAM på sidan 15 Konfigurationsbeslut för SEAM Innan du installerar SEAM måste du ta ställning till ett antal konfigurationsfrågor. Även om det inte är omöjligt att ändra konfigurationen efter den ursprungliga installationen, så blir det besvärligare för varje ny klient som läggs till i systemet. Dessutom kräver vissa ändringar en fullständig ominstallation, så det bästa är att försöka planera för framtida behov. 11
Användarkategorier En användarkategori är ett logiskt nätverk, ungefär som en domän, som definierar en grupp system under samma huvud-kdc. Precis som vid hantering av DNS-domäner, bör frågor om användarkategorins namn, antal och storlek för varje användarkategori samt förhållandet mellan en användarkategori och övriga kategorier besvaras innan SEAM installeras. Namn på användarkategorier Namn på användarkategorier kan bestå av vilken ASCII-sträng som helst. Normalt är namnet samma som namnet på DNS-domänen, med versaler. Detta gör det enklare att skilja problem med SEAM från problem med DNS-namnutrymmet, förutom att namnet också är känt sedan tidigare. Om du inte använder DNS eller väljer att använda en annan sträng, kan detta vara vilken sträng som helst även om det är klokt att använda användarkategorinamn som följer standardnamnstrukturen på internet. Antal användarkategorier Antalet användarkategorier som krävs för din installation beror på flera faktorer: 4 Antalet klienter som ska stödjas. För många klienter i en användarkategori försvårar administrationen och kommer till slut att innebära att en delning av användarkategorin är nödvändig. De huvudsakliga faktorerna som bestämmer antalet klienter som kan stödjas är: Mängden SEAM-trafik som genereras av varje klient, bandbredden på det fysiska nätverket och hastigheten hos värdarna. Eftersom varje installation kommer att ha olika begränsningar finns det ingen regel för att bestämma det maximala antalet klienter. 4 Hur långt det är mellan klienterna. Det kan vara en god idé att ange flera små användarkategorier om klienterna befinner sig i olika geografiska regioner. 4 Antalet värdar som finns tillgängliga för att installeras som KDC:er. Varje användarkategori bör ha åtminstone två KDC-servrar (huvudserver och slav). Hierarki mellan användarkategorier När du konfigurerar flera användarkategorier, måste du bestämma hur de ska sammanlänkas. Du kan etablera en hierarkisk relation mellan användarkategorierna vilket automatiskt ger sökvägarna till de relaterade domänerna, men som kräver att alla användarkategorier i den hierarkiska strukturen är riktigt konfigurerade. De automatiska sökvägarna kan lätta på administrationsbördan. Om det däremot finns domäner i flera nivåer, kanske du inte vill använda standardsökvägen eftersom den skulle kräva för många transaktioner. Du kan också välja att etablera anslutningen direkt. En direktanslutning är som mest användbar när det finns för många nivåer mellan två hierarkiska domäner eller när 12 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
det inte finns något hierarkiskt förhållande. Anslutningen måste definieras i /etc/krb5/krb5.conf på alla värdar som använder den, vilket kräver en del extra arbete. En introduktion till flera användarkategorier finns i Användarkategorier på sidan 7. Konfigurationsprocedurer finns i Konfigurera verifiering mellan användarkategorier på sidan 30. Avbilda värdnamn på användarkategorier Hur värdnamn avbildas på användarkategorinamn definieras i avsnittet domain_realm i filen krb5.conf. Dessa avbildningar kan definieras för en hel domän eller för individuella värdar efter behov. Mer information finns i direkthjälpsavsnitten (man pages) krb5.conf(4). Namn på klienter och tjänstprincipaler Vid användning av SEAM är det att föredra att DNS-tjänsterna redan är konfigurerade och körs på alla värdar. Om DNS används måste det antingen vara aktiverat på alla system eller inte på något av dem. Om DNS är tillgängligt ska principalen innehålla det fullständiga domännamnet (FQDN) för varje värd. Om till exempel värdnamnet är boston, DNS-domännamnet acme.com och användarkategorinamnet ACME.COM, så blir principal-namnet för värden host/boston.acme.com@acme.com. I exemplen i den här boken används fullständiga domännamn för varje värd. För principalnamn som innehåller det fullständiga domännamnet för en värd är det viktigt att det överensstämmer med den sträng som beskriver DNS-domännamnet i /etc/resolv.conf. Strängen är skiftlägeskänslig. SEAM kräver att DNS-domännamnet skrivs med små bokstäver vilket innebär att endast små bokstäver används när ett fullständigt domännamn anges för en principal. SEAM kan köras utan DNS-tjänster, men vissa funktioner, som möjligheten att kommunicera med andra användarkategorier, kommer inte att fungera. Om DNS inte har konfigurerats kan ett enkelt värdnamn användas som instansnamn. I så fall blir principalnamnet i vårt fall host/boston@acme.com. Om DNS aktiveras senare måste alla värdprincipaler tas bort och ersättas i KDC-databasen. Portar för KDC- och admin-tjänster Som standard används port 88 och port 750 för KDC:n och port 749 används för KDC:ns bakgrundsadministrationsprogram. Det går att använda andra portnummer, men för att ändra dem krävs en ändring i filerna /etc/services och /etc/krb5/krb5.conf på varje klient. Dessutom måste filen /etc/krb5/kdc.conf uppdateras på varje KDC. Planera för SEAM 13
Slav-KDC:er Slav-KDC:erna genererar referenser för klienter precis som huvud-kdc:n. Slav-KDC:erna fungerar som reservenheter om huvudservern skulle sluta att fungera. Varje användarkategori bör ha åtminstone en slav-kdc. Det kan behövas ytterligare slav-kdc:er beroende på dessa faktorer: 4 Antalet fysiska segment i användarkategorin. Normalt bör nätverket konfigureras så att varje segment kan fungera, åtminstone minimalt, utan resten av användarkategorin. Detta kräver att en KDC är åtkomlig från varje segment. KDC:n i det här fallet kan vara antingen en huvudserver eller en slav. 4 Antalet klienter i användarkategorin. Att lägga till fler slav-kdc-servrar kan minska belastningen på de befintliga servrarna. Det är dock möjligt att lägga till för många slav-kdc:er. Kom ihåg att KDC-databasen måste överföras till varje server, så ju fler KDC-servrar som installerats, desto längre tid kan det ta innan data har uppdaterats i hela användarkategorin. Eftersom varje slav behåller en kopia av KDC-databasen, innebär fler slavar också en ökad risk för säkerhetsproblem. Dessutom kan en eller flera av slav-kdc:erna konfigureras så att de enkelt kan växlas mot huvud-kdc:n. Fördelen med att följa denna procedur för åtminsone en av slav-kdc:erna är att om huvud-kdc:n av någon anledning slutar att fungera har du ett förkonfigurerat system som är enkelt att sätta i drift som huvudserver. Instruktioner för hur man konfigurerar en växlingsbar KDC finns i Växla huvudoch slav-kdc:er på sidan 48. Databasöverföring Databasen på huvud-kdc:n måste regelbundet överföras till slav-kdc:erna. En av de första frågorna att ta ställning till är hur ofta slav-kdc:erna ska uppdateras. Önskan att ha uppdaterad information tillgänglig för alla klienter måste vägas mot den tid det tar att fullborda uppdateringen. Mer information om databasöverföring finns i Administrera Kerberos-databasen på sidan 54. I stora installationer, med flera KDC:er i samma användarkategori, är det möjligt för en eller flera av slavarna att överföra data så att processen kan ske parallellt. Detta minskar den tid uppdateringen tar, men det ökar också komplexiteten hos administrationen av användarkategorin. Synkronisering av klockor Alla värdar som ingår i Kerberos verifieringssystem måste ha internklockorna synkroniserade inom ett angivet maximalt tidsintervall (som kallas tidsförskjutning) vilket utgör ytterligare en säkerhetskontroll för Kerberos. Om tidsförskjutningen överskrids mellan två av de ingående värdarna kommer förfrågningar att nekas. 14 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
Ett sätt att synkronisera alla klockor är att använda NTP-programvara (Network Time Protocol). (Mer information finns i Synkronisera klockor mellan KDC:er och SEAM-klienter på sidan 45.) Det finns andra sätt att synkronisera klockorna så det är inte nödvändigt att använda NTP. Någon form av synkronisering bör användas för att förhindra åtkomstproblem på grund av tidsförskjutning. Förkonfigurering av SEAM SEAM-produkten inkluderar en förkonfigureringsprocedur som lagrar information på en NFS-server. Denna information kan sedan användas av installationsskriptet. Det är valfritt att använda denna procedur, men det rekommenderas starkt eftersom det sparar tid under installationen och minskar risken för att fel uppstår vid manuell datainmatning. Planera för SEAM 15
16 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
KAPITEL 3 Konfigurera SEAM I det här kapitlet finns information om hur man konfigurerar KDC-servrar, nätverksservrar, NFS-servrar och SEAM-klienter. Många av dessa procedurer kräver root-behörighet och bör utföras av systemadministratörer och avancerade användare. Konfigurering över olika användarkategorier och andra KDC-serverrelaterade ämnen tas också upp. 4 Konfigurera DNS-servrar på sidan 19 4 Konfigurera verifiering mellan användarkategorier på sidan 30 4 Konfigurera nätverksprogramservrar för SEAM på sidan 33 4 Konfigurera NFS-servrar för SEAM på sidan 35 4 Konfigurera SEAM-klienter på sidan 41 4 Synkronisera klockor mellan KDC:er och SEAM-klienter på sidan 45 4 Växla huvud- och slav-kdc:er på sidan 48 4 Administrera Kerberos-databasen på sidan 54 4 Öka säkerheten på sidan 60 Översikt över SEAM-konfigurering Vissa delar av konfigureringsprocessen beror på andra delar och måste utföras i en viss ordning. Dessa är ofta procedurer som etablerar tjänster som behövs för att SEAM ska kunna användas. Andra åtgärder är oberoende och kan utföras när det passar bäst. Tabellen nedan visar ett förslag på ordning vid en SEAM-installation. 17
TABELL 3 1 De första stegen: Konfigurationsordning för SEAM Uppgift Beskrivning Instruktioner finns i... 1. Planera SEAM-installationen 2. (Valfritt) Installera NTP 3. (Valfritt) Kör förkonfigureringsproceduren för SEAM 4. Konfigurera huvud-kdc-servern 5. (Valfritt) Konfigurera en slav-kdc-server 6. (Valfritt) Förbättra säkerheten för KDC-servrar 7. (Valfritt) Konfigurera växlingsbara KDC-servrar Tänk igenom olika konfigureringsalternativ och bestäm vilka som ska gälla innan installationen påbörjas. För att SEAM ska fungera ordentligt måste alla systemklockor i användarkategorin vara synkroniserade. För att underlätta installation av en plats med många värdar, kan den här proceduren köras för att lagra en stor del av installationsinformationen på en NFS-server. Denna information kan sedan användas under installationen. Hur man konfigurerar och bygger huvud-kdc-servern och databasen för en användarkategori. Hur man konfigurerar och bygger en slav-kdc-servern för en användarkategori. Hur man förhindrar säkerhetsproblem för KDC-servrar. Genom att följa stegen i den här proceduren underlättas växling mellan huvud-kdc-servern och en slav-kdc-server. Kapitel 2 Synkronisera klockor mellan KDC:er och SEAM-klienter på sidan 45 Installations- och tilläggsinformation för SEAM Så här konfigurerar du en huvud-kdc på sidan 19 Så här konfigurerar du en slav-kdc på sidan 25 Så här begränsar du åtkomsten för KDC-servrar på sidan 61 Så här konfigurerar du en växlingsbar slav-kdc på sidan 48 När de grundläggande stegen utförts kan följande procedurer användas vid behov. 18 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
TABELL 3 2 Nästa steg: Övriga SEAM-uppgifter Uppgift Beskrivning Instruktioner finns i... Konfigurera verifiering mellan användarkategorier Konfigurera SEAM-programservrar Konfigurera SEAM-klienter Konfigurera en NFS-server för SEAM Förbättra säkerheten hos en programserver Hur man möjliggör kommunikation mellan användarkategorier. Hur man får servern att stödja tjänster som ftp, telnet och rsh med hjälp av Kerberos-verifiering. Hur man konfigurerar en klient att använda SEAM-tjänster. Hur man konfigurerar en server till att dela ett filsystem som kräver Kerberos-verifiering. Hur man förbättrar säkerheten hos en programserver genom att begränsa åtkomsten till endast verifierade transaktioner. Konfigurera verifiering mellan användarkategorier på sidan 30 Konfigurera nätverksprogramservrar för SEAM på sidan 33 Konfigurera SEAM-klienter på sidan 41 Konfigurera NFS-servrar för SEAM på sidan 35 Så här aktiverar du enbart Kerberos-anpassade program på sidan 61 Konfigurera DNS-servrar Efter att programvaran för SEAM installerats måste du konfigurera KDC-servrarna. Genom att konfigurera en huvud-kdc och minst en slav-kdc erhålls tjänsten som utfärdar referenser. Dessa referenser utgör grunden för SEAM varför KDC-servrarna måste installeras innan andra uppgifter utförs. Den mest relevanta skillnaden mellan en huvud-kdc och en slav-kdc är att endast huvudservern kan hantera databasadministration. Att byta lösenord eller lägga till en ny principal måste till exempel göras på huvud-kdc-servern. Dessa ändringar kan sedan överföras till slav-servrarna. Både slav- och huvud-kdc-servrarna genererar referenser, vilket ger redundans i de fall huvud-kdc-servern inte kan svara. Så här konfigurerar du en huvud-kdc Ett fullständigt exempel får vi om vi antar att du inte kört förkonfigureringsproceduren. Om du använde förkonfigureringsproceduren när du installerade programvaran, behöver många av filerna i den här proceduren inte redigeras. Du bör dock kontrollera filernas innehåll. Konfigurera SEAM 19
I den här proceduren används följande konfigureringsparametrar: 4 användarkategori = ACME.COM 4 DNS-domän = acme.com 4 huvud-kdc = kdc1.acme.com 4 slav-kdc = kdc2.acme.com 4 principal för admin = kws/admin 4 webbadress för onlinehjälp = http://denver:8888/ab2/coll.384.1/seam/@ab2pageview/6956 Obs! Ändra webbadressen så att den pekar på avsnittet Administrationsverktyget för SEAM som det beskrivs i Installations- och tilläggsinformation för SEAM. 1. Förutsättningar för konfigurering av en huvud-kdc. Den här proceduren förutsätter att programvaran för huvud-kdc:n är installerad. Dessutom måste DNS-tjänsten köra. Se även namngivningsinstruktionerna i Växla huvud- och slav-kdc:er på sidan 48 om huvudservern ska vara växlingsbar. 2. Bli superanvändare på huvud-kdc:n. 3. Redigera konfigurationsfilen för Kerberos(krb5.conf). Du måste byta namn på användarkategorierna och servrarna. En fullständig beskrivning av denna fil finns i direkthjälpsavsnittet krb5.conf(4). Omdu installerade programvaran för SEAM med hjälp av konfigurationsfilerna verifierar du innehållet i filen istället för att redigera den. kdc1 # cat /etc/krb5/krb5.conf [libdefaults] default_realm = ACME.COM [realms] } ACME.COM = { kdc = kdc1.acme.com kdc = kdc2.acme.com admin_server = kdc1.acme.com [domain_realm].acme.com = ACME.COM # # om domänen och användarkategorin har samma namn, # behövs inte den här posten # [logging] default = FILE:/var/krb5/kdc.log (forts.) 20 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999
(fortsättning) kdc = FILE:/var/krb5/kdc.log [appdefaults] gkadmin = { help_url = http://denver:8888/ab2/coll.384.1/seam/@ab2pageview/6956 } I det här exemplet ändrades raderna för posternadefault_realm, kdc, admin_server, och alla domain_realm. Raden för default_realm har inkluderats för att göra exemplet fullständigt, men denna post skapas inte under installationen om namnen för användarkategori och domän är samma. Dessutom har raden med definitionen av help_url redigerats. 4. Redigera KDC-konfigurationsfilen (kdc.conf). Du måste byta namn på användarkategorin. En fullständig beskrivning av denna fil finns i direkthjälpsavsnittet kdc.conf(4). Om du installerade programvaran för SEAM med hjälp av konfigurationsfilerna verifierar du innehållet i filen istället för att redigera den. kdc1 # cat /etc/krb5/kdc.conf [kdcdefaults] kdc_ports = 88,750 [realms] ACME.COM = { profile = /etc/krb5/krb5.conf database_name = /var/krb5/principal admin_keytab = /var/krb5/kadm5.keytab acl_file = /var/krb5/kadm5.acl kadmind_port = 749 max_life = 8h 0m 0s max_renewable_life = 7d 0h 0m 0s } I det här exemplet ändrades definitionen av användarkategorinamnet i avsnittet realms. 5. Skapa KDC-databasen med kdb5_util. Kommandot kdb5_util skapar KDC-databasen och, tillsammans med alternativet s, även en lagringsfil som används för att verifiera KDC:n till sig själv innan bakgrundsprogrammen kadmind och krb5kdc startas. Konfigurera SEAM 21
kdc1 # /usr/krb5/sbin/kdb5_util create -r ACME.COM -s Initierar databasen "/var/krb5/principal" för användarkategorin "ACME.COM" med huvudnyckeln "K/M@ACME.COM". Du kommer att uppmanas att ange huvudlösenordet för databasen. Det är viktigt att du INTE GLÖMMER detta lösenord. Ange huvudnyckeln för KDC-databasen: <skriv nyckeln> Ange huvudnyckeln för KDC-databasen en gång till för verifiering: <skriv det igen> Alternativet r följt av användarkategorinamnet behövs inte om namnet på användarkategorin är samma som domännamnet för serverns namnutrymme. 6. Redigera filen med behörighetslistan för Kerberos (kadm5.acl). När den är fylld innehåller /etc/krb5/kadm5.acl namnen på alla principaler som tillåts administrera KDC:n. Den först tillagda posten kan se ut så här: kws/admin@acme.com * Den här posten ger principalen kws/admin i användarkategorin ACME.COM möjlighet att ändra principaler eller policies i KDC-databasen. Vid standardinstallationen läggs en * till för att matcha alla admin -principaler. Detta kan innebära en säkerhetsrisk och det är säkrare att istället lägga till en lista med alla admin-principaler. 7. Starta kadmin.local. Följande steg skapar de principaler som används av SEAM. kdc1 # /usr/krb5/sbin/kadmin.local kadmin.local: a. Lägg till administrationsprincipaler till databasen med kadmin.local. Du kan lägga till så många admin-principaler som du behöver. Du måste lägga till åtminstone en admin-principal för att slutföra KDC-konfigureringen. I det här exemplet läggs en kws/admin-principal till. Du kan använda valfritt principalnamn istället för kws. 22 Handbok för Sun Enterprise Authentication Mechanism Augusti 1999