配置SquidGuard,启用内容规则和分析squid日志 - 第6部分

在这篇文章中,我们将在一个工作的squid环境中集成squidguard来实现黑名单规则和代理服务器上的内容控制。

一个联邦经济竞争法 (Linux基金会认证工程师 )是一家专业谁拥有安装,管理,并在Linux系统解决网络服务所需的技能,并负责设计,执行和系统架构整体的持续维护。

为Squid配置SquidGuard

Linux基础认证工程师 - 第6部分

Linux基础认证计划简介。

在以前的文章中,我们讨论了如何安装Squid + squidGuard的 ,以及如何配置Squid,妥善处理或限制访问请求。 请确保你浏览这两个教程,安装squid和squidGuard之前,他们设置的背景和我们将涵盖的上下文在这篇文章:集成squidguard在一个工作的squid环境中实现黑名单规则和内容控制代理服务器。

要求

  1. 安装Squid和SquidGuard - 第1部分
  2. 配置具有受限访问的Squid代理服务器 - 第5部分

什么可以/不能使用SquidGuard?

虽然squidGuard肯定会提升和增强squid的功能,重要的是要强调它可以和它不能做什么。

squidGuard可用于:

  1. 将一些用户的允许的web访问限制为仅接受的/众所周知的web服务器和/或URL的列表,而拒绝对其他被列入黑名单的web服务器和/或URL的访问。
  2. 阻止对与某些用户的正则表达式或单词列表匹配的网站(通过IP地址或域名)的访问。
  3. 要求使用域名/禁止在网址中使用IP地址。
  4. 将被阻止的网址重定向到错误或信息页。
  5. 使用基于一天中的时间,星期几,日期等的不同的访问规则。
  6. 为不同的用户组实施不同的规则。

但是,squidGuard和squid都不能用于:

  1. 分析文档中的文本并在结果中执行操作。
  2. 在HTML代码中检测或阻止嵌入式脚本语言(如JavaScript,Python或VBscript)。

黑名单 - 基础

黑名单是squidGuard的的一个重要组成部分。 基本上,它们是纯文本文件,将允许您基于特定的关键字实现内容过滤器。 同时有免费的和商业的黑名单,你可以找到下载链接squidGuard的黑名单项目的网站。

在本教程中我将告诉你如何整合提供的黑名单莎乌拉安全服务到您squidGuard的安装。 这些黑名单是免费的个人/非商业用途,并每天更新。 它们包括,截至今日,超过170万项。

为了方便起见,我们创建一个目录来下载黑名单包。

# mkdir /opt/3rdparty
# cd /opt/3rdparty 
# wget http://www.shallalist.de/Downloads/shallalist.tar.gz

最新的下载链接始终可用,如下所示。

下载Squid的黑名单

下载Squidguard黑名单

解包新下载的文件后,我们将浏览到黑名单(BL)的文件夹。

# tar xzf shallalist.tar.gz 
# cd BL
# ls
Squidguard黑名单Squid的域

Squidguard黑名单域

你可以认为在LS作为再版类别的输出中显示的目录,及其相应的(可选)子目录子,降一路下跌到特定的URL和域,这是在文件URL分别列出。 有关详细信息,请参阅下图。

Squid黑名单Urls域

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

配置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日志

分析Squid日志

删除限制

如果由于某种原因,你需要启用已被封锁在过去的一个类别,删除在/ var相应的目录/ lib目录/ squidGuard的/ db和注释(或删除)在squidguard.conf文件相关的ACL。

例如,如果要启用由anonvpn类别列入黑名单的域名和网址,则需要执行以下步骤。

# rm -rf /var/lib/squidguard/db/anonvpn

而如下编辑squidguard.conf文件。

从Squid黑名单中删除域

删除Squid黑名单

请注意,部分以黄色突出显示在之前已在AFTER被删除。

将特定域和URL列入白名单

偶尔,你可能要允许某些URL域名 ,而不是一个完整的黑名单目录。 在这种情况下,你应该创建一个名为myWhiteLists(或任何名称你选择),并在插入所需的URL 的/ var / lib中/ squidGuard的/分别命名URL和域,文件DB / myWhiteLists。

然后,如前所述初始化新的内容规则,

# squidGuard -C all

和修改squidguard.conf如下。

删除Squid黑名单中的域名网址

删除Squid黑名单中的域名网址

与以前一样,以黄色突出显示的部分表示需要添加的更改。 注意,myWhiteLists串必须首先与通启动排。

最后,记住重新启动Squid以便应用更改。

结论

遵循本教程中概述的步骤后,您应该有一个强大的内容过滤器和URL重定向器与您的Squid代理一起工作。 如果你在安装/配置过程中遇到任何问题或有任何问题或意见,你可能要参考squidGuard的的web文档 ,但总觉得用下面的表格我们写信,我们将尽快回复您可能。