实战ssl-bump,实现squid的url过滤功能

使用代理服务器squid,想实现url过滤,禁止访问某个url,我们自然就想到了使用url_regex,可以使用正则对url进行过滤

比如说我们要禁止使用百度搜索,可使用下面的过滤

acl deny_url  url_regex //www\.baidu\.com/s
http_access deny deny_url

但是实际运行发现这个功能对https网站不起作用,对于https网站,url只能得到www.baidu.com:443这样的形式,由于ssl的限制无法得到正确的url。

要得到正确的url,必须使用ssl-bump,原理自己查资料,这里只讲实际操作

参照https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit

1.创建动态证书存放目录

cd /etc/squid
mkdir ssl_cert
chown squid:squid ssl_cert
chmod 700 ssl_cert
cd ssl_cert

2.创建自签名证书

openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes -x509 -extensions v3_ca -keyout myCA.pem  -out myCA.pem

3.创建浏览器证书

openssl x509 -in myCA.pem -outform DER -out myCA.der

4.创建并初始化证书缓存目录

/usr/lib64/squid/ssl_crtd -c -s /var/lib/ssl_db -M 4MB
chown squid:squid -R /var/lib/ssl_db

ssl_crtd 的目录可能有变化,需要自己去查找

5.设置ssl-bump对象文件

vi /etc/squid/ssl_cert/bump_sites.txt

输入

www.baidu.com

6.修改conf

http_port 8000 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl_cert/my.pem

# Bumped requests have relative URLs so Squid has to use reverse proxy
# or accelerator code. By default, that code denies direct forwarding.
# The need for this option may disappear in the future.

always_direct allow all
acl bump_sites dstdomain "/etc/squid/ssl_cert/bump_sites.txt"

#ssl_bump none broken_sites
#ssl_bump bump all
acl step1 at_step SslBump1

ssl_bump peek step1
ssl_bump bump bump_sites

启动后,文章最上面url_regex就能生效了

***********注意***********

一定要关闭selinux,否则会出错

The ssl_crtd helpers are crashing too rapidly

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值