- PR -

Samba 3 で ActiveDirectory に参加

投稿者投稿内容
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-01-11 18:38
こんばんわ.

Samba を使って ActiveDirectory で認証をしてみようと思い立ち,
参照元記事などを参考にしながら設定してみました.
kinit や net ads join などは正常に処理できたようですが,
winbindd を起動すると,後述の内容の error が表示されて,
Samba server へ接続できません.
内容がお判りになられる方,恐縮ですがご教示いただきたく.

Windows Server 2003(Domain Controller)-- RedHat Enterprise Linux 3.0(Samba3)
※ActiveDirectory には Windows client が参加できています.
Domain -- NetBIOS では MOON,DNS では moon.local

---/etc/samba/smb.conf---
[global]
workgroup = MOON
realm = MOON.LOCAL
server string = Samba3.0
security = ADS
obey pam restrictions = Yes
log file = /var/log/samba/%m.log
max log size = 50
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
winbind separator = +
winbind uid = 10000-12000
winbind gid = 10000-12000

[homes]
comment = Home Directories
read only = No
browseable = No

---/etc/krb5.conf---

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = MOON.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false

[realms]
MOON.LOCAL = {
kdc = dawn.moon.local:88
admin_server = dawn.moon.local:749
default_domain = moon.local
}

[domain_realm]
.moon.local = MOON.LOCAL
moon.local = MOON.LOCAL

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

---/etc/pam.d/system-auth---

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/pam_winbind.so
auth required /lib/security/$ISA/pam_deny.so

account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/pam_winbind.so

password required /lib/security/$ISA/pam_cracklib.so retry=3 type=
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password required /lib/security/$ISA/pam_deny.so

session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so

---winbindd 起動時の syslog の error---

Jan 11 18:00:18 twilight winbindd[3433]: [2005/01/11 18:00:18, 0] libsmb/smb_signing.c:signing_good(240)
Jan 11 18:00:18 twilight winbindd[3433]: signing_good: BAD SIG: seq 1
Jan 11 18:00:18 twilight winbindd[3433]: [2005/01/11 18:00:18, 0] libsmb/clientgen.c:cli_receive_smb(121)
Jan 11 18:00:18 twilight winbindd[3433]: SMB Signature verification failed on incoming packet!

---wbinfo -t での結果---

checking the trust secret via RPC calls failed
error code was NT_STATUS_UNSUCCESSFUL (0xc0000001)
Could not check secret

※ちなみに wbinfo -u/g で,
※ActiveDirectory 側の account/group は参照できます.

Windows 側から Samba へ接続しに行くと,
「現在ログオン要求を処理できるログオンサーバはありません」
と拒否されます.

以上,よろしくお願いいたします.
Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2005-01-11 20:18
引用:

Windows Server 2003(Domain Controller)-- RedHat Enterprise Linux 3.0(Samba3)



引用:

Jan 11 18:00:18 twilight winbindd[3433]: SMB Signature verification failed on incoming packet!


WindowsServer2003のドメインコントローラではSMB署名が有効になってるから、それが原因でしょう。
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/570.asp

でも、今まで問題出てないってことは、レガシクライアントが存在しない環境だったんでしょうか。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-01-11 21:25
引用:

Mattunさんの書き込み (2005-01-11 20:18) より:

WindowsServer2003のドメインコントローラではSMB署名が有効になってるから、それが原因でしょう。
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/570.asp


ありがとうございます.
簡単に確認してみた限り,
「ドメインコントローラ セキュリティ ポリシー」で
「Microsoft ネットワーク サーバー」->「常に通信にデジタル署名を行う」を
未定義/無効にしても動作は変わりありませんでした.
引用:

でも、今まで問題出てないってことは、レガシクライアントが存在しない環境だったんでしょうか。


この辺の情報は数多ある Samba3 + ActiveDirectory の情報にも見あたりませんでした.
ということは,Windows Server 側の問題ではないのか?と認識していました.

引き続きご教示賜りたく.
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-01-12 16:00
こんにちわ.

昨日の続きです.
調べた限り,Samba-3.0.7 以降では bug があって,
ActiveDirectory には参加できないらしいです.
RHEL の package では Samba-3.0.6-2.3E なら実績があるらしく,
version を落としてみました.
引用:

kazさんの書き込み (2005-01-11 18:38) より:

---wbinfo -t での結果---

checking the trust secret via RPC calls failed
error code was NT_STATUS_UNSUCCESSFUL (0xc0000001)
Could not check secret



---down grade した後の wbinfo -t ---

checking the trust secret via RPC calls succeeded

一応挙動は変わりましたが,
winbindd.log では下記のような error を吐いています.

[2005/01/12 15:38:22, 1] nsswitch/winbindd.c:main(854)
winbindd version 3.0.6-2.3E started.
Copyright The Samba Team 2000-2004
[2005/01/12 15:38:22, 1] libsmb/clikrb5.c:ads_krb5_mk_req(313)
krb5_cc_get_principal failed (No credentials cache found)
ですが,相変わらず Samba へ接続できません.

これから Windows Server 側をいじってみます.
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-01-12 18:51
引用:

kazさんの書き込み (2005-01-12 16:00) より:

これから Windows Server 側をいじってみます.


と思いましたが,Windows Server 側の設定変更では受け入れて貰えず,
結局 security = DOMAIN で繋いでみました.
せっかく教えていただいて申し訳ありません -> Mattun 様
これで Samba(Linux)側に user account を作らずに
Windows -> Samba で ActiveDirectory の user account で接続できるようになりました.
ssh や console での login も ActiveDirectory の
user account で出来るようになりました.

ちなみに,security = ADS で ActiveDirectory に参加するには,
MIT kerberos1.3.1 以降が必要だそうです.
※と,Samba 3.0.9 の document に書かれているようです.
※ちなみに RHEL は 1.2.7 だったりします.
時間を見つけて update してみます.

以上,ご報告まで.
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-01-22 23:42
こんばんわ.
引用:

kazさんの書き込み (2005-01-12 18:51) より:

ちなみに,security = ADS で ActiveDirectory に参加するには,
MIT kerberos1.3.1 以降が必要だそうです.
※と,Samba 3.0.9 の document に書かれているようです.
※ちなみに RHEL は 1.2.7 だったりします.
時間を見つけて update してみます.


中間報告です.
その後,RHEL 3.0 の kerberos5 などをいろいろやってみたら,
とりあえず net ads join できました.
NTLM 認証の場合は Domain Controller 側で OS が不明のままですが,
net ads join 出来た場合は OS や Samba の version までわかります.
ですが,作業履歴を取っていなかったので
「なんとか出来る」という話になってしまいました.
今後,Windows Server/RHEL ともに再構築し,もう一度検証してみるつもりです.

補足になりますが,気になったので Miracle Linux でも検証してみました.
smb.conf,krb5.conf,nsswitch.conf,pam.d/system-auth は全て
RHEL3.0 -> Miracle Linux 3.0 に copy してきただけですが,
まったく問題なく ActiveDirectory に net ads join できました.
ちなみに Samba 3.0.2a + krb5 1.3.1 でした.
このことから,Samba の version はあまり関係ないのかもしれません.

以上,経過報告でした.
まるちねす
ぬし
会議室デビュー日: 2004/04/28
投稿数: 302
投稿日時: 2005-04-28 11:46
もう解決しているのかもしれませんが、一応ADドメインに参加できている
smb.confをさらしておきます。

***** smb.conf *****

[global]
dos charset = CP932
unix charset = EUCJP-MS
display charset = EUCJP-MS
realm = GALAXY.LOCAL
workgroup = GALAXY
netbios name = FEDORA
security = ADS
password server = SUN
disable netbios = Yes
local master = No
domain master = No
add share command = /usr/lib/samba/bin/addshare.pl ----日経linux4月号
    change share command = /usr/lib/samba/bin/chgshare.pl ----  〃
delete share command = /usr/lib/samba/bin/delshare.pl ----  〃
idmap uid = 30000-40000
idmap gid = 30000-40000
winbind separator = +
winbind enable local accounts = Yes
winbind use default domain = Yes
admin users = GALAXY+Administrator
     -----この記述があると、windowsホストのコンピュータの管理
        から共有の作成が行える。smb.confのパーミッションが
        root root 644でもwindowsドメインのユーザーがsmb.confを
        変更できるようになった。共有のセクションが加筆・削除される。

[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No

[C$]
path = /
valid users = GALAXY+Administrator
write list = GALAXY+Administrator


***** krb5.conf ******

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = GALAXY.LOCAL

[realms]
GALAXY.LOCAL = {
kdc = SUN.galaxy.local
}

[domain_realm]
.galaxy.local = GALAXY.LOCAL
galaxy.local = GALAXY.LOCAL

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}


wins(DNSのみで名前解決)がない環境で、DC 各クライアント とも 
Netbios over TCP/IPが無効。

DNSのAレコードを追加
....
linux.galaxy.local 192.168.0.103
fedora.galaxy.local 192.168.0.103(*)
....
NBTが無効でもコンピュータのnetbios名とDNSからサフィックスを取り除いたホスト名
が一致していないとエラーになるため(*)

kinit

net ads join

でメデタク参加できますた。
最初securyty = ADS が ダメで、DOMAINにしたら参加可能になったが、
wbinfoでユーザー情報取得不能(NBTが無効だからか?)で
改めて ADS でトライした。 
その際 disable netbios = Yes
local master = No
domain master = No
を追加してみたらうまくいった。

以上 samba AD連携で行き詰っている方々の参考になれば・・・・・・
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-04-29 20:06
こんばんわ.
引用:

まるちねすさんの書き込み (2005-04-28 11:46) より:

もう解決しているのかもしれませんが、一応ADドメインに参加できている
smb.confをさらしておきます。


ありがとうございます.
参考にさせていただきます.
引用:

その際 disable netbios = Yes
local master = No
domain master = No
を追加してみたらうまくいった。

以上 samba AD連携で行き詰っている方々の参考になれば・・・・・・


実は実案件でやることになったので,
これから検証しようと考えてます.
差し支えなければ OS/kerberos5/samba
それぞれの version をご教示いただけるとさらに助かります.
相変わらず Miracle や Turbo では問題ないです.
ちなみに Vine の samba は ActiveDirectory に
対応するための option 付きで build されてないようでした.

なので,Windows Server 2003 + RedHat Enterprise Linux 3.0 で
検証に着手するべく準備中です.

スキルアップ/キャリアアップ(JOB@IT)