该项目的目的是强制安全搜索主要搜索引擎。
我设法安装Squid(版本3.3)和SquidGuard,将Squid配置为透明代理并使用SSL拦截......
我设法在Google,Yahoo和Bing上强制执行安全搜索,但我无法与Duckduckgo一起找到任何合理的解释(无论是我自己还是在网络上)。
我的Squid.conf是:
acl localnet src 192.168.1.0/24 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machin$
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 engines dstdomain .yahoo.com
acl engines dstdomain .duckduckgo.com
acl engines dstdomain .google.com
acl engines dstdomain .bing.com
cache deny all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
log_access allow all
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
url_rewrite_children 500
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3129
http_port 3128 intercept
https_port 3130 intercept ssl-bump connection-auth=off generate-host-certificates=on cert=/etc/squid/control.com.au.pem key=/etc/squid/control.com.au.pem cipher=ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:RC4-SHA:HIGH:!aNull:!MD5:!ADH
ssl_bump none localhost
ssl_bump server-first engines
#ssl_bump server-first all
ssl_bump none all
always_direct allow all
sslproxy_cert_error deny all
sslproxy_flags DONT_VERIFY_PEER
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
SquidGuard中的重写规则是:
rewrite engines {
s@.*bing.com/search.*@&\&adlt=strict@i
s@.*bing.com/images.*@&\&adlt=strict@i
s@.*bing.com/videos.*@&\&adlt=strict@i
s@.*au.search.yahoo.com.*@&\&vm=r@i
s@.*duckduckgo.com.*@&\&kp=1@i
s@.*google.com.au.*@1&safe=strict@i
s@.*google.com.*@1&safe=strict@i
s@.*bing.com.*@&\&adlt=strict@i
}
我很确定squidGuard重写规则很好,因为如果我更改Squid配置以拦截所有 SSL通信,那么 duckduckgo.com将被强制执行。 问题是我应该输入什么而不是:
acl engines dstdomain .duckduckgo.com
____
提前致谢
答案 0 :(得分:1)
我敢打赌,在2015年6月23日之后,上述内容对SquidGuard不起作用
“2015年6月23日,Google搜索服务将所有搜索结果移至SSL加密后。这意味着所有搜索结果将使用”https“提供,并在网络浏览器中显示安全挂锁。”
现在许多学校和企业都很生气,他们正在使用:
“'SSL拦截'功能可以在Google实施更改后拦截和过滤Google搜索结果。这也可以随后解决已经转移到SSL的其他Google服务(如YouTube)的现有问题。”
答案 1 :(得分:0)
您可以通过设置:
强制透明搜索google(http和https)rsp
完成!!!!它有效。
EXTRA BONUS:
如果您想要阻止所有访问以及bing和duckduckgo以及其他域名,请使用:
struct BigUdt's
这会阻止http和https上的bing和ask以及duckduckgo域。
答案 2 :(得分:0)
这是事实后的一年多一点,但我发现这个线程试图自己解决这个问题,所以这里就是这样。
在你的squid配置中,你有:
acl engines dstdomain .yahoo.com
acl engines dstdomain .duckduckgo.com
acl engines dstdomain .google.com
acl engines dstdomain .bing.com
但这意味着duckduckgo.com下面的任何子域名(即www.duckduckgo.com
,search.duckduckgo.com
),但不是duckduckgo.com
。
当我进行DDG搜索时,它只是使用https://duckduckgo.com/$search_string
,因此:
因此,简而言之,您的显式ssl-bump acl engines
与duckduckgo不匹配,因为它期望子域,而不是域本身。当您将配置更改为“全部碰撞”时,它显然会抓住它,因为它正在抓住所有内容。
如果你换这行
acl engines dstdomain .duckduckgo.com
对于这一行
acl engines dstdomain duckduckgo.com
它会起作用。