在我发布这个问题之前,我在网上阅读了几个设置指南,鱿鱼docs,c-icap docus和ICAP RFC(3507)。 不幸的是,SQUID和C-ICAP的文档在涉及到URL过滤方面并没有提供太多的例子,只是涉及到使用ClamAv的简单设置。
所以,我想弄清楚如何使用Squid和C-ICAP服务器设置简单的URL过滤。 具体来说,我开始尝试使用SquidGuard数据库(而不是Squidguard程序)作为黑名单的来源。 我有Squid设置和运行(代理)就好了,我有C-ICAP设置和运行(响应选项请求)就好了。 不过,我不知道为什么URL过滤没有运行,因为我已经尽可能地遵循了这些示例。
对于ICAP,我的squid.conf设置如下:
#Icap Options icap_enable on icap_service svcBlocker reqmod_precache icap://127.0.0.1:1344/srv_url_check bypass=off
在c-icap.conf文件的底部,我已经包含了我想要使用的icap服务:
# End module: ldap_module #URL Check Services Include srv_url_check.conf
我已经按照c-icap文档设置了srv_url_check.conf文件:
# Default: #None set #Example: url_check.LoadSquidGuardDB audio-video /home/dranfu/Downloads/blacklists/audio-video/
当我向C-ICAP发送选项请求时,它工作正常:
ICAP server:localhost, ip:127.0.0.1, port:1344 OPTIONS: Allow 204: Yes Preview: 1024 Keep alive: Yes ICAP HEADERS: ICAP/1.0 200 OK: Methods:RESPMOD, REQMOD Service:C-ICAP/0.2.4 server - Echo demo service ISTag:CI0001-XXXXXXXXX Transfer-Preview:* Options-TTL:3600 Date:Tue, 26 Feb 2013 10:57:13 GMT Preview:1024 Allow:204 X-Include:X-Authenticated-User, X-Authenticated-Groups Encapsulated:null-body=0
但是,当我发送一个标准的Web请求到黑名单上的网站时,我得到一个相当空的回应:
/usr/local/c-icap/bin/c-icap-client -p 8080 -req http://mp3.com.au ICAP server:localhost, ip:127.0.0.1, port:8080
而且,我仍然可以代理到网站没有问题。 所以,如果任何人有使用URL过滤设置纯C-ICAP的鱿鱼的经验,那么有什么帮助或基本指导如何得到这个工作是非常棒的。 文档太稀less了,至less对我来说,是要弄清楚是哪里出了问题。 毫无疑问,这是我错过了,但。
还有一些专门为ICAP网页过滤而devise的解决scheme,以鱿鱼网站( http://www.squid-cache.org/Misc/icap.html),qlproxy为例。 build立ICAP可能比C-ICAP更容易。
我正在尝试做同样的事情。 我成功configuration了c-icap来阻止请求。
你的srv_url_check.conf似乎不完整。 我的configuration如下:
Service urlcheck /usr/lib/x86_64-linux-gnu/c_icap/srv_url_check.so url_check.LookupTableDB denyhosts url hash:/etc/c-icap/denyhosts.txt "Denied Host" url_check.Profile denyProfile block denyhosts url_check.ProfileAccess denyProfile all
文件denyhosts.txt是一个简单的文本文件。 每行应包含一个要阻止的主机,如:
mp3.com.au xvideos.com sex.com
最后,你应该把acl all src 0.0.0.0/0.0.0.0注释到c-icap.conf 。
启动你的c-icap服务器,如/usr/bin/c-icap -D -N -d 1 (根据需要调整日志级别(-d)),并用/usr/bin/c-icap-client -s url_check -req http://sex.com -v -d 1 。
作为回应,您将收到:
ICAP HEADERS: ICAP/1.0 200 OK Server: C-ICAP/0.4.2 Connection: keep-alive ISTag: CI0001-XXXXXXXXX X-ICAP-Profile: denyProfile X-Attribute: denyhosts X-Attribute-Prefix: 7 X-Response-Info: BLOCKED X-Response-Desc: URL category denyhosts is BLOCKED Encapsulated: res-hdr=0, res-body=108 RESPMOD HEADERS: HTTP/1.0 403 Forbidden Server: C-ICAP Content-Type: text/html Connection: close Content-Language: en
这是我迄今为止所做的…