This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
аутентификация_с_использованием_kerberos_сервера [2010/09/24 12:45] val |
аутентификация_с_использованием_kerberos_сервера [2010/09/29 10:48] val |
||
---|---|---|---|
Line 6: | Line 6: | ||
===== Предварительная настройка стенда ===== | ===== Предварительная настройка стенда ===== | ||
- | <code> | ||
- | # cat /etc/hosts | ||
- | ... | ||
- | #192.168.X.1 gate.corpX.un gate | ||
- | #192.168.X.10 server.corpX.un server | ||
- | ... | ||
- | </code> | ||
- | ===== Настройка DNS сервера ===== | + | ==== Настройка DNS сервера ==== |
- | ==== Инсталяция и настройка сервиса ==== | + | [[Сервис DNS]] |
=== FreeBSD === | === FreeBSD === | ||
Line 126: | Line 119: | ||
gate# cat /etc/resolv.conf | gate# cat /etc/resolv.conf | ||
+ | domain corpX.un | ||
+ | nameserver 192.168.X.10 | ||
+ | |||
+ | client1# cat /etc/resolv.conf | ||
domain corpX.un | domain corpX.un | ||
nameserver 192.168.X.10 | nameserver 192.168.X.10 | ||
</code> | </code> | ||
- | ==== Проверки (на gate и server) ==== | + | ==== Проверки (на gate client1 и server) ==== |
<code> | <code> | ||
# host ya.ru | # host ya.ru | ||
Line 141: | Line 138: | ||
</code> | </code> | ||
- | ===== Cинхронизация времени ===== | + | ===== Cинхронизация времени (может потребоваться рестарт служб NIS, NFS и RPCBIND) ===== |
==== FreeBSD ==== | ==== FreeBSD ==== | ||
Line 157: | Line 154: | ||
# date 040708422015 | # date 040708422015 | ||
Tue Apr 7 08:42:00 MSD 2015 | Tue Apr 7 08:42:00 MSD 2015 | ||
- | </code> | ||
- | |||
- | ===== Перезапуск служб NIS, NFS и RPCBIND ===== | ||
- | |||
- | ==== FreeBSD ==== | ||
- | <code> | ||
- | [server:~] # /etc/rc.d/nfsd stop | ||
- | [server:~] # /etc/rc.d/mountd stop | ||
- | [server:~] # /etc/rc.d/ypserv stop | ||
- | |||
- | [server:~] # /etc/rc.d/rpcbind restart | ||
- | |||
- | [server:~] # /etc/rc.d/ypserv start | ||
- | [server:~] # /etc/rc.d/mountd start | ||
- | [server:~] # /etc/rc.d/nfsd start | ||
- | </code> | ||
- | |||
- | ==== Ubuntu ==== | ||
- | <code> | ||
- | |||
</code> | </code> | ||
Line 230: | Line 207: | ||
</code> | </code> | ||
- | ==== Регистрация принципала пользователя в базе данных kerberos ==== | + | ===== Регистрация принципалов пользователей в базе данных kerberos ===== |
- | === FreeBSD, Ubuntu (8.04) === | + | ==== FreeBSD, Ubuntu (8.04) ==== |
<code> | <code> | ||
# kadmin -l | # kadmin -l | ||
Line 239: | Line 216: | ||
user1@CORPX.UN's Password: kpassword1 | user1@CORPX.UN's Password: kpassword1 | ||
Verifying - user@CORPX.UN's Password: kpassword1 | Verifying - user@CORPX.UN's Password: kpassword1 | ||
+ | ... | ||
+ | kadmin> add user2 | ||
+ | ... | ||
kadmin> list * | kadmin> list * | ||
Line 245: | Line 225: | ||
</code> | </code> | ||
- | === Ubuntu (10.04) === | + | ==== Ubuntu (10.04) ==== |
<code> | <code> | ||
root@server:~# kadmin.local | root@server:~# kadmin.local | ||
Line 251: | Line 231: | ||
kadmin.local: addprinc user1 | kadmin.local: addprinc user1 | ||
... | ... | ||
- | Enter password for principal "user@CORPX.UN": kpassword1 | + | Enter password for principal "user1@CORPX.UN": kpassword1 |
- | Re-enter password for principal "user@CORPX.UN": kpassword1 | + | Re-enter password for principal "user1@CORPX.UN": kpassword1 |
+ | ... | ||
+ | kadmin.local: addprinc user2 | ||
+ | ... | ||
kadmin.local: listprincs | kadmin.local: listprincs | ||
... | ... | ||
Line 276: | Line 258: | ||
</code> | </code> | ||
- | ===== Настройка Kerberos клиента ===== | + | ====== Настройка Kerberos клиента (на gate и client1) ====== |
- | ==== Инсталляция клиента ==== | + | ===== Инсталляция и настройка клиента ===== |
- | === Ubuntu (8.04) === | + | ==== Ubuntu (8.04) ==== |
<code> | <code> | ||
root@gate:~# apt-get install heimdal-clients | root@gate:~# apt-get install heimdal-clients | ||
+ | |||
+ | root@client1:~# apt-get install heimdal-clients | ||
</code> | </code> | ||
Line 288: | Line 272: | ||
<code> | <code> | ||
root@gate:~# apt-get install krb5-user | root@gate:~# apt-get install krb5-user | ||
+ | |||
+ | root@client1:~# apt-get install krb5-user | ||
</code> | </code> | ||
Line 295: | Line 281: | ||
[libdefaults] | [libdefaults] | ||
default_realm = CORPX.UN | default_realm = CORPX.UN | ||
+ | |||
+ | |||
+ | client1# cat /etc/krb5.conf | ||
+ | [libdefaults] | ||
+ | default_realm = CORPX.UN | ||
</code> | </code> | ||
Line 306: | Line 297: | ||
gate# klist | gate# klist | ||
gate# kdestroy | gate# kdestroy | ||
+ | |||
+ | client1# kinit user1 | ||
+ | client1# klist | ||
+ | client1# kdestroy | ||
</code> | </code> | ||
===== Использование протокола GSSAPI для сервиса sshd ===== | ===== Использование протокола GSSAPI для сервиса sshd ===== | ||
+ | |||
Generic Security Services Application Program Interface | Generic Security Services Application Program Interface | ||
Line 337: | Line 333: | ||
=== FreeBSD, Ubuntu (8.04) === | === FreeBSD, Ubuntu (8.04) === | ||
<code> | <code> | ||
- | kadmin> ext -k gate.keytab host/gate.corpX.un | + | kadmin> ext -k gatehost.keytab host/gate.corpX.un |
kadmin> quit | kadmin> quit | ||
</code> | </code> | ||
Line 343: | Line 339: | ||
=== Ubuntu (10.04) === | === Ubuntu (10.04) === | ||
<code> | <code> | ||
- | kadmin.local: ktadd -k gate.keytab host/gate.corpX.un | + | kadmin.local: ktadd -k gatehost.keytab host/gate.corpX.un |
... | ... | ||
... | ... | ||
Line 352: | Line 348: | ||
=== FreeBSD, Ubuntu === | === FreeBSD, Ubuntu === | ||
<code> | <code> | ||
- | server# scp gate.keytab student@gate: | + | server# scp gatehost.keytab student@gate: |
</code> | </code> | ||
=== FreeBSD, Ubuntu (8.04) === | === FreeBSD, Ubuntu (8.04) === | ||
<code> | <code> | ||
- | gate# ktutil copy /usr/student/gate.keytab /etc/krb5.keytab | + | gate# ktutil copy /usr/student/gatehost.keytab /etc/krb5.keytab |
gate# touch /etc/srvtab | gate# touch /etc/srvtab | ||
Line 368: | Line 364: | ||
<code> | <code> | ||
root@gate:~# ktutil | root@gate:~# ktutil | ||
- | ktutil: rkt /usr/student/gate.keytab | + | ktutil: rkt /usr/student/gatehost.keytab |
ktutil: list | ktutil: list | ||
ktutil: wkt /etc/krb5.keytab | ktutil: wkt /etc/krb5.keytab | ||
Line 386: | Line 382: | ||
==== Настройка клиента ssh на использование GSSAPI ==== | ==== Настройка клиента ssh на использование GSSAPI ==== | ||
<code> | <code> | ||
- | server# cat /etc/ssh/ssh_config | + | client1# cat /etc/ssh/ssh_config |
... | ... | ||
GSSAPIAuthentication yes | GSSAPIAuthentication yes | ||
Line 398: | Line 394: | ||
=== FreeBSD === | === FreeBSD === | ||
<code> | <code> | ||
- | [server:~] # cat /etc/pam.d/system | + | [client1:~] # cat /etc/pam.d/system |
... | ... | ||
# auth | # auth | ||
Line 410: | Line 406: | ||
=== Ubuntu (8.04) === | === Ubuntu (8.04) === | ||
<code> | <code> | ||
- | root@server:~# apt-get install libpam-heimdal | + | root@client1:~# apt-get install libpam-heimdal |
</code> | </code> | ||
=== Ubuntu (10.04) === | === Ubuntu (10.04) === | ||
<code> | <code> | ||
- | root@server:~# apt-get install libpam-krb5 | + | root@client1:~# apt-get install libpam-krb5 |
</code> | </code> | ||
- | === Ubuntu === | + | === Ubuntu (все настроится автоматически) === |
<code> | <code> | ||
- | root@server:~# cat /etc/pam.d/login | + | root@client1:~# cd /etc/pam.d/ |
- | ... | + | root@client1:/etc/pam.d/# grep krb5 * |
- | auth sufficient pam_krb5.so | + | |
- | # Standard Un*x authentication. | + | |
... | ... | ||
</code> | </code> | ||
Line 429: | Line 423: | ||
===== Отладка ===== | ===== Отладка ===== | ||
<code> | <code> | ||
- | user@server$ ssh -vv gate.corpX.un | + | user1@client1$ ssh -vv gate.corpX.un |
gate# /usr/sbin/sshd -d | gate# /usr/sbin/sshd -d | ||
- | </code> | ||
- | |||
- | ===== Нюансы ===== | ||
- | <code> | ||
- | kadmin.local: addprinc -e rc4-hmac:normal -randkey cifs/server.example.com | ||
- | |||
- | kadmin.local: ktadd -k cifs.server.example.com.keytab -e rc4-hmac:normal cifs/server.example.com | ||
- | |||
- | kadmin.local: ank -e rc4-hmac:normal -randkey imap/gate.CORP13.UN@CORP13.UN | ||
</code> | </code> | ||