文章 | 入侵攻击 | 安全防御 | 操作系统 | 建站技术 | 脚本编程 | 路由交换 | 灾难恢复 | 新闻资讯 | 安全公告   
下载 | 漏洞扫描 | 加密破解 | 入侵攻击 | 后门木马 | 溢出程序 | 综合工具 | 安全防护 | 原创发布 | 动画教程 
论坛 | 网络管理 | 黑客情感 | 免费资源 | 社区茶馆 | 幽默搞笑 | 健康生活 | 在线服务 | 给我留言 | 网站首页 
 您现在的位置: 网络天空 > 攻防技术 > 操作系统 > 文章正文  

Linux系统下的互联网过滤功能

阅读: 时间:2008-4-30 16:09:00 来源:网络 整理:Admin
------------------------------------------------------------------

 

  目前,很多学校都建起了校园网并连接上互联网,但互联网上的不良信息非常多,如何进行网站过滤,防止不健康网站对学生的影响呢?以下本着零成本、高效益的原则,谈谈在免费的Linux下如何实现互联网的过滤功能。

  设置代理服务器

  校园网通过Linux上网,在网关上利用Squid架设代理服务器。

  首先要安装好Linux,我用的是易装好用的RedHatLinux7.2。在安装RedHatLinux7.2时,Squid已同时安装好,我们只需简单的配置一下就能使用。

  RedHatLinux7.2安装后默认是未运行Apache,故应先启用Squid,确保Squid代理服务器能正常工作。修改/etc/squid/squid.conf配置文件。

  http_port3128(定义Squid监听HTTP客户端请求的端口)

  cache_mem10MB(Squid可以使用的内存理想值,一般设为物理内存的1/3)

  cache_swap_low95

  cache_swap_low90

  maximum_object_size4096KB(大于该值对象将不被存储)

  cache_dirufs/var/spool/squid/cache20016256(指定Squid用来存储对象的交换空间大小及其目录结构)

  aclallsrc192.168.1.1/24(定义All为192.168.1.1网段)

  http_acceaaallowall(192.168.1.1网段的客户端可使用Squid代理上网)

  cache_effective_usersquid(使用的用户和用户组)

  cache_effective_groupsquid(其余参数用默认值即可)

  [root@squidbin]#chmod777/var/spool/squid/cache(使/var/spool/squid/cache目录为Noboay用户,具有写权限)

  [root@squidbin]#squid-z(手工建立Squid的缓存目录/var/spool/squid/cache)

  [root@squidbin]#/etc/rc.d/init.d/squidstart(启动Squid,停止Squid用/etc/rc.d/init.d/squidstop)

  在客户端进行测试,以Windows为例。运行IE,单击“工具”,接着单击“Internet选项”,再单击“连接”选项卡,单击“局域网设置”;在“局域网设置”窗口中,在“地址”处填上Squid服务器的IP地址:192.168.1.16,在“端口”处填上“3128”,确定后退出。此时客户端应能浏览Internet,说明Squid已正常运行。

  过滤功能的配置

  接下来进行的是网站过滤功能的配置。可以有两种配置方法。

  方法一

  请到:

  ftp://k12linux.mesd.k12.or.us/pub/squidguard/下载RPM版本的SquidGuard-1.2.0-3.i386.rpm。

  引用:

  SquidGuard则是作为squid的辅助软件,完成过滤、重定向和访问控制的功能。它是一个自由软件,功能强,便于安装、易于配置、而且处理速度快。功能主要包括:根据web服务器或URLs列表限制一些用户的访问;阻塞某些用户对黑名单上的web服务器和URLs的访问;阻塞某些用户对正则表达式匹配的URLs的访问;在URL路径加强了使用域名访问而禁止用IP访问;重定向阻塞的URLs到一个智能CGI的信息页;重定向非授权用户到一个注册页面;具有基于日期、每周、每天具体时间的访问规则;对不同用户组有不同的规则。但是不能过滤、检查文档中的文本以及HTML中的JavaScript或Vbscript脚本语言。

  #rpm-ivhsquidguard-1.2.0-3.i386.rpm

  (安装后数据目录Dbhome:/var/squidguard/blacklists;日志目录Logdir:/var/log/squidguard)

  按提示修改/etc/squid/squid.conf文件中的有关配置行:

  redirect_program/usr/sbin/squidguard-c/etc/squid/squidguard.conf

  redirect_child5

  重启Squid,查看/var/log/squidguard/squidguard.log,看最后一行:2002-06-2316:13:18[2237]squidguardreadyforrequests则表明Squidguard已正常运行。

  方法二

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

  #cd/(进入根目录)

  #tarvzxfsquidguard.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/squidguard/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文件,若有:

  dbupdatedone

  squidguardstopped(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目录定义

  timetesttime{#时间规则定义

  weeklymtwhf05:00-10:30

  weeklyas08:00-19:00

  date*-*-0108:00-16:30

  date2001.10.01-2001.10.09

  }

  srcadmin{#源组定义

  ip192.168.100.18

  }

  srcclient{

  ip192.168.100.20192.168.100.21192.168.100.22

  ip192.168.200.0/24

  }

  destporn{#目标组定义

  domainlistporn/domains

  urllistporn/urls

  expressionlistporn/expressions

  }

  acl{#访问规则定义

  adminwithintesttime{

  pass!pornall

  }else{

  passall

  }

  client{

  pass!in-addr!pornall

  }

  default{

  passnone

  redirecthttp://admin.foo.com

  (#也可以重定向到一个含有一些信息的cgi页面,如下:

  http://admin.foo.com/cgi/blocked?clientaddr=%a&clientname=%n&clientuser=

  %i&clientgroup=%s&targetgroup=%t&url=%u)

  }

  }

  #vidb/porn/domains

  (域列表文件:主要是阻塞一些定义的站点)

  co.za

  sex.com

  (如上,可以阻塞如hack.co.za、sex.com、www.sex.com、whatever.sex.com,但是不同于.*[^.]sex.com,不匹配ssex.com)

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

  qihui.com/sex

  valen.sohu.com/album

  (如上可阻塞http://qihui.com/sexhttp://qihui.com/sex/whateverftp://qihui.com/sexhttp://www.qihui.com/sex等)

  #vidb/porn/expressions

  (表达式列表文件,主要是阻塞一些与表达式匹配的URL访问)

  (^[\?+=/])(.*)(girl)(.*)([\?+=/]$)

  (上面的正则表达式可以阻塞URL中包括girl站点的访问,如:www.girlzine.com、girl.huabao.net、www.huayu.net/girlwww.universiti.com/girl等)

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

  2001-12-2017:08:44[2430]parseerrorinconfigfile/usr/local/squidGuard/squidGuard.confline8

  2001-12-2017:08:44[2430]goingintoemergencymode……

 

   -------------------------------------------------------------------------------------------
  • 上一篇文章:

  • 下一篇文章: 没有了
  •    -------------------------------------------------------------------------------------------
    用户名:
    Email:
    评论内容:
     
      精品推荐

     用电脑最忌讳的18个小动
     软、硬路由器之简单比较
     Win2003系统建议禁用服务
     接入路由器的几种选择
     ADSL掉线八宗罪 处理方法
     低配置电脑运行XP全攻略
     告别菜鸟!教你正确设置
     误删文件不再怕 被删除系
     Windows操作系统另类垃圾
     玩转XP系统中的一些另类
     公用文件夹不能删除的问
     让Windows 2003也用上系
     Server2003 DNS服务安装
     6大原因:为何Linux比Win
     解除windows操作系统任务
     WINDOWS XP 开始→运行→
     30秒清除你电脑中的垃圾
     Linux系统下的互联网过滤


    Copyright © 2007-2008 Ctrlt.Net
    QQ:31326684 Email:netsky(at)ctrlt.net
    请使用IE6.0版本, 分辩率1024×768浏览本站
    滇ICP备07500965号