Squid代理服务器+ACL访问控制+Squid日志分析&&任务计划

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Squid代理服务器+ACL访问控制+Squid日志分析&&任务计划相关的知识,希望对你有一定的参考价值。

第一章:Squid代理服务器

防伪码:只有顽强,明日路纵会更彷徨!

理论概述:

1.缓存代理概述:squid主要提供缓存加速,应用层过滤控制的功能。

2.代理的基本类型

1)传统代理:普通的代理服务器,首先必须在客户机的浏览器、qq聊天工具、下载软件等程序中手动设置代理服务器的地址和端口,然后才能使用代理来访问网络。

2)透明代理:提供与传统代理相同的功能和服务,其区别在于客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向,实际仍然交给代理服务器来处理。

 实际应用中,传统代理多见于internet环境,如为qq程序使用代理可以隐藏本机的真是ip地址、为下载工具使用多个代理可以规避服务器的并发连接限制。而透明代理多见于局域网环境,如在Linux网关中启用透明代理后,局域网主机无需进行额外设置就可以享受更好的上网速度。


实验部分:

一、搭建传统代理服务器

1、实验拓扑:

技术分享

2、实验步骤

1)在服务器B上安装squid代理服务器软件(挂载光盘,解压缩,编译安装)

技术分享


--prefix=/usr/local/squid   //安装目录

 

--sysconfdir=/etc   //单独将配置文件修改到其他目录

--enable-arp-acl   //可以在规则中设置直接通过客户端mac进行管理,防止客户端使用ip欺骗攻击

--enable-linux-netfilter   //使用内核过滤

--enable-linux-tproxy   //支持透明模式

--enable-async-io=   //异步i/o,提升存储性能

--enable-err-language=”Simplify_Chinese”   //错误信息的显示语言

--enable-poll   //使用Poll()模式,提升性能

--enable-underscore   //允许url中有下划线

--enable-gnuregex   //使用GNU正则表达式

技术分享

2)创建连接文件,创建用户和组

技术分享

3)使用squid服务脚本(为了可以方便启动停止服务)

技术分享

没有完,下面续写

技术分享

4)设置权限,并添加为系统服务

技术分享

5)修改配置文件

  Vi /etc/squid.conf

  主要修改有以下几条配置项,有的配置项需要修改,而有的配置项需要添加。

http_port 3128               squid的默认监听端口tcp    修改    cache_effective_group squid       squid的运行组          添加

cache_effective_user squid        squid的运行用户         添加

visible_hostname  localhost.localdomain 当前系统的主机名        添加

cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256

技术分享

6)在防火墙上添加允许策略

技术分享


7)启动squid服务

执行:Squid -k parse检测语法是否正确,出现很多内容,一般不用理会,没有提示错误就可以。

执行squid -z 初始化缓存目录,此步必须要做,执行完之后稍微等一会。

执行squid启动服务,也可以使用service squid start启动服务,第一次启动最好用squid启动。

技术分享

技术分享

squid

service squid start

技术分享

8)在服务器A搭建网站

技术分享

9)在客户机上修改IE浏览器的代理服务器地址

技术分享

10)在客户机上访问网站

*注意要在网站服务器A上开启80端口

技术分享

技术分享

然后停止代理服务器,再次访问发现不能上网,说明客户机是通过代理服务器来上网的。

技术分享

技术分享

11)

在客户机访问网站,然后查看web服务器的访问日志,发现客户机172.16.16.110访问网站172.16.16.172的记录,但是在web服务器中,查看网站日志文件,显示的访问者是代理服务器的地址172.16.16.22,不是客户端的地址。

技术分享

技术分享

二、搭建透明代理服务器

1、实验拓扑

技术分享

2、实验步骤

1)配置squid支持透明代理

vim /etc/squid.conf

技术分享

修改第59行,修改完重载squid服务

技术分享

2)在服务器B上开启路由转发(临时)

技术分享

3)配置防火墙重定向

技术分享

4)在客户机访问网站(必须配置网关)

技术分享

5)

如果在linux客户机上测试,需要提前清除HTTP_PROXYHTTPS_PROXY变量

Unset HTTP_PROXY  HTTPS_PROXY

我们就在windows上验证了,因为在实际工作中,员工很少使用LINUX访问网站。

验证方法和传统代理验证方法一样

技术分享

技术分享


在服务器A上查看的访问者是代理服务器172.16.16.22,说明实验正确。

三、设置ACL访问控制

1、禁止下载扩展名为:.mp4,avi视频

2、超过4mb大小的文件不进行缓存,禁止下载超过10mb的文件

3、设置网站黑名单,禁止访问位于.qq.com,.lol.com的网站

4、允许在正常上班时间(周一到周五8:30-17:30)上网

5、默认策略设置为禁止任何客户机使用代理服务器。

vim /etc/squid.conf

技术分享


技术分享

技术分享

在客户端上测试下载文件,超过10mb就禁止下载

(在服务器A的网站目录下新建15mb的文件

技术分享

技术分享

四、squid日志分析

1、安装gd库

技术分享

2、安装sarg

技术分享

3.配置

技术分享

修改以下内容,不同添加,修改即可

1)制定squid的访问日志文件

技术分享

2)网页标题

技术分享

3)sarg报告的输出目录

技术分享

4)使用用户名显示,根据连接次数,访问字节数,采用降序排列,升序将reverse换成normal。

对于用户访问记录,连接次数按降序排列。

技术分享

技术分享

技术分享

5)当有日期报告存在,是否覆盖报告

技术分享

6)发送邮件报告

技术分享

7)制定不计入排序的站点列表文件

技术分享

8)使用的字符集为国际编码

技术分享

9)制定top排序的星期周期和时间周期,0为周日

技术分享

10)网页根目录

技术分享

4、运行

技术分享

5、验证

技术分享

6、计划任务

技术分享

技术分享

crontab -e

技术分享

每天0点运行统计昨天的内容

chmod +x /usr/local/sarg/daily.sh

chkconfig crond on

本文出自 “你好阳光” 博客,谢绝转载!

以上是关于Squid代理服务器+ACL访问控制+Squid日志分析&&任务计划的主要内容,如果未能解决你的问题,请参考以下文章

Squid缓存服务器之ACL访问控制与反向代理

squid代理服务器的ACL访问控制及日志分析

缓存加速------Squid代理服务器应用(传统代理,透明代理,反向代理,ACL访问控制,日志分析)

squid代理服务的ACL访问控制日志分析及反向代理(4.1版本)

squid代理服务器的ACL访问控制及日志分析

Squid代理服务器——ACL访问控制,sarg日志,反向代理