63 西 Debian
西 Debian
2012 8 26
63 西 Debian 2012 8
1 Introduction
Debian JP
西 Debian 勉強 Debian GNU/Linux さまなト (いパケー Debian 有のの仕
Debian です
的と次の考えす。
ML 掲示はな接顔せるの情の促
期的まれ
料の
れで楽しをお下さ
1
西Debian
1 Introduction 1
2 近の Debian 関係イベ 3
3 前課 4
4 Debian はじ Kerberos 7
5 News from EDOS: finding outdated packages 14
6 後の 15
2
63 西 Debian 強会 2012 8
2 Debian
Debian JP
2.1 62 西 Debian @OSC012Kansai@Kyoto
62 回目関西 Debian 勉強は今 3 日、 4 日に京都サーチパークで行なわれたープンソースカンレンスで
ないた。
セミナーでは Debian 7.0 “Wheezy” frozen」と題し 6 にフーズされた次リリース候補 Debian 7.0
“Wheezy” 紹介を行ないました。ブースの方にも多くの方に立ちて頂き、中で Debian T ツは大変好評
た。
2.2 91 Debian
91 目のリア Debian 8 2
DebConf 12 参加報告、月 Debhelper、ソフト開発以外簡単 Debian contribution(ドラフト!) Debian での
C++11 発環た。
Debian contribution ト開以外 Debian の貢方法介さてい。パンテ
は難いけか貢した思わいる参考て何思わことら始てはかが
うか
3
63 西 Debian 強会 2012 8
3
Debian JP
回はの課題し.
1. MIT Kerberos スにロセロセ使ート 2 上挙
さい
2. DebConf12 の資習してくい。
http://penta.debconf.org/dc12_schedule/events/894.en.html
加者さんは以りで
3.1
(回答)
3.2
1. 証プス  749 750
3.3
1. せん加し強しおもす。
3.4
1. sid 境で krb5-{admin-server,kdc}
krb5kdc 88/udp 750/udp
kadmind 464/udp 464/tcp 749/tcp
2. ておす。
3.5 okumura.d
1. kadmind tcp udp 号は 88,749.
#750(Kerberos RFile) Windows ..?
4
3.6
1. process
krb5-admin-server
krb5-kdc
port
88/udp, 754/tcp, 760/tcp
2. ておする
3.7
1. ルベ証で KDC Key Distribution Centerサー用意こに報を
管理
ユーが複ーバを利る場一度を受だけほかサーもアセスるよ
、何ログる必くな
a ス名
krb5kdc Kerberos サー
kadmin kadmin ユー
krb524 明)
b ス名
ませ時間調べてい
2. 間の限りきま
3.8 yyatsuo
1. 強しきま
2. 強しきま
3.9 0xBCD1BC92
1. ストールたらわかのかもしないが、/etc/init.d のプロセをキする前で茶を濁してお。し
/etc/serivces 連動ていもし
krb5-admin-server
krb5-kdc
/etc/services ら拾たか正解う。
88/udp
754/tcp krb5 prop hprop
760/tcp kreg
2. 料は事のらんます
3.10 西
1. kadmind TCP 749 464
5
3.11
1. ロセ: krb5kdc (KDC)
使用すート: 88 750
3.12
1. こを調べれいいかわらな Kerberos ものはグるこわかーリ
グしる。
3.13
1. squeeze 境で MIT Kerberos 使ートを次に調した
lsof -p ‘pgrep krb5kdc‘
lsof -p ‘pgrep kadmind‘
セス: krb5kdc
ト番: 88/udp 750/udp
セス: kadmind
ト番: 749/tcp 464/tcp 464/udp
2. い。までとか
3.14 lurdan
1. きは Weˆhˆh
2. 応ビ見ま難し
6
63 西 Debian 強会 2012 8
4 Debian Kerberos
4.1
回の事前題は MIT Kerberos のサービスを成するプセスと、のプロセが使用すポートを 2 つ以
挙げださした
解は MIT Kerberos の管理ガイド
*
1
参照してださい。応、 Kerberos されたサビスなど省い
回答下記です
krb5kdc 88/tcp,udp
kadmind 749/tcp
kpropd 754/tcp
4.2 kerberos
1980 MIT
*
2
(X Window System など) 開発ープ
における認証システムです。もともと、 MIT のオープンキンパスにおける課題を解決するために開されているた
、セ環境作がになてい他、 サイオンポーてい
初期に公するうえで米の暗号政 (出禁) する必要があめ、 kerberos は複数の実装があ
す。だ、現在では特に問題なく MIT の実装を利用するとがきまので別実装のことはひとまずおてお
る方 kth heimdal ググてみくだ
5 では kerberos ルと RFC が発れてます
*
3
Windows2000 以降 AD
証で用さるの気付うち使う方かもませ
4.2.1 kerberos
ルム ある KDC が管理対象とするネトワークの範囲です DNS ドメインと対応させることが多いようです。
ActiveDirectory
リン kerberos 理対象とるあらゆる個の要素で。ユーザ、ホト、サースなどが含まます。次
式の列でれま 名前/@
*
1
http://web.mit.edu/kerberos/krb5-1.10/krb5-1.10.3/doc/krb5-admin.html#Configuring-Your-Firewall-to-Work-With-Kerberos-V5
*
2
のある方 MIT ナプロジのすべてという書を読むとしめる思いま
*
3
http://www.ipa.go.jp/security/rfc/RFC.html#10
7
発行 (KDC: Key Distribution Center) kerberos のキモとなるサービスです。管理レルムに所属している全プリン
パル密鍵してユー認証 (AS) トの (TGS) を行
から求に鍵発で生る、つきデー共有号化てい
TGT (Ticket Granting Ticket) ーザ認証に成した場合に発されるチトで、内部に時的なセン鍵
持しますを持ていユー、サスチれま
テー (Key Table) Kerberos 証をサーで必る、シパ鍵の KDC
でホプリパルサープリパル成しれをして当のストピー
必要りま
Kerberos 詳細つい 3 NetWorking
*
4
語りも軽、わりやいと
いまで一でみださ 20 どです。
4.3
kerberos ホスの名解決できるこ、時が同してること、前提件とて必になます。ち
面倒が、ておくだ
想化使 dnsmasq ージ /etc/hosts
手軽便利かます
4.4
4.4.1 openldap
ユーザ認証の観点では kerberos はアカウント名とパスワードの組だけを扱いますので、ホームレクトリや
が設定でません。こで今回 openldap をアカウントメタデーを保管するデータベーとして使します。
openldap 築と設定については、さんによる前回の関西 Debian 勉強会資か、同じく佐木さんにる次
Debian 強会参考てく。こは、設定してもの進め
/etc/passwd /etc/shadow 相当のデータを保持するものとして、オブジクトクラスは posixAccount shad-
owAccount shadowAccount の属ませ/etc/shadow 相当タは
kerberos 取り扱うですが、れは OS shadow 報としてえるわけはないの、フイクアクセス
う位けで
4.4.2 kerberos
kerberos
krbtest.my.domain (openldap kerberos 1
)
ライ LDAP Kerberos TLS
ルム MY.DOMAIN
Kerberos (行局) testnode.my.domain
Kerberos 理サ testnode.my.domain
openldap testnode.my.domain
unset DEBIAN_FRONTEND pbuilder で実験している場
apt-get install lv vim
apt-get install krb5-kdc krb5-admin-server
*
4
http://www5e.biglobe.ne.jp/%257Eaji/3min/ex/sup04.html
8
krb5-kdc krb5-admin-server がアントしま debconf
をしてくと思いまが、 Yes/No の質は全てデ通り Default Kerberos version 5 realmには
前解使ていメイ サーアド」に解決るホ、をぞれてく
kerberos 般のイルは、/etc/krb5.conf なりインール debconf 自動生成くれ
すが更がていで手必要
vi /etc/krb5.conf
() [domain realm] 追加
(プシ) [realms] から要な消す
(プシ) [domain realm] 消す
イル終わら、 kerberos デー初期 debian は、めの
たスプトしてす。
krb5_newrealm
root/admin スワドをで、力しを忘らな
うに krb5-kdc ( kadmind)
され種プパル録やできになていす。
4.5
4.5.1 kadmin.local
kerberos の管理作業に使うコマンドには、 kadmin kadmin.local kdb5 util などがあります。このうち、 kad-
min.local 上でみ利できもの kadmin 使 kerberos をパする要が
、つプリルをしてない使ない、最 kadmin.local
kadmin.local 行すと、プロンプが出力されて管理マンドの入力待ちなります?’ マンドのリス
示さすのてみ
kadmin.local: ?
Available kadmin.local requests:
add_principal, addprinc, ank
Add principal
delete_principal, delprinc
Delete principal
modify_principal, modprinc
Modify principal
rename_principal, renprinc
Rename principal
change_password, cpw Change password
get_principal, getprinc Get principal
list_principals, listprincs, get_principals, getprincs
List principals
add_policy, addpol Add policy
modify_policy, modpol Modify policy
delete_policy, delpol Delete policy
get_policy, getpol Get policy
list_policies, listpols, get_policies, getpols
List policies
get_privs, getprivs Get privileges
ktadd, xst Add entry(s) to a keytab
ktremove, ktrem Remove entry(s) from a keytab
lock Lock database exclusively (use with extreme caution!)
unlock Release exclusive database lock
purgekeys Purge previously retained old keys from a principal
get_strings, getstrs Show string attributes on a principal
set_string, setstr Set a string attribute on a principal
del_string, delstr Delete a string attribute on a principal
list_requests, lr, ? List available requests.
quit, exit, q Exit program.
りあ、こプリルの確認くりてみにし
9
4.5.2 ーザシパ
ーザ加はで、リンの名としーザ指定だけ。パード求めすの、入
てくい。
kadmin.local: addprinc kdmtest
WARNING: no policy specified for kdmtest@MY.DOMAIN; defaulting to no policy
Enter password for principal "kdmtest@MY.DOMAIN":
Re-enter password for principal "kdmtest@MY.DOMAIN":
Principal "kdmtest@MY.DOMAIN" created.
4.5.3 ストシパ
トを加す場合、プンシルの前と host識別子とてそホス FQDN を指しま。また、
スト合はード間がるこいの手入くラなも自動せま
kadmin.local: addprinc -randkey host/testnode.my.domain
WARNING: no policy specified for host/testnode.my.domain@MY.DOMAIN; defaulting to no policy
Principal "host/testnode.my.domain@MY.DOMAIN" created.
4.5.4 ービンシ
追加合はンシ名前ービ識別てサを提ホス FQDN
指定す。
kadmin.local: addprinc -randkey ldap/testnode.my.domain
WARNING: no policy specified for ldap/testnode.my.domain@MY.DOMAIN; defaulting to no policy
Principal "ldap/testnode.my.domain@MY.DOMAIN" created.
4.5.5 録デ確認
listprincs のよ
れるです
kadmin.local: listprincs
K/M@MY.DOMAIN
kadmin/admin@MY.DOMAIN
kadmin/changepw@MY.DOMAIN
kadmin/testnode.my.domain@MY.DOMAIN
krbtgt/MY.DOMAIN@MY.DOMAIN
4.5.6 テー (ktab)
ktadd コマるこ/新すます
ホス用のブル倒で別途して必要ありで、ないうにまし
kadmin.local: ktadd ldap/testnode.my.domain
Entry for principal ldap/testnode.my.domain with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab.
Entry for principal ldap/testnode.my.domain with kvno 2, encryption type arcfour-hmac added to keytab FILE:/etc/krb5.keytab.
Entry for principal ldap/testnode.my.domain with kvno 2, encryption type des3-cbc-sha1 added to keytab FILE:/etc/krb5.keytab.
Entry for principal ldap/testnode.my.domain with kvno 2, encryption type des-cbc-crc added to keytab FILE:/etc/krb5.keytab.
4.6
NSS 参照ライリにくつ選択在し
ライ LDAP Kerberos TLS
lib(nss/pam)-ldap × いが
lib(nss/pam)-ldapd × squeeze 発展
libpam-krb5 ×
sssd RedHat FreeIPA 発展
10
Debian は、今回構成であ libnss-ldapd + libpam-krb5 が本というこになるのも知れまんが、こ
では sssd 使
sssd RedHat 緒くまと系の装のです記の ldap/krb
ト機他、 NSCD
4.6.1 sssd 構成
sssd RHEL5 登場し、 RHEL6 さらに統合が進んいる他、本語のマアルもきちり意されて
ので RedHat 使用し人に後のていであービす。
Debian ケーなが RHEL されンが
RedHat のマをそまま使えい場がありま。是非こをきけに Debian でアレコ試してみ、ブ
グや勉強さい
はとれ、 sssd してプルイルピーす。
apt-get install sssd
cp /usr/share/doc/sssd/examples/sssd-example.conf /etc/sssd/sssd.conf
定フイル、のみれ目でます複数ンにかれす。
sssd クシ モンセス動作す。
config_file_version = 2
# Number of times services should attempt to reconnect in the
# event of a crash or restart before they give up
reconnection_retries = 3
# If a back end is particularly slow you can raise this timeout here
sbus_timeout = 30
services = nss, pam
# SSSD will not start if you do not configure any domains.
# Add new domain configurations as [domain/<NAME>] sections, and
# then add the list of domains (in the order you want them to be
# queried) to the "domains" attribute below and uncomment it.
domains = KERBEROS
nss クシ nss の参定をます
# The following prevents SSSD from searching for the root user/group in
# all domains (you can add here a comma-separated list of system accounts that
# are always going to be /etc/passwd users, or that you want to filter out).
filter_groups = root
filter_users = root
reconnection_retries = 3
# The entry_cache_timeout indicates the number of seconds to retain an
# entry in cache before it is considered stale and must block to refresh.
# The entry_cache_nowait_timeout indicates the number of seconds to
# wait before updating the cache out-of-band. (NSS requests will still
# be returned from cache until the full entry_cache_timeout). Setting this
# value to 0 turns this feature off (default).
; entry_cache_timeout = 600
; entry_cache_nowait_timeout = 300
pam クシ pam の参定をます
reconnection_retries = 3
domain クシ 先サ個別定をす。
11
# Example LDAP domain
; [domain/LDAP]
; id_provider = ldap
; auth_provider = ldap
# ldap_schema can be set to "rfc2307", which stores group member names in the
# "memberuid" attribute, or to "rfc2307bis", which stores group member DNs in
# the "member" attribute. If you do not know this value, ask your LDAP
# administrator.
; ldap_schema = rfc2307
; ldap_uri = ldap://ldap.mydomain.org
; ldap_search_base = dc=mydomain,dc=org
# Note that enabling enumeration will have a moderate performance impact.
# Consequently, the default value for enumeration is FALSE.
# Refer to the sssd.conf man page for full details.
; enumerate = false
# Allow offline logins by locally storing password hashes (default: false).
; cache_credentials = true
# An example Active Directory domain. Please note that this configuration
# works for AD 2003R2 and AD 2008, because they use pretty much RFC2307bis
# compliant attribute names. To support UNIX clients with AD 2003 or older,
# you must install Microsoft Services For Unix and map LDAP attributes onto
# msSFU30* attribute names.
; [domain/AD]
; id_provider = ldap
; auth_provider = krb5
; chpass_provider = krb5
;
; ldap_uri = ldap://your.ad.example.com
; ldap_search_base = dc=example,dc=com
; ldap_schema = rfc2307bis
; ldap_sasl_mech = GSSAPI
; ldap_user_object_class = user
; ldap_group_object_class = group
; ldap_user_home_directory = unixHomeDirectory
; ldap_user_principal = userPrincipalName
; ldap_account_expire_policy = ad
; ldap_force_upper_case_realm = true
;
; krb5_server = your.ad.example.com
; krb5_realm = EXAMPLE.COM
domain ルの雛形用意れてます、今はひまず視し、次よう追記てみ
くだ
[domain/KERBEROS]
enumerate = true
id_provider = ldap
access_provider = permit
ldap_uri = ldaps://YOURSERVER/
ldap_search_base = dc=YOUR,dc=DOMAIN
ldap_tls_reqcert = never
ldap_tls_cacert = /etc/ssl/certs/YOUR-CACERT.pem
auth_provider = krb5
chpass_provider = krb5
krb5_kdcip = <kerberos ーバ IP ドレ>
krb5_server = <kerberos ーバ IP ドレ>
krb5_realm = <kerberos ルム>
krb5_changepw_principal = kadmin/changepw
krb5_auth_timeout = 15
domain セク名前して指定たもが、 sssd domains 照さていこと確認てく
い。イル集が sssd を再ます
service sssd restart
4.6.2 nss 切り
sssd 設定する NS (Name Service) OS に教てあ必要ます
*
5
vi /etc/nsswitch.conf
passwd group shadow compat sss
*
5
ルトでは、ローカルの /etc/passwd のみ探すよういま
12
4.7
ssh を利用して、認証の動作確認をてみます。実 ssh もとから Kerberos 対応しているのでが、今回の構
ではの機利用、認分は OS (sssd) 形とます sshd config GSSAPI* no
るこ PasswordAuthentication yes UsePam Yes こと
くだ。先成しーザシパ使でき功で
Kerberos サーバ上で試してもいまいち感動がないので、できれば複数台の構成で実験してみてみると面白いと思いま
。シルサンでのサわたるのかなです
*
6
本当わり分だ紹介みまが、研究テーして Active Directory 連携る」
kerberos ータ openldap wallet 使 keytab して
られので挑戦、未強会してくだ
*
6
ssh agent forwarding 済んでしまうかもれません……
13
63 西 Debian 強会 2012 8
5 News from EDOS: finding
outdated packages
Ralf Treinen
Debconf12 様で
料とオは Debconf12 ン案
*
7
参照くだ
*
7
http://penta.debconf.org/dc12_schedule/events/894.en.html
14
63 西 Debian 強会 2012 8
6
Debian JP
6.1 西 Debian
回、 64 西 Debian 会は 9 23 () 島区ンタ 304 ない
6.2 Debian
9 15 () OSC Tokyo Fall 92 Debian され
15
16
西Debian
Debian
2012 8 26 1
西 Debian
17