当前位置:首页 > smb域验证
实例使用NTLM验证整合Squid及Samba3实现AD域用户认证
08-04-10 10:45 发表于:《蓝色航标》 分类:未分类 实例使用NTLM验证整合Squid及Samba3实现AD域用户认证
Windows的IIS中有项配置使用集成的Windows验证,在AD的环境中我们可以通过启用集成的Windows验证来使用用户登陆Windows 系统的帐号进行认证,在用户访问网页时,IE会将用户的帐号凭据发往服务器自动做认证,不需要用户输入用户名和密码。最好的例子就是用户登陆 Outlook Web Access(OWA)。当我们利用Squid做代理服务器需要利用用户身份做认证是,用户每次访问网页,系统会提示用户输入用户名和密码,这样给用户带来很多麻烦,有没有方法集成Windows的帐号做认证呢?通过查找资料,发现实际上在Linux等系统下,利用SQUID集成SAMB同样可以集成 windows的认证,用户在通过访问代理服务器时自动利用登陆计算机的帐号做身份验证,对用户完全透明,不需要手动输入用户名及密码。下面是我进行 Squid集成Windows帐号认证的总结,希望对有这方面需求的朋友有所帮助,其中有什么不正确及有更好的方法也希望各位给予指点,共同研究进步。 1. 实现环境
Fedora 7 + Squid 2.6 + Samba 3.0 + Krb5 2. 软件包安装
Squid、Samba及Krb5均通过yum安装最新版本。 3. Kerberos配置
Win2003系统默认通过Kerberos做身份验证,Kerberos验证需要安装Krb5软件包。配置文件及测试都很简单。Krb5的配置文件为/etc/krb5.conf,配置如下 CODE:
[logging]
default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = TEST.COM (验证域的realm,必须全部大写) dns_lookup_realm = false dns_lookup_kdb = false
[realms] TEST.COM = {
kdc = 192.168.0.1:88 (域控制器名,可以是IP地址)
default_domain = TEST.COM (缺省域名,同样必须全部大写) }
[domain_realm] .test.com = TEST.COM test.com = TEST.COM
配置完成后可以通过Kinit工具进行测试方法如下 CODE:
root# kinit administrator@TEST.COM Password for administrator@TEST.COM
正确输入密码后系统返回 CODE:
kinit: NOTICE: ticket renewable lifetime is 1 week
表示正确验证,如果返回有错误,检查krb5.conf文件设置。
4. Samba配置
通常samba配置文件在/etc/samba/smb.conf,编辑smb.conf文件如下 注意,安装Samba带有Winbind组件 CODE: [global]
log file = /var/log/samba/log.%m dns proxy = No
idmap gid = 10000-20000 server string = Samba Server idmap uid = 10000-20000 password server = 192.168.0.1 workgroup = TEST (域的NetBios名) os level = 20
encrypt passwords = yes
security = ads (设置为AD验证)
realm = TEST.COM (验证域realm,必须大写) winbind use default domain = yes max log size = 50
这里需要正确配置你的workgroup、Netbios名、realm,password servers(域控制器,可以有多台)。一旦配置正确,你可以使用net ads join将你的Samba主机加入AD中。输入 CODE:
root# net ads join –U administrator@TEST.COM 或 net rpc join -S win2k3.test.com -U administrator 将主机加入AD。 重新启动samba CODE:
service smb restart 同时winbind也要重新启动。 service winbind restart
5. 确认Samba主机帐号在AD中正确注册 使用wbinfo –t 验证Samba主机已成功加入AD CODE:
root# wbinfo –t 系统返回 CODE:
checking the trust secret via RPC calls succeeded 说明主机信任已成功建立
使用wbinfo –u 可以列出AD中注册的帐号信息。Wbinfo –g可以返回AD中的组信息。
6. 测试ntlm_auth验证 CODE:
root# ntlm_auth --username=administrator Password:**************
NT_STATUS_OK: NT_STATUS_OK (0x0) 说明域帐号administrator已成功验证 7. 配制NSS
Nss为Name Service Switch,控制帐号的验证。编辑/etc/nsswitch.conf,如下 CODE:
passwd: files winbind group: files winbind 8. 配置Squid 在squid.conf文件中增加
共分享92篇相关文档