科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道轻松实现 Linux系统下的互联网过滤功能

轻松实现 Linux系统下的互联网过滤功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

目前,很多学校都建起了校园网并连接上互联网,但互联网上的不良信息非常多,如何进行网站过滤,防止不健康网站对学生的影响呢?

作者:kit 来源:赛迪网 2008年6月23日

关键字: Linux

  • 评论
  • 分享微博
  • 分享邮件

    方法二

  请到squidguard.mesd.k12.or.us/squidguard.tar.gz下载TAR版本的SquidGuard.tar.gz,并存放到根目录下。

  #cd / (进入根目录)
  #tar vzxf squidguard.tar.gz

  (解压缩文件到/usr/local/squidguard 下,数据目录Dbhome:/usr/local/squidguard/db;日志目录Logdir:/usr/local/squidguard/log)

  修改/etc/squid/squidguard.conf配置文件:

  redirect_program: /usr/local/bin/squidguard -c /etc/squid/squidguard.conf

  重启Squid,查看/usr/local/squid guard/log/squidguard.log确保SquidGuard已正常运行。

  试浏览一些欲过滤网站,若能被重定向到指定网页,则说明过滤功能已起作用。

  在使用TAR版本的SquidGuard时能增减数据。进入到数据目录:/usr/local/squidguard/db下的Porn文件夹,新建一个Domains.diff文件,内容格式是(加号“+”表示增加,减号“-”表示去除):

  +newsite1(把newsite1加入过滤名单,不能访问)
  +newsite2(把newsite2加入过滤名单,不能访问)
  -site3(把site3从过滤名单去掉,可以正常访问)
  -site4(把site4从过滤名单去掉,可以正常访问)
  然后执行:#/usr/local/bin/squidguard -c /etc/squid/squidguard.conf -u
  查看SquidGuard.log文件,若有:
  db update done
  squidguard stopped(102233.823)
  表明数据更新成功!再重启Squid即可。
  此方法的优点
  此方法的优点是配置方便,对硬件要求低,一般退役下来的486、586完全能胜任,代理服务器可以长时间工作。且所有软件都是免费的,过滤名单更新快,只需到www.squidGuard.org下载最新版本的过滤名单数据库替换旧的即可,也可以手工增减过滤名单。

  Squid还可以设定上网时间段;可以定期检查日志,及时发现学生上网中存在的不良倾向。

  引用:

squidGuard的配置文件 
/usr/local/squidGuard/squidGuard.conf文件: 

logdir /usr/local/squidGuard/logs #日志目录定义 

dbhome /usr/local/squidGuard/db #db目录定义 

time testtime { #时间规则定义 

weekly mtwhf 05:00 - 10:30 
weekly as 08:00 - 19:00 
date *-*-01 08:00 - 16:30 
date 2001.10.01 - 2001.10.09 
} 

src admin { #源组定义 
ip 192.168.100.18 
} 

src client{ 
ip 192.168.100.20 192.168.100.21 192.168.100.22 
ip 192.168.200.0/24 
} 

dest porn { #目标组定义 
domainlist porn/domains 
urllist porn/urls 
expressionlist porn/expressions 
} 

acl { #访问规则定义 
admin within testtime { 
pass !porn all 
} else { 
pass all 
} 

client { 
pass !in-addr !porn all 
} 

default { 
pass none 
redirect http://admin.foo.com

  (#也可以重定向到一个含有一些信息的cgi页面,如下:
http://admin.foo.com/cgi/blocked?clientaddr=%a&clientname=%n&clientuser=
%i&clientgroup=%s&targetgroup=%t&url=%u)
}
}

  # vi db/porn/domains
  (域列表文件:主要是阻塞一些定义的站点)
  co.za
  sex.com
  (如上,可以阻塞如hack.co.za、sex.com、www.sex.com、whatever.sex.com,但是不同于.*[^.]sex.com,不匹配ssex.com)

  # vi db/porn/urls
  (url列表文件,主要是阻塞一些站点及其一些栏目)

  qihui.com/sex
  valen.sohu.com/album
  (如上可阻塞http://qihui.com/sex、http://qihui.com/sex/whatever、ftp://qihui.com/sex、http://www.qihui.com/sex等)

  # vi db/porn/expressions
  (表达式列表文件,主要是阻塞一些与表达式匹配的URL访问)

  (^|[\?+=/])(.*)(girl)(.*)([\?+=/]|$)
  (上面的正则表达式可以阻塞URL中包括girl站点的访问,如:www.girlzine.com、girl.huabao.net、www.huayu.net/girl、www.universiti.com/girl等 )

  注意:squidGuard对配置文件的语法要求很严,如果配置文件语法有误,squidGuard仍能运行,但是squidGuard已进入应急模式,此时代理服务不具有任何阻塞作用,所有通过该代理的访问都可通过,可以查看logs/squidGuard的日志文件,即可发现错误,例如:

  2001-12-20 17:08:44 [2430] parse error in configfile /usr/local/squidGuard/squidGuard.conf line 8
  2001-12-20 17:08:44 [2430] going into emergency mode……

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章