Fix links in ansible-openafs page
[openafs-wiki.git] / admin / windows / win2008r2adaskdc.mdwn
1 HowTo setup OpenAFS with Windows 2008 R2 AD server as krb5 auth
2
3 This is a bit rough and not clean, as I did wrote this out of memory. But it does work fine over here.
4
5 Preparation for the AD Server:
6
7 * Set the policy option "Network security: Configure encryption types allowed for Kerberos" and select which enctypes to allow (at least DES-CBC-CRC)
8
9 * In the DC's Local Security Policy, enable all ciphers by checking all 6 boxes at Security Settings \ Local Policies \ Security Options \ "Network security: Configure
10  encryption types allowed for Kerberos"
11
12 * In AD in the Default Domain Controllers Policy, set Computer Configuration \ Policies \ Administrative Templates \ Sytem/Net Logon \ "Allow cryptography algorithms compatible 
13 with Windows NT 4.0" to enable (maybe not needed)
14
15 * Add a REG_DWORD (32 bit) named KdcUseRequestedEtypesForTickets with value 1 at HKLM\SYSTEM\CurrentControlSet\services\kdc. Without this, the DC won't talk DES to clients,
16  even if you do extract a DES-only keytab (you'll see "KDC has no support for encryption type" messages).
17
18 * Reboot the DC (at least restart the KDC process is required)
19
20 Now to create the AFS principle:
21
22 Create a afs user in the AD as a normal user with the login afs,
23 set user cannot change passwordd, password never expires. Try to set "Use Kerberos DES encryption types for this account" on the Account tab.
24 Afterward in the commandline I issued "setspn -A afs afs/cgv.tugraz.at" to set both the same userID.
25
26 Use ktpass to export the afs keyfile (use your own krb5 REALM instead of mine):
27
28 ktpass -out NAME.out.txt -princ afs@CGV.TUGRAZ.AT \
29        -crypto DES-CBC-CRC +rndPass -DesOnly /ptype KRB5_NT_SRV_HST
30
31 (Or try this (one ob both did work):
32
33 ktpass -princ afs/cellname@ADDOMAINNAME -mapuser afscell@ADDOMAINNAME \
34        -mapOp add -out afs-keytab +rndPass -crypto DES-CBC-CRC +DesOnly \
35        -ptype KRB5_NT_PRINCIPAL +DumpSalt )
36
37 (When using the 2008 R2 version of ktpass, I also recommend using the
38 -crypto ALL option as that creates a keytab with all of the supported
39 enctypes for the account.  For a DesOnly account, this should be just
40 the DES enctypes.)
41
42 Sorry, I am unclear about this one:
43
44 (You also want to use the +SetUpn option to set the UPN in addition
45 to the principal name for the account.)
46
47 ktpass does not set the kvno in AD.  It only sets the kvno in the
48 keytab.   You have to use the kvno in the keytab that is used by AD while adding the key to the krb5.keytab of your OpenAFS Servers
49 (in my case it was 3).  Try to read out the created keytab file and look out for kvno.
50
51
52 OpenAFS Server:
53
54 Issue this on one of your OpenAFS Server to add the afs-keytab to the OpenAFS keyfiloe and let OpenAFS use krb5:
55
56 asetkey add 3 /path/to/afs-keytab afs/cgv.tugraz.at
57
58 Done with adding keytab principle to OpenAFS keyfile. Now setup your cell with fileservers and users.
59
60
61 Notes from others:
62
63 Note that in my experience, your specified kvno must equal or exceed the number of times the user's keytab has been extracted. If you specify a kvno of 3, then go back and ask 
64 for a kvno of 1 for the same user account, you won't get it (but you will get a keytab with the next higher kvno). It's recommended to verify the kvno and the etype of the keytab 
65 using your favorite method prior to importing into your afs keyfile.
66
67 Also, I had to delete and re-create my afscell user's account in AD after making the changes to the DC detailed above to enable DES. Extracting a keytab for an account made 
68 before the changes didn't work for me. Your mileage may vary. 
69
70 List of DES.Enctypes:
71 Policies/Windows Settings/Security Settings/Local Policies/Security Options 
72
73 DES_CBC_CRC enabled
74
75 DES_CBC_MD5 enabled
76
77 If you want to use roaming profile in OpenAFS, you need to disable check of profile ownership:
78 Policies/Administrative/Templates/Sytem/Users Profiles
79
80 Do not check for user ownership of roaming profiles Folders      enabled