分类: LINUX
2011-04-19 16:02:40
by lin@yamani 11/06/2009
安装环境:CentOS 5.4 Kernel 2.6.18-164
SafeSquid版本:safesquid-ntlm.RC1.0-composite-standard
AD:Windows Server2003 Active Directory
Client: Windows 2000 Professional with IE6.0
1# ls
下载httpauth-0.9.4.tar.gz 以及 safesquid-ntlm.RC1.0-composite-standard.tar.gz
2 # tar zxvf httpauth-0.9.4.tar.gz
3 # cd httpauth-0.9.4
4 # ./configure –enable-ntlm
5 # make && make install
6 # vi /opt/safesquid/safesquid/contrib/httpauth.conf
需要修改NTLMServer和NTLMDomain
7 # tar zxvf safesquid-ntlm*.tar.gz
8 # cd safesquid
9 # ./install.sh
然后查看服务是否启动
10 # 需要安装以下包
1.samba-client-3.0.21b-2
2.samba-3.0.21b-2
3.samba-common-3.0.21b-2
4.krb5-workstation-1.4.3-4.1
5.krb5-libs-1.4.3-4.1
检查是否有pam_winbind.so模块
(在 /lib/security/ 目录下)
11 # 检查winbind服务是否随系统启动,需要让winbind随系统启动
12 # findsmb
可以看到AD的NETBIOS NAME 以及 DOMIAN NAME。
[10.1.1.25] [DCTEST1] [UNIX] [Windows 5.2] [Windows 2003 LAN Manager]
13 # vi /etc/samba/smb.conf
修改smb.conf文件,我们需要修改的地方有两个,一个是Global Settings,一个是Standalone Server Options。
Global Settings修改为如下
这里的netbios name就是安装safesquid的机器,修改为hostname这里就是lin.test.1
另外我们还需要特别注意一定要记得修改Standalone Server Options,不然是无法加入到AD里去的。
需要将Standalone Server Options里面的设置项目注释掉
14 # testparm 查看配置是否有误,如果刚才没有注释掉Standalone Server Options里的security = user就会出现错误。
正确的话应该是这样的
15 # vi /etc/krb5.conf
修改如下
16 # vi /etc/pam.d/safesquid
修改如下
17 # vi /etc/hosts
加入AD的DNS记录
18 # #下面要将他加入到域里面
#kinit Administrator@UNIX.COM
这是因为时间与我们域的时间相差过多(要求在5分钟之内),我们需要修改系统的时间(最好是设置时间服务器这样可以保持与AD的时间一致)
# ntpdate –b 10.1.1.25 #与AD同步下时间,然后输入Administrator@UNIX.COM,输入密码,返回到shell #
19 # net rpc join –S dctest1.unix.com –U administrator
输入域管理员administrator的密码,提示加入到域,成功加入域。
20 打开Active Directory在Computers里就可以看到这台加入的机器,这里是lin.test.1
21 # /etc/init.d/winbind start
启动winbind 服务
22 #
检查winbind服务是否开启
23 # wbinfo –t
显示如下表示RPC请求成功建立
24 # wbinfo –u
可以取得AD上的用户名
#wbinfo –g
可以取得AD上的组
25 # wbinfo –authenticate=DOMIAN NAME/username%password
这里我们的DOMIAN NAME 就是UNIX.COM ,test是AD上的一个帐户%后是他的密码
显示画面上的信息表示与域认证成功。
26 # 使用pamtester来测试safesquid与AD认证
安装完成后使用命令
# pamtester safesquid test authenticate
输入test帐号的密码
提示认证成功。
27 # 在safesquid里建立一个帐号通过AD来验证。
|
|
28 # 我们用域帐户登陆系统来测试一下,打开浏览器
弹出验证窗口,输入域帐号及密码
验证通过。
但是即使是域账户登陆到系统里每次也会弹出验证窗口,要让SafeSquid自动调用域账户认证,就需要做下面这些操作。
29下载安装monit
# wget
# tar zxvf monit-5.0.3.tar.gz
# cd monit-5.0.3
# ./configure
# make
# make install
# cp monitrc /etc/
# cp contrib/rc.monit /etc/init.d/monitd
# type monit
复制 usr/local/bin/monit 我们一会需要更改 /etc/init.d/monitd
# vi /etc/init.d/monitd
修改如下
# chmod 755 /etc/init.d/monitd
# 设置safesquid服务与monitd服务随系统启动
# vi /etc/monitrc
30 # service monitd stop && service safesquid stop && service monitd start && service safesquid start
重启monitd与safesquid服务
再次用域帐户登陆系统打开浏览器
现在就不会弹出验证窗口了,系统自动用域账户进行认证。
31 SafeSquid是通过8080端口来访问的,所以如果系统开启了iptables需要在iptables规则里增加一条规则让8080端口通过。建议启用iptables以增强系统安全性。
# vi /etc/sysconfig/iptables
然后重启iptables就可以了。
# service iptables restart
完成。