配置squid集成域身份认证

终于有时间测试一下squid的域身份认证了,之前一直使用iptables来通过IP地址做的代理访问权限控制,而使用哪种方法是根据各个公司内部的具体需求来决定的。

首先明确一下需求,配置squid使它能支持域用户认证,如果可能的话,使用集成windows身份认证,这样域用户登录计算机后,不需要输入密码就可以使用,做到用户端透明,除非用户未使用域用户登录才会弹出需要输入帐户密码。

先放狗搜了一圈,大致确定了方向,使用samba和krb5做帐户认证,用squid来调用即可。

1、本文使用CentOS5.6系统,先安装需要的软件

yum install squid samba ntp

安装ntp是为了同步时间用的,如果squid的时间和域控制器时间相差太多,在以下配置中会出错。

同步时间的命令

ntpdate clock.redhat.com

2、修改hosts文件,把计算机名以及计算机全名设置好,本例域为test.local

vi /etc/hosts 127.0.0.1 squid squid.test.local localhost

3、修改dns,使用域控制器的DNS

vi /etc/resolv.conf nameserver 192.168.1.100

4、修改/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 = TEST.LOCAL #改成你自己的域名 dns_lookup_realm = false dns_lookup_kdc = true #这里需要把原来的false改成true ticket_lifetime = 24h forwardable = yes [realms] TEST.LOCAL = { #改成你自己的域名 kdc = 192.168.1.100:88 #改成域控制器的IP admin_server = 192.168.1.100:749 #改成域控制器的IP default_domain = TEST.LOCAL #改成你自己的域名 } [domain_realm] .test.local = TEST.LOCAL #改成你自己的域名 test.local = TEST.LOCAL #改成你自己的域名 [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false }

修改完毕可以使用以下名来验证,输入正确的密码就不报错(就是啥显示也没有),输入错误的就会报错

net ads join -U [email protected]

注意,这里的TEST.LOCAL也必须要全部大写,否则也会报错。

5、修改samba配置文件,以下只贴出来有变化或没有的

workgroup = TEST server string = squid security = ads realm = TEST.LOCAL password server = 192.168.1.100 winbind use default domain = yes encrypt passwords = yes idmap gid = 10000 - 20000 idmap uid = 10000 - 20000 os level = 20 dns proxy = no

6、加入域

net ads join -U [email protected]

然后输入密码就可以了,检测是否成功加入域的方法
wbinfo -t #测试域连接 wbinfo -u #列出所有用户 wbinfo -g #列出所有组 tlm_auth --username=administrator #测试ntlm_auth验证密码

7、配置NSS,在/etc/nsswitch.conf找到以下两行,在后面添加winbind即可

passwd: files winbind group: files winbind

8、修改squid配置文件,因为要做组验证,还需要在域控制器上添加一个名为internet的组,并添加好相应人员

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=TEST.LOCAL\\internet auth_param ntlm children 5 auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=TEST.LOCAL\\internet auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 5 hours acl NTLMUsers proxy_auth REQUIRED http_access allow all NTLMUsers

里面有两个TEST.LOCAL替换成你自己的就行了,如果要替换组,把后面的internet替换成你自己的组就行了

记得在规则里看好配置,如果你之前就有了一条deny,那这些配置是不会生效的,需要把http_access deny all放到最后
另外,要让干净的squid配置文件无错,还需要增加以下几行
cache_mgr [email protected] visible_hostname squid.test.local

然后把squid服务重启一下就完成了,最后别忘了把squid、smb、winbind这几个服务设置成自动运行。

原文地址:https://www.cnblogs.com/studio313/p/9893013.html

时间: 2024-10-09 02:57:26

配置squid集成域身份认证的相关文章

jumpserver配置ldap集成windows AD认证

开源堡垒机jumpserver现在最新到1.3.3了:功能越来越强大了,支持windows和linux登录审计.录屏.操作记录等功能,推荐使用,安装步骤看以下官方链接.http://docs.jumpserver.org/zh/docs/step_by_step.html由于用户数较多,公司有AD环境,就想着直接集成AD做登录验证了.windows AD架构,AD活动目录域:test.com 用户test属于ou [TestOu] ad服务器:192.168.1.1注意LDAP属性映射这里修改成

上网行为管理AD域集成windos身份验证SSO单点登录

一.背景需求 在大型公司项目上会使用到AD域集成windos身份验证SS0单点登录,而不同用户有不同的环境,不同环境就会有不同的验证需求,使用微软AD域进行用户身份验证,会经常出现在客户的需求中. 二.网域上网行为管理集成windos身份验证功能. 什么是AD域集成windos身份验证了?就是基于windos系统的电脑端都需要加入到AD域或者这些没有加入到AD域的windos系统的电脑必须要通过AD域的用户验证信息才能上网.为什么大型企业需要windos身份验证?通过windos身份验证分配给每

细说ASP.NET Windows身份认证

上篇博客我谈到了一些关于ASP.NET Forms身份认证方面的话题,这次的博客将主要介绍ASP.NET Windows身份认证. Forms身份认证虽然使用广泛,不过,如果是在 Windows Active Directory 的环境中使用ASP.NET, 那么使用Windows身份认证也会比较方便. 方便性表现为:我们不用再设计登录页面,不用编写登录验证逻辑.而且使用Windows身份认证会有更好的安全保障. 回到顶部 认识ASP.NET Windows身份认证 要使用Windows身份认证

WebAPI 身份认证解决方案——Phenix.NET企业应用软件快速开发平台.使用指南.21.WebAPI服务(一)

21   WebAPI服务 ASP.NET Web API,是微软在.NET Framework 4.5上推出的轻量级网络服务框架,虽然作为ASP.NET MVC 4的一部分,但却是一套全新的.独立的服务平台开发框架,可支持多种(包括移动)客户端的访问,非常适合于网络平台应用的开发. Phenixヾ在ASP.NET Web API服务框架.及其自身业务框架(封装CSLA)基础上,为跨平台应用系统的实现提供了全面的数据服务,并为服务访问提供了身份认证.权限验证等辅助功能. 21.1   启动服务

Java利用jcifs集成AD域用户认证

最近一段时间发现AD这东西老火了,尤其是涉及到安全这一方面的,所以AD域用户认证成了现在网络安全方面的产品必备!这里就简单的分享一下,Java通过jcifs集成AD域用户实现认证,以实现网络安全! 我们通过一个demo来看看jcifs实现SSO,SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一 个用户的登录的机制.它是目前比较流行的企业业务整合的解决方案之一. 第

TCP WRAPPERS、denyhosts软件的安装和配置、PAM身份认证模块应用

一.TCP WRAPPERS 1.TCP WRAPPERS的作用是什么? 保护服务器的一些服务,可以限制客户端访问这些服务. TCP WRAPPERS支持那些服务?判断一个服务是否支持TCP WRAPPERS的保护有那些方法? 查看该服务是否加载libwrap,查看该服务是不是基于xinetd服务. ssh ,vsftpd,telnet,http(不支持wrap模块)ipop3 2.检查服务是否支持被TCP WRAPPERS保护 3.防护规则存放在 /etc/hosts.allow /etc/h

SharePoint 2013 配置基于表单的身份认证

前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处web.config即可.下面,让我们以图文的方式了解创建的具体过程吧. 使用微软提供的工具,创建数据库,找到Framework64下的aspnet_regsql,如下图: 这里我发现C:\Windows\Microsoft.NET\Framework64的v2.0.50727路径下和v4.0.303

思科路由器配合域内Radius服务器完成VPN用户身份认证

背景介绍: 公司有一个域环境,路由器Wan地址为:a.b.c.d,Lan地址为:192.168.30.1,其余服务器地址如图所示,其中VPN服务器需要2块网卡,第2块网卡的地址为172.16.0.1使用NAT转换通过192.168.30.5访问外网,给使用VPN登陆的客户端指定IP地址为10.0.0.1-10.0.0.100,为了方便管理,实现账号的单一登陆,搭建了Radius服务器,下面就来介绍如何使用思科路由器配合域内Radius服务器完成VPN用户身份认证. 路由器设置: 登陆路由器,首先

IT人员必备linux安全运维之Ssh用途、安全性、身份认证以及配置……【转】

SSH一般用途 提供shell,解决telnet不安全的传输 1.修改默认ssh默认端口 vi /etc/ssh/sshd_config 修改之后重启 >systemctl restart sshd SSH安全性和配置最佳实践 1.配置root无法shh登陆 > vi /etc/ssh/sshd_config 配置完成后,重启ssh服务 在连接就不生效了,提示拒绝密码 2. SSH访问控制(限制网段) vi /etc/hosts.deny 拒绝所有 连接不上 拒绝192.168.1网段ssh