小樱 发表于 2016/5/24 14:53

用户验证方式使用squid代理服务器,为网页弹出认证框 SQ防扫验证

有时,我们使用代理服务器,由于各种原因,不希望别人共享。
可采用用户认证方式使用squid代理服务器。

在squid代理服务器安装目录新建一个文件名为passwd
添加账号密码,格式为 vi /etc/squid/passwd
root:ssbiY3prCJLxU

或者使用http://tool.oschina.net/htpasswd 来生成其他密码(注意“ERR Password too long. Only 8 characters accepted.”密码可能不能超过8个字符,上面的密码为admin123)

然后修改 vi /etc/squid/squid.conf

用户认证需要添加

auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Welcome to www.itzmx.com proxy web server
acl squid_user proxy_auth REQUIRED
http_access allow squid_user
http_access deny all

注释:
第一行:选择的认证方式为basic,认证程序路径和密码文件路径。
第二行:认证程序的进程数
第三行:认证领域内容,上面定义的web浏览需要输入用户密码所展示的信息
第四,五行:设置允许认证的用户访问
第六行:禁止非认证用户访问


图片参考



重启服务

service squid restart


注意:如果不能自动登录用户密码,会导致app等无法使用。

syee 发表于 2016/5/27 01:11

vultr
do
这俩vps都没有25端口

小樱 发表于 2016/5/27 01:22

syee 发表于 2016/5/27 01:11
vultr
do
这俩vps都没有25端口

有的,需要清理下防火墙规则即可。帖子的开源教程默认清理了。

syee 发表于 2016/5/27 09:11

小樱 发表于 2016/5/27 01:22
有的,需要清理下防火墙规则即可。帖子的开源教程默认清理了。

你说的是vultr的centos安装吗

小樱 发表于 2016/5/27 15:48

syee 发表于 2016/5/27 09:11
你说的是vultr的centos安装吗

是啊

syee 发表于 2016/5/27 17:15

小樱 发表于 2016/5/27 15:48
是啊

按照你的教程两个系统都试了
最后在线端口扫描的时候,只有22端口是开的

xlaptx 发表于 2016/5/27 19:45

iptables -I INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables-save

我是老刘 发表于 2016/5/29 10:00

你好,小樱
1密码能否为明文
2,你上面的密码加密是什么类型的?

小樱 发表于 2016/5/29 16:35

我是老刘 发表于 2016/5/29 10:00
你好,小樱
1密码能否为明文
2,你上面的密码加密是什么类型的?

crypt:使用crypt()加密密码。在除了Windows, Netware和TPF的平台上,这是默认的。 虽然它在所有平台上可以为htpasswd所支持, 但是在Windows, Netware和TPF上不能为httpd服务器所支持。

推荐是这个类型的,用户输入的是明文的。

tonys 发表于 2016/5/31 15:57

请问 小樱 如何取消验证 因为是个人搭建使用.

小樱 发表于 2016/5/31 16:02

tonys 发表于 2016/5/31 15:57
请问 小樱 如何取消验证 因为是个人搭建使用.

vi /etc/squid/passwd

去掉
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Welcome to www.itzmx.com proxy web server
acl squid_user proxy_auth REQUIRED
http_access allow squid_user
http_access deny all


并且新增一行
http_access allow all
然后保存退出,重启服务

service squid restart

tonys 发表于 2016/5/31 16:06

小樱 发表于 2016/5/31 16:02
vi /etc/squid/passwd

去掉


不是 vi /etc/squid/squid.conf吗?怎么是passwd呢.

小樱 发表于 2016/5/31 17:36

tonys 发表于 2016/5/31 16:06
不是 vi /etc/squid/squid.conf吗?怎么是passwd呢.

==!在打游戏,复制错了。

小樱 发表于 2016/5/31 19:50

tonys 发表于 2016/5/31 16:06
不是 vi /etc/squid/squid.conf吗?怎么是passwd呢.

你这解决了么

tonys 发表于 2016/6/1 09:35

小樱 发表于 2016/5/31 19:50
你这解决了么

解决了谢谢小樱姐..

redhatw 发表于 2016/6/14 12:01

怎样做到一个账号只允许一个终端登录?{:117:}

小樱 发表于 2016/6/14 14:36

redhatw 发表于 2016/6/14 12:01
怎样做到一个账号只允许一个终端登录?

squid好像没这个设置

仁二 发表于 2016/7/2 17:51

可以 这很露西安

小樱 发表于 2016/7/2 23:38

仁二 发表于 2016/7/2 17:51
可以 这很露西安

头像不错

jmyz_0455 发表于 2016/7/12 23:17

完全按您的做法去uo,也是vultr centos,现在 squid 能正常代理但是没有弹出验证,重启也重启过了

有什么办法检查是哪一步出了问题吗?

小樱 发表于 2016/7/13 00:34

jmyz_0455 发表于 2016/7/12 23:17
完全按您的做法去uo,也是vultr centos,现在 squid 能正常代理但是没有弹出验证,重启也重启过了

有什 ...

配置文件发上来看看,怎么写的

jmyz_0455 发表于 2016/7/13 10:58

本帖最后由 jmyz_0455 于 2016/7/13 11:01 编辑

acl manager proto cache_object

acl localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535# unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all

http_port 25
coredump_dir /var/spool/squid
refresh_pattern -i ^ftp:            525600    95% 525600 reload-into-ims
refresh_pattern -i (/cgi-bin/|\?)   0         0%0      reload-into-ims
refresh_pattern -i .                525600    95% 525600 reload-into-ims
strip_query_terms off
visible_hostname pac.itzmx.com
cache_mgr 1265578519@qq.com
cache_store_log none
cache_access_log none
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 128 MB
maximum_object_size_in_memory 128 MB
dns_nameservers 8.8.8.8 8.8.4.4
client_lifetime 1 minutes
half_closed_clients off
fqdncache_size 65535
ipcache_size 65535
ipcache_low 90
ipcache_high 95

auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 18
auth_param basic realm Welcome to LALA proxy web server
acl squid_user proxy_auth REQUIRED
http_access allow squid_user
http_access deny all

小樱 发表于 2016/7/13 17:13

jmyz_0455 发表于 2016/7/13 10:58


auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Welcome to pac.itzmx.com proxy web server
acl manager proto cache_object

acl localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535# unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
acl squid_user proxy_auth REQUIRED
http_access allow squid_user
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all

http_port 25
coredump_dir /var/spool/squid
refresh_pattern -i ^ftp:            525600    95% 525600 reload-into-ims
refresh_pattern -i (/cgi-bin/|\?)   0          0% 0      reload-into-ims
refresh_pattern -i .                525600    95% 525600 reload-into-ims
strip_query_terms off
visible_hostname pac.itzmx.com
cache_mgr 1265578519@qq.com
cache_store_log none
cache_access_log none
cache_mem 512 MB
cache_dir aufs /var/cache/squid 5000 128 128
cache_swap_low 90
cache_swap_high 95
maximum_object_size 128 MB
maximum_object_size_in_memory 128 MB
dns_nameservers 8.8.8.8 8.8.4.4
client_lifetime 1 minutes
half_closed_clients off
fqdncache_size 65535
ipcache_size 65535
ipcache_low 90
ipcache_high 95






你的加错位置了

jmyz_0455 发表于 2016/7/13 23:21

你上一句里删掉了 http_access allow all 应该没事的吧
可我完全按你的来写,能弹出输入密码框了,但是不停地弹出来要我输入,难道我连 passwd 都写错了? vi /etc/squid/passwd 打开文件,我写的是
abc:123
def:456
难道要加分号?还是什么问题

小樱 发表于 2016/7/13 23:24

jmyz_0455 发表于 2016/7/13 23:21
你上一句里删掉了 http_access allow all 应该没事的吧
可我完全按你的来写,能弹出输入密码框了,但是不 ...

完全写错了。参考使用http://tool.oschina.net/htpasswd 来生成其他密码,加密方式使用crypt

jmyz_0455 发表于 2016/7/14 15:58

小樱 发表于 2016/7/13 23:24
完全写错了。参考使用http://tool.oschina.net/htpasswd 来生成其他密码,加密方式使用crypt

可以了!谢谢小樱,这下子服务器稳定多了,这件事之后我想多留意一下服务器被谁连接过,所以我就找到了 iftop ,可惜这个软件没法指定监控进程或端口呢

有什么办法能实时指定监控 squid (按进程或25端口都行)有什么IP连接访问用以流量代理呢?

小樱 发表于 2016/7/14 17:41

jmyz_0455 发表于 2016/7/14 15:58
可以了!谢谢小樱,这下子服务器稳定多了,这件事之后我想多留意一下服务器被谁连接过,所以我就找到了 i ...

netstat -apn | grep squid
这条命令可以看到连接的ip,不过看不到ip走的流量是多少。
如果是公司服务器有软路由之类的话,可以在路由上看试试?

jmyz_0455 发表于 2016/7/15 16:28

小樱 发表于 2016/7/14 17:41
netstat -apn | grep squid
这条命令可以看到连接的ip,不过看不到ip走的流量是多少。
如果是公司服务 ...

tcp      0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      24974/(squid)      
tcp      0      0 ***.***.***.***:25          ***.***.***.**:54872      ESTABLISHED 24974/(squid)      
tcp      0      0 ***.***.***.***:25          ***.***.***.**:50730          ESTABLISHED 24974/(squid)      
tcp      0      0 ***.***.***.***:25          ***.***.***.**:2218         ESTABLISHED 24974/(squid)      
tcp      0      0 ***.***.***.***:25          ***.***.***.**:52168      ESTABLISHED 24974/(squid)      
tcp      0      0 ***.***.***.***:25          ***.***.***.**:32955      ESTABLISHED 24974/(squid)      
tcp      0      0 ***.***.***.***:25          ***.***.***.**:1764         ESTABLISHED 24974/(squid)      
tcp      0      0 ***.***.***.***:25          ***.***.***.**:2468         ESTABLISHED 24974/(squid)      
udp      0      0 0.0.0.0:34554               0.0.0.0:*                               24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259214 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259212 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259210 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259208 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259206 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259204 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259202 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259200 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259198 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259196 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259194 24974/(squid)      
unix3      [ ]         STREAM   CONNECTED   32259192 24974/(squid)      
unix2      [ ]         DGRAM                  32259165 24971/squid         


输入 netstat -apn | grep squid 后,下面一大串重复的 unix3      [ ]         STREAM   CONNECTED   32259206 24974/(squid) 是什么信息?有什么办法过滤(删)掉
看了这个 http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html 详解还是想不通怎么过滤那些信息以及那是什么信息

小樱 发表于 2016/7/15 17:04

jmyz_0455 发表于 2016/7/15 16:28
输入 netstat -apn | grep squid 后,下面一大串重复的 unix3      [ ]         STREAM   CONNEC ...

unix内部交互连接,比tcp拥有更快的速度,这个不需要管的,你没看见都没ip么

jmyz_0455 发表于 2016/7/22 09:24

好吧,用了一段时间之后发现有个问题,那就是 Android 手机很多都无法设置系统的用户验证

比如我的安卓机,一旦使用 PAC,过不久就会说请在 DemoApplication.java 中验证,搜索一下发现很多人遇到这问题都是因为百度地图的锅...可我根本没有那个啊

再比如说微信内点击链接、Google Play等不会弹出登录框的应用,都不能连上网

只有像 Chrome 这种能弹窗的才能输入密码并正常使用

这种问题有办法解决么?
页: [1] 2
查看完整版本: 用户验证方式使用squid代理服务器,为网页弹出认证框 SQ防扫验证