dansguardian能真正实现内容过滤,不仅能过滤网站,URL,还能过滤网页里包含的一些词、还有mime类型等。DansGuardian中有一些鉴别文档,类似黑白名单,可以向相应的文档里输入所要控制的相应内容,再重启DansGuardian即可生效。

工作原理:

dansguardian默认监听8080端口,默认的squid代理端口为3128,dansguardian将得到的http请求转发给squid,然后再从squid将响应转发给用户,在这个过程中进行过滤。

安装过程:

1) tar -zxvf dansguardian-2.6.1-13.source.tar.gz

2) cd dansguardian-2.6.1

3) ./configure

4) make

5) make install

安装完成后,在启动之前可以编辑/etc/dansguardian/dansguardian.conf

同时加上iptables规则:

iptables -t nat -A PREROUTING -s 192.168.0.xxx/32 -i eth1 -p tcp --dport 80 -j REDIRECT --to-dports 8080

启动dansguardian:

1) 手工启动:service dansguardian start

2) 系统启动:chkconfig dansguardian on

配置文件:

dansguardian配置文件默认路径:/etc/dansguardian

相关配置文件如下:

bannedextensionlist -- 禁止的文件扩展名列表

bannediplist -- 禁止的ip访问列表

bannedmimetypelist -- 禁止的mime类型列表

bannedphraselist -- 禁止的关键字列表(整个页面)

bannedregexpurllist -- 禁止带有关键字的url列表

bannedsitelist -- 禁止域名列表(域名下所有的网页)

bannedurllist -- 禁止域名下的部分网页

banneduserlist -- 禁止代理认证中的用户

contentregexplist -- 关键字替换列表

dansguardian.conf -- dansguardian的配置文件

exceptioniplist -- ip白名单,不过滤

exceptionphraselist -- 关键字白名单

exceptionsitelist -- 站点白名单

exceptionurllist -- url白名单

exceptionuserlist -- 用户白名单

logrotation -- 自调用文件

messages -- 用于页面显示哪种阻止信息,在dansguardian.conf中调用

phraselists -- 是供weightedphraselist等调用的文件夹

pics/ -- PICS过滤

template.html -- dansguardian的阻止页面信息

weightedphraselist -- 短语权重列表

# DansGuardian.conf
# 拒绝 Web 访问报告
# -1 = 做日记但不阻止-秘密模式
# 0 = 只是说"拒绝访问"
# 1 = 报告为什么但是不报告什么关键词阻止
# 2 = 完全报告
# 3 = 用 HTML 模式文件(突略拒绝访问地址)-推进
reportinglevel = 3
# 全局语言贮存的语言目录,只是用于reportinglevel=3时的HTML模式,
# 当被用,DansGuardian 将用html文件代替用perl cgi脚本来显示,这个
# 选项更快更清晰更容易让访问者访问被阻止的页面
# 语言文件用于没有问题的任何设置
languagedir = '/etc/dansguardian/languages'
# 从语言目录中运用的语言
language = 'ukenglish'
# 日记设定
# 0 = none 1 = just denied 2 = all text based 3 = all request
loglevel = 2
# 记录扩展命中
# 记录如扩展(用户、ip、URL、关键词)匹配因此让这个页面通过,非常有用于诊断
# 怎样的站点可以通过过滤器
# on | off
logexceptionhits = on
# 日记文件格式
# 1 = DansGuardian format 2 = CSV-style format
# 3 = Squid Log File Format 4 = Tab delimited
logfileformat = 1
# 本地日记文件
# 定义日记目录和文件名
loglocation = '/var/log/dansguardian/access.log'
# 网络设置
# DansGuardian 侦听的IP。保留空着DansGuardian将侦听所有的IPs。
# 通常你都会让你的防火墙保护这些,但是当你只是限制1个IP,单单时一。
filterip =
# DansGuardian 侦听的端口
filterport = 8080
# 代理服务器的IP(缺省是环回网卡ip-i.e. 这是服务器)
proxyip = 127.0.0.1
# DansGuardian 连接到代理服务器的端口
proxyport = 3128
# accessdeniedaddress是cgi dansguardian 报告脚本的web服务器的地址被拷贝
# 如果你不用到cgi就不要更改缺省
accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'
# 非标准分隔符(仅用于accessdeniedaddress)
# 缺省是激活但可以返回用原始标准模式去disable
nonstandarddelimiter = on
# 禁止image交换
# Images 被禁止是由于domain/url/etc的原因包含了广告黑名单将被交换
# 例如,掩藏广告images和删除非法的image
# icons禁止域名
# 0 = off
# 1 = on (default)
usecustombannedimage = 1
custombannedimagefile = '/etc/dansguardian/transparent1x1.gif'
# 组过滤选项
# filtergroups设置组过滤器的数量。组过滤器是设置包含过滤器选项应用于这个组的用户。
# 这个参数变量必须是1或者更多
# DansGuardian 将自动查找dansguardianfN.conf 当N是这个过滤器的组。用filtergroupslist
# 选项来分配用户到组。所有的用户缺省是属于过滤器组1。你必须有一些鉴别分类能够让用
# 户到组的匹配。尽可能少的用更多的组过滤器更多的拷贝清单
filtergroups = 1
filtergroupslist = '/etc/dansguardian/filtergroupslist'
# 本地鉴别文件
bannediplist = '/etc/dansguardian/bannediplist'
exceptioniplist = '/etc/dansguardian/exceptioniplist'
banneduserlist = '/etc/dansguardian/banneduserlist'
exceptionuserlist = '/etc/dansguardian/exceptionuserlist'
# 展示有利的关键词建立
# 如果激活则只要报告的标准够高所有超越不规则限制关键词建立将被记录,
# on | off
showweightedfound = on
# 有利的关键词的模式
# 下边是3种可能模式的选项:
# 0 = off = 不用关键词的特征
# 1 = on, normal = 通用的关键词选项
# 2 = on, singular = 每个有用的关键词建立在一个页面中只是一次
weightedphrasemode = 2
# 真实报告caching的文本URLs
# 好的caches页面就不需要再次检测
# 0 = off (推荐用户不同的浏览ISPs)
# 1000 = 推荐多数用户
# 5000 = 暗示最多上限
urlcachenumber = 1000
# 在多少秒过期在他们不活动和将被突略
# 0 = never
# 900 = recommended = 15 mins
urlcacheage = 900
# 敏捷和未处理的关键词内容过滤选项
# Smart 是多样的空间和HTML将删除在关键词过滤之前
# Raw 是rew的HTML包含meta标记将过滤关键词
# 0 = raw only
# 1 = smart only
# 2 = both (default)
phrasefiltermode = 2
# 小写选项
# 为了比较关键词当文件中检查到大写字母时将更改为小写
# 然而这将违背Big5和16-bit文本,如果需要保护大小写
# 2.7.0版本的支持这个功能
# 0 = 强制更改为小写 (default)
# 1 = 不做任何改变
preservecase = 0
# 16进制解码选项
# 当文件检查到它会随意的更改%XX成chars
# 如果你发现文件在过滤关键词时让其通过是由于编码则enable
# 然而这将违背Big5和16-bit文本
# 0 = disabled (default)
# 1 = enabled
hexdecodecontent = 0
# Force Quick搜索好于DFA搜索算法
# 通常的DFA执行不是和16-bit字符完全一致,但是它作为缺省是因为它管理很大
# 关键词的列表时很快,如果你希望用很大数量的6-bit字符关键词则激活这选项
# 0 = off (default)
# 1 = on (Big5 compatible)
forcequicksearch = 0
# 反向查找禁止的设置和URLs
# 如果设置为on,DansGuardian 将为IP URL地址查找forward DNS和搜索禁止设置和URL列表
# 这将防止用户简单输入IP来访问禁止的地址,如果不是用本地的DNS服务器它将稍微降低查
# 找的速度,设置它为off,用Blanket IP Block选项的bannedsitelist文件来代替
reverseaddresslookups = off
# 反向查找禁止和扩张的IP列表
# 如果设置为on,DansGuardian 将为IP连接的计算机查找forward DNS,这就意味着
# 你可以输入hostname在exceptioniplist 和 bannediplist
# 如果不是用本地的DNS服务器它将稍微降低搜索的速度,设置为off
reverseclientiplookups = off
# 创建bannedsitelist和bannedurllist cache文件
# 这将比较列表文件日戳和cache的日戳,使其得到重新创建这是必须的
# 如果bsl或bul程序的文件存在,则将被用于代替,它将增加处理300%的速度
# 在很慢的计算机上这是很有用,在很快的计算机上就不需要这个选项
# on | off
createlistcachefiles = on
# POST保护(web 上传和窗体)
# 不阻止窗体没有任何文件上传,i.e. 这是只是为了阻止和限制上传
# kibibytes在MIME encoding和header bumph标准之后
# 用 0 表示完全阻止
# 用高些(e.g. 512 = 512Kbytes)来限制
# 用-1表示不阻止
#maxuploadsize = 512
#maxuploadsize = 0
maxuploadsize = -1
# 最大内容过滤页面大小
# 有时候web服务器的二进制文本文件非常大就会消耗巨大的内存和CPU资源
# 处理这些,你可以限制文件的大小来过滤,直接让它通过
# 这设置也同样应用正规的内容扩张修改
# 大小单位为Kibibytes - e.g. 2048 = 2Mb
# 用 0 表示不限制
maxcontentfiltersize = 256
# 用户名辨别算法(用于日记记录)
# 你可以有很多的算法不仅仅是这一个,第一当这被用虽然用户名没有建立,接着将很有用
# * proxyauth 是基本的代理辨别被用(对透明代理不是有用)
# * ntlm 是当代理支持MS NTLM辨认协议(只是工作于IE5.5 sp1或者更高版本)**NOT IMPLEMENTED**
# * ident 是当其他的算法不能用作时工作,它将连接来自连接的计算机和尝试接连到identd服务器和
# query,它是用户拥有的连接
usernameidmethodproxyauth = on
usernameidmethodntlm = off # **NOT IMPLEMENTED**
usernameidmethodident = off
# 优先禁止 - 这意味你激活代理辨别和用户访问设置禁止的URL,例如他们阻止直接外出没有
# 享有的请求和通过,这影响用户的需要访问一个干净的设置,第一需它知道他们是谁甚至可以
# 是管理员
# 这就是为什么DansGuardian总是起作用但有些情况下缺少完美的,所以你可以随便disable它
# 缺省是 on,众所周知这个设置像mime类型一样结果不能这作用AD image交换工作好
preemptivebanning = on

# Misc 设置
# 如果为on它增加一个X-Forwarded-For: <clientip> HTTP请求头,这有帮助于一些设置问题
# 这需要知道源ip。on | off
forwardedfor = off
# 如果为on它用X-Forwarded-For: <clientip> 确定客户端的IP,这作用于squid介于客户端和
# DansGuardian之间
# 警告-报头容易欺骗。on | off
usexforwardedfor = off
# 如果为on它记录一些调试信息关于fork()和accept(),通常试突略的,他们试用syslog来记录的
# 它安全的设置为on或者off
logconnectionhandlingerrors = on

# Fork pool 选项
# 设置最多的进程数fork来处理进来的连接,最大变量通常是250,依赖OS
# 最大设置你可以尝试180
maxchildren = 120
# 设置最小的进程数fork来处理进来的连接
# 最大设置你可以尝试32
minchildren = 8
# 设置最小的进程数fork来处理保持真正的连接
# 最大设置你可以尝试8
minsparechildren = 4
# 设置最小的进程数fork来运行
# 最大设置你可以尝试10
preforkchildren = 6
# 设置最大的进程数来不做任何东西
# 当有空间的时候可以精选他们一些
# 最大设置你可以尝试64
maxsparechildren = 32
# 设置最大的子进程croaks的age
# 这是在他们退出之前他们处理的连接数
# 最大设置你可以尝试10000
maxagechildren = 500

# 进程选项
# (更改他们只有你真正知道你自己在干什么)
# 这些选项允许你运行DansGuardian在多种场合在单个机器上
# 记住以你的意图编辑上面日记文件路径
# IPC 文件名
# 定义IPC 服务用于log进程通信的目录和文件名
ipcfilename = '/tmp/.dguardianipc'
# URL 列表 IPC 文件名
# 定义URL列表IPC服务用于URL cache进程通信的目录和文件名
urlipcfilename = '/tmp/.dguardianurlipc'
# PID 文件名
# 定义进程id的目录和文件名
pidfilename = '/var/run/dansguardian.pid'
# 不能守护
# 如果激活,进程将不会fork运行在后台
# 它不是通常有利去做这些
# on|off ( defaults to off )
nodaemon = off
# 不启动日记进程
# on|off ( defaults to off )
nologger = off
# 守护进程运行的用户和组
# 这是DansGuardian运行时的用户,通常 user/group nobody
# 不注释的用 缺省用户在编译时定义
# daemonuser = 'nobody'
# daemongroup = 'nobody'
# 软件重启
# 当on时不会强制的杀死所有同一进程组的进程
# 这不是很困惑运行时加上 -g 的选项 他们不是很有关系
# on|off ( defaults to off )
softrestart = off

DansGuardian相关推荐

  1. Linux上杀毒软件有哪些?

    Linux平台上的杀毒软件不如Windows平台上那么普及,因为Linux操作系统本身设计得就比较安全,而且不容易感染病毒.但是随着技术的进步和恶意软件增多,Linux平台上的安全软件也越来越多,以下 ...

  2. squid+icap+clamav网关杀毒

    squid+icap+clamav网关杀毒 作者:张惠(jimzhang) QQ号:872656885 E-mail.msn:zhanghui8059@126.com 个人blog:zhanghui8 ...

  3. 绿坝预装推迟,Linux滤坝启动

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> 6 月 30 日晚 9 点左右,新华网(英文稿)抢先报道工信部关于绿坝 ...

  4. linux下windows软件的代替品

    此文为网上找到的一篇博文稍后会根据个人日常使用习惯重新分化 ,希望能对想早日进入linux下工作的朋友有些帮助 Linux下数百种 Windows 软件的免费替代品列表 程序所执行任务的描述 Wind ...

  5. windows和linux常用软件的对应

    周海汉 按: 转载自:http://www.linuxrsp.ru/win-lin-soft/table-chn.html 关于本主题,也可以参考: http://www.osalt.com/cn/ ...

  6. 如何从wondows到Linux

    人类有个先入为主的习惯,很多是都证明了这一点.当然了我们使用电脑也不例外了. 从初中开始接住电脑就看到的是windows95,到了大学才看到用同学在玩Linux,当时就的那东西真的很新奇.后来自己也在 ...

  7. linux上常用软件详细列表

    linux上常用软件详细列表     Windows软件在Linux上的等价/替代/模仿软件列表 Last update: 16.07.2003, 31.01.2005, 27.05.2005 您可在 ...

  8. [转]Linux和Windows平台软件对比表

    转自:http://www.ringkee.com/freedom/software.htm Description of the program, executed task Windows Lin ...

  9. Windows Linux 相同功能软件对应列表(转)

    原文地址:http://blog.csdn.net/thefirstwind/archive/2006/07/20/946651.aspx The table of equivalents / rep ...

最新文章

  1. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(三)
  2. 在datagrid里面生成指定的DataView ,进行过滤.把符合条件的数据显示出来
  3. boost::mpi模块all_to_all() 集合的测试
  4. 如何通过 Impex 在 SAP Commerce Cloud 创建一个新的 Component
  5. tensorflow权重初始化
  6. PKU 学生的反馈 2009 –2
  7. vue element container布局
  8. 小明用计算机算出58十35,人教版三年级数学下册第三四单元测试卷.docx
  9. 使用NFC读卡器模拟加密门禁卡方法,包含小米手环
  10. 五子棋等级考试软件的开发(五)
  11. 苹果电脑怎么读取ntfs磁盘?有哪些可以读取苹果电脑硬盘的软件?
  12. 微信公众号授权 提示内容与下载文件不符,请检查文件内容或重新上传
  13. 跨国企业如何更好地从云革命中获益?
  14. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
  15. 计算机英语趣味知识竞赛题库,2019年小学四年级英语趣味知识竞赛试题
  16. 如何做投资--入门篇
  17. 斯巴达手杖Skytail(加密)
  18. 【SAP Abap】SAP S/4 ABAP OPEN SQL中WITH的应用案例
  19. Pycharm中对代码进行注释和缩进
  20. 打破双亲委派的几种方式

热门文章

  1. stm32c语言arctan函数,全定点 快速 ATAN2 反正切函数
  2. jsp中去掉超链接下划线吗_网页中如何去掉超链接的下划线
  3. Dota2 高分段英雄热度爬虫(模拟CSRF,RSA登陆)
  4. oracle srvctl命令,用srvctl命令配置service
  5. 滑雪(动态规划)--算法学习
  6. 【计算机毕业设计】毕业生就业信息管理系统
  7. 人工智能技术在智能音箱中的应用:智能语音识别与智能交互
  8. 行云创新:用云原生,实现企业数字化转型最短路径
  9. 财务凭证标准程序表格容器
  10. 毕设项目 - 基于SSM的大学生兼职跟踪系统(含源码+论文)