Web筛选Squid 3使用QuintoLabs Content Security 1.4和Windows Active Directory集成

使用QuintoLabs内容安全1.4和Windows Active Directory集成在Squid 3上进行Web过滤

本HOWTO将向您展示如何在CentOS或RedHat 6 Linux上部署一个Squid代理服务器,通过QuintoLabs Content Security完成的Web和内容过滤功能,以及基于Windows 2008 R2的Active Directory透明地验证的代理用户。 这是正在进行的工作,欢迎所有的意见。 HOWTO针对新手用户,有时候对于更高级的大师来说,可能会看起来太彻底。 没有编译魔法将涉及到我们的设置,所以任何系统管理员习惯于Windows将能够轻松地按照说明。 :)

我们将使用VMWare的Workstation 8设置登台测试实验室,以确保在将部署到生产服务器和实际硬件之前都可以正常工作。 所选择的虚拟化平台并不重要,任何其他虚拟化解决方案也可以成功使用。

先决条件

测试实验室将包含三台机器 - 运行Microsoft Windows 2008 R2服务器的域控制器,运行Windows 7的用户机器和运行CentOS 6的代理机,Squid Proxy 3来自标准存储库。 我认为您已经拥有Windows Server R2,Windows 7和RedHat(CentOS)6 Linux的ISO。 我也假定安装Microsoft Windows和Active Directory不是一个问题。

我们创建的域称为example.lan 。 正在使用的IP地址来自VMWare Workstation - 192.168.28.0中NAT网络中使用的标准网络。 域控制器的名称将为dc.example.lan ,代理将被称为proxy.example.lan和客户端工作站client.example.lan

第1步.安装域控制器

首先,执行Microsoft Windows的基本安装,并进行初始安装后配置。

  1. 为域控制器创建一个新的虚拟机。 将Windows Server ISO放入虚拟CD驱动器并进行安装。 将管理员密码设置为“ P @ ssw0rd ”(不带引号)。

  2. 安装完成后,将服务器的静态IP地址设置为192.168.28.20 ,子网掩码255.255.255.0 ,默认网关192.168.28.2 。 将首选DNS服务器设置为192.168.28.2 。 启动Web浏览器并导航到您喜爱的网站,以测试Internet连接是否正常工作。

  3. dc.example.lan上的时区设置为您居住的时区。

  4. 将计算机的名称更改为“ dc ”(不带引号),以便稍后安装Active Directory和DNS服务器后,我们的域控制器的FQDN地址为dc.example.lan

现在安装Active Directory。

  1. 单击开始 - 管理工具 - 服务器管理器 ,并运行角色向导以添加“Active Directory域服务”角色。

  2. 当角色向导完成后,打开命令提示符并运行“dcpromo.exe”在新林中设置新域。 将example.lan指定为林根域的FQDN名称。 在“Windows Server 2003”上保留森林和域功能级别,将DNS服务器标记为此域控制器的附加选项。 安装向导抱怨“无法创建此DNS服务器的委派,因为无法找到权威父区域或不运行Windows DNS服务器”,只需说出是继续安装并在此域上安装DNS服务器的新实例控制器。 等一下,直到安装完成。 然后重启VM。

现在为dc.example.lan和proxy.example.lan主机设置静态IP地址信息。

  1. dc.example.lan中使用DNS管理管理单元为网络ID 192.168.28创建主IPv4反向DNS查找区域,将复制范围“设置为在此域中的域控制器上运行的所有DNS服务器:example.lan”,并允许非安全和安全的动态更新。

  2. dc.example.lan添加新的指针(PTR)记录,并使用nslookup检查dc.example.lan可以成功解析为其IP地址(192.168.28.20),反之亦然。

  3. proxy.example.lan添加主机(A)和指针(PTR)记录,并使用nslookup检查proxy.example.lan可以成功解析为其IP地址(192.168.28.21),反之亦然。

第2步.安装Windows 7客户机

现在创建一个VM,作为代理用户的机器。 给VM一个名称 - client.example.lan ,按照通常的方式设置Windows 7,将机器加入到在第1步中创建的example.lan域,并创建一堆将用作代理客户端的域用户。

第3步.安装CentOS代理机

创建一个名为proxy.example.lan的新虚拟机。 确保网络适配器设置为“NAT”模式。 启动虚拟机,并按照主要接受默认值的CentOS安装向导的步骤。 将机器主机名配置为“proxy.example.lan”,将root密码配置为“P @ ssw0rd”(不带引号)。 等一下,直到安装完成,然后重新启动系统。

注1:为了这个目的,我已经在/ etc / selinux / config中显式禁用了SELinux。

注意2:为了这个目的,通过在根终端中键入#chkconfig iptables off和#chkconfig ip6tables关闭并重新启动proxy.example.lan VM,我有防火墙显式禁用。

第3步.1 - 配置网络

部署为VM的CentOS 6默认情况下不启用网络子系统。 为了实现网络,我们需要执行以下操作:

  1. / etc / sysconfig / network-scripts / ifcfg-eth0中设置静态IP地址

    BOOTPROTO=static
    NETMASK=255.255.255.0
    IPADDR=192.168.28.21
    ONBOOT=yes
  2. / etc / sysconfig / network中设置默认网关

    GATEWAY=192.168.28.2
  3. 通过编辑/etc/resolv.conf指向dc.example.lan的DNS服务器

    nameserver 192.168.28.20

重新启动您的网络子系统

# /etc/init.d/network restart

或者只是重新启动虚拟机。 重新启动后,通过在终端中键入以下命令并观察任何错误输出,确认网络正常工作

$ping -c 3 192.168.28.2

最后更新VM

# yum update

并为后续步骤安装必要的先决条件:

# yum install bind-utils

第3步.2 - 配置网络时间同步

要在proxy.domain.lan上执行成功的Kerberos身份验证系统时间,必须与dc.example.lan上的系统时间同步 。 最简单的方法是安装网络同步服务器并将其指向域控制器。

  1. 安装NTP服务器:

    # yum install ntp
  2. 使其在系统引导时自动启动

    #chkconfig ntpd on
  3. 打开/etc/ntp.conf并添加域控制器的名称:

  4. 要执行初始时间同步停止服务

    #service ntpd stop
    并运行手动sync命令
    #ntpdate -b dc.example.lan
    然后再次启动NTP服务
    #service ntpd start

注意:运行kinit实用程序后,如果您获得“时钟偏移太大,而获​​取初始凭据”,则同步可能不成功,建议您检查/etc/ntp.conf中的服务器名称是否正确,并重新启动ntpd服务。 / var / log / messages上的日志文件可能包含有关不成功同步原因的更多信息。

第3步.3 - 安装Kerberos

所有需要的Kerberos软件包默认安装在CentOS中。 但是要确保您在proxy.example.lan类型上真正拥有所需的所有Kerberos软件包

# yum install krb5-workstation krb5-libs

Kerberos配置存储在/etc/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 = EXAMPLE.LAN
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 default_tgs_enctypes = rc4-hmac
 default_tkt_enctypes = rc4-hmac
 permitted_enctypes = rc4-hmac

[realms]
 EXAMPLE.LAN = {
  kdc = dc.example.lan
  admin_server = dc.example.lan
  default_domain = example.lan
 }

[domain_realm]
 .example.lan = EXAMPLE.LAN
 example.lan = EXAMPLE.LAN

要测试Kerberos身份验证是否正确设置,请在根终端中输入

# kinit Administrator@EXAMPLE.LAN

该命令应该完成没有错误。 命令

# klist

应打印有关获得的Kerberos票的信息。

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@EXAMPLE.LAN

Valid starting     Expires            Service principal
12/07/11 11:07:58  12/07/11 21:08:00  krbtgt/EXAMPLE.LAN@EXAMPLE.LAN
    renew until 12/14/11 11:07:58

现在重启VM。

第3步.4 - 安装Samba并将proxy.example.lan加入Active Directory

注意:这一步很大程度上依赖于RedHat 6文档方面http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/index.html ,特别是书籍“部署指南”和“企业身份管理指南”。

为了能够使用其Active Directory的凭据透明地验证Squid代理的客户端,必须将具有Squid的服务器加入Active Directory域(即example.lan)。 最简单的方法是在代理计算机上运行Samba。

  1. 通过键入安装Samba

    # yum install samba
  2. 使其始终在启动时启动

    # chkconfig smb on
    # chkconfig nmb on
  3. 打开/etc/samba/smb.conf并确保其内容看起来像这样( 这是在proxy.example.lan上运行testparm -s的结果 ):

    [global]
    	workgroup = EXAMPLE
    	realm = EXAMPLE.LAN
    	server string = Samba Server Version %v
    	security = ADS
    	log file = /var/log/samba/log.%m
    	max log size = 50
    	cups options = raw
    
    [homes]
    	comment = Home Directories
    	read only = No
    	browseable = No
    
    [printers]
    	comment = All Printers
    	path = /var/spool/samba
    	printable = Yes
    	browseable = No
    

    请注意,我们将工作组设置为EXAMPLE范例EXAMPLE.LAN (大写字母)和广告的 安全性

  4. 重新启动Samba服务

    #service smb restart
    #service nmb restart

如果现在从client.example.lan浏览网络,您应该在EXAMPLE工作组中看到代理机器。

现在将机器proxy.example.lan加入到Active Directory中:

  1. 通过键入来停止Samba服务

    # service smb stop
    #service nmb stop
  2. 通过键入在proxy.example.lan上初始化Kerberos子系统

    # kinit Administrator@EXAMPLE.LAN
    应该要求密码,并且没有错误地完成。
  3. 确保您输入正确的Kerberos票证

    # klist
  4. 通过键入来加入Active Directory

    # net ads join -S dc.example.lan -U Administrator%P@ssw0rd
    。 你应该得到这样的输出:

  5. 打开“用户和计算机”, 单击dc.example.lan并确保代理计算机帐户现在出现在“计算机”树节点

  6. 重新启动proxy.example.lan VM。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏