一个联邦经济竞争法 (Linux基金会认证工程师 )是一家专业谁拥有安装,管理,并在Linux系统解决网络服务所需的技能,并负责设计,执行和系统架构整体的持续维护。
Linux基础认证工程师 - 第6部分
Linux基础认证计划简介。
在以前的文章中,我们讨论了如何安装Squid + squidGuard的 ,以及如何配置Squid,妥善处理或限制访问请求。 请确保你浏览这两个教程,安装squid和squidGuard之前,他们设置的背景和我们将涵盖的上下文在这篇文章:集成squidguard在一个工作的squid环境中实现黑名单规则和内容控制代理服务器。
要求
什么可以/不能使用SquidGuard?
虽然squidGuard肯定会提升和增强squid的功能,重要的是要强调它可以和它不能做什么。
squidGuard可用于:
- 将一些用户的允许的web访问限制为仅接受的/众所周知的web服务器和/或URL的列表,而拒绝对其他被列入黑名单的web服务器和/或URL的访问。
- 阻止对与某些用户的正则表达式或单词列表匹配的网站(通过IP地址或域名)的访问。
- 要求使用域名/禁止在网址中使用IP地址。
- 将被阻止的网址重定向到错误或信息页。
- 使用基于一天中的时间,星期几,日期等的不同的访问规则。
- 为不同的用户组实施不同的规则。
但是,squidGuard和squid都不能用于:
- 分析文档中的文本并在结果中执行操作。
- 在HTML代码中检测或阻止嵌入式脚本语言(如JavaScript,Python或VBscript)。
黑名单 - 基础
黑名单是squidGuard的的一个重要组成部分。 基本上,它们是纯文本文件,将允许您基于特定的关键字实现内容过滤器。 同时有免费的和商业的黑名单,你可以找到下载链接squidGuard的黑名单项目的网站。
在本教程中我将告诉你如何整合提供的黑名单莎乌拉安全服务到您squidGuard的安装。 这些黑名单是免费的个人/非商业用途,并每天更新。 它们包括,截至今日,超过170万项。
为了方便起见,我们创建一个目录来下载黑名单包。
# mkdir /opt/3rdparty # cd /opt/3rdparty # wget http://www.shallalist.de/Downloads/shallalist.tar.gz
最新的下载链接始终可用,如下所示。
下载Squidguard黑名单
解包新下载的文件后,我们将浏览到黑名单(BL)的文件夹。
# tar xzf shallalist.tar.gz # cd BL # ls
Squidguard黑名单域
你可以认为在LS作为再版类别的输出中显示的目录,及其相应的(可选)子目录子,降一路下跌到特定的URL和域,这是在文件URL和域分别列出。 有关详细信息,请参阅下图。
SquidGuard黑名单Urls域
安装黑名单
全包黑名单安装,或个别类别的,通过复制BL目录分别进行,或者它的一个子目录,以在/ var / lib中/ squidGuard的/ db目录。
当然你可以下载黑名单压缩包到这个目录摆在首位,但该方法前面解释给你更好地控制哪些类别应阻止(或没有)在特定的时间。
接下来,我将告诉你如何安装anonvpn, 黑客和聊天黑名单,以及如何配置squidGuard的使用它们。
第1步 :递归复制anonvpn, 黑客攻击 ,并从聊天 的/ opt /的3rdParty / BL到/ var / lib中/ squidGuard的/ DB目录。
# cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db # cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db # cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db
第2步 :使用域名和网址文件创建squidGuard的的数据库文件。 请注意,下面的命令将创建名为.db所有已安装的黑名单文件的工作-甚至当某一类有2个以上的子类别。
# squidGuard -C all
第3步:更改到/ var / lib中/ squidGuard的/ DB /目录的所有权以及其内容的代理用户,以便squid可以读取数据库文件。
# chown -R proxy:proxy /var/lib/squidguard/db/
第4步:配置Squid使用squidGuard的。 我们将使用squid的url_rewrite_program指令在/etc/squid/squid.conf中告诉Squid使用squidGuard的一个URL重写/重定向。
添加以下行的squid.conf,确保在/ usr /斌/ squidGuard的是你的情况正确的绝对路径。
# which squidGuard # echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf # tail -n 1 /etc/squid/squid.conf
配置Squid以使用SquidGuard
第5步 :添加必要的指令来squidGuard的配置文件(位于/etc/squidguard/squidGuard.conf)。
请参考上面的截图,下面的代码进一步澄清。
src localnet { ip 192.168.0.0/24 } dest anonvpn { domainlist anonvpn/domains urllist anonvpn/urls } dest hacking { domainlist hacking/domains urllist hacking/urls } dest chat { domainlist chat/domains urllist chat/urls } acl { localnet { pass !anonvpn !hacking !chat !in-addr all redirect http://www.lds.org } default { pass local none } }
第6步 :重新启动Squid和测试。
# service squid restart [sysvinit / Upstart-based systems] # systemctl restart squid.service [systemctl-based systems]
在本地网络中的客户端,打开网页浏览器,浏览到的任何黑名单的文件中发现一个网站(域名或网址-我们将使用http://spin.de/在下面的示例聊天),你会被重定向到另一个URL,www.lds.org在这种情况下。
您可以验证请求到代理服务器制成,但被拒绝(301 HTTP响应- 移动永久性的 ),被重定向到www.lds.org代替。
分析Squid日志
删除限制
如果由于某种原因,你需要启用已被封锁在过去的一个类别,删除在/ var相应的目录/ lib目录/ squidGuard的/ db和注释(或删除)在squidguard.conf文件相关的ACL。
例如,如果要启用由anonvpn类别列入黑名单的域名和网址,则需要执行以下步骤。
# rm -rf /var/lib/squidguard/db/anonvpn
而如下编辑squidguard.conf文件。
删除Squid黑名单
请注意,部分以黄色突出显示在之前已在AFTER被删除。
将特定域和URL列入白名单
偶尔,你可能要允许某些URL或域名 ,而不是一个完整的黑名单目录。 在这种情况下,你应该创建一个名为myWhiteLists(或任何名称你选择),并在插入所需的URL和域 的/ var / lib中/ squidGuard的/分别命名URL和域,文件DB / myWhiteLists。
然后,如前所述初始化新的内容规则,
# squidGuard -C all
和修改squidguard.conf如下。
删除Squid黑名单中的域名网址
与以前一样,以黄色突出显示的部分表示需要添加的更改。 注意,myWhiteLists串必须首先与通启动排。
最后,记住重新启动Squid以便应用更改。
结论
遵循本教程中概述的步骤后,您应该有一个强大的内容过滤器和URL重定向器与您的Squid代理一起工作。 如果你在安装/配置过程中遇到任何问题或有任何问题或意见,你可能要参考squidGuard的的web文档 ,但总觉得用下面的表格我们写信,我们将尽快回复您可能。