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_PROXY、HTTPS_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日志分析&&任务计划

时间: 2024-08-26 19:03:11

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

Squid代理服务ACL访问控制及日志分析

对于Squid服务的部署可以参考博文:Squid代理服务器安装及部署对于Squid服务配置代理服务器可以参考博文:利用Squid构建传统代理及透明代理 Squid服务的ACL访问控制 Squid提供了强大的代理控制机制,通过合理设置ACL(访问控制列表)并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等各种条件进行过滤. 在配置文件squid.conf中,ACL访问控制通过两个步骤来实现: 使用acl配置项定义需要控制的条件: 通过http_access配置项对已经定义的列表做

Squid-4.1 ACL访问控制、日志分析和反向代理

Squid-4.1ACL访问控制.日志分析和反向代理 ACL访问控制 Squid提供了强大的代理控制机制,通过结合设置ACL(Access Control List,访问控制列表)并进行限制,可以针对源地址.目标地址.访问的URL路径.访问时间等各种条件进行过滤. 在配置文件squid.conf中,ACL访问控制通过以下两个步骤实现:其一,使用acl配置项定义需要控制的条件:其二,通过http_access配置项对已定义的列表做"allow"或者"deny"访问控制

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

配置传统代理及部署squid服务参考博文:https://blog.51cto.com/14154700/2406060配置squid透明代理参考博文:https://blog.51cto.com/14154700/2406121 squid服务的ACL访问控制:squid提供了强大的代理控制机制,通过合理设置ACL并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等各种条件进行过滤. 在配置文件squid.conf中,ACL访问控制通过两个步骤来实现:1.使用ACL配置项定义需

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

实验环境 squid服务器 ens33:192.168.13.184 ens36:192.168.10.1 (仅主机模式) web服务器 192.168.13.151 client 192.168.10.10 (仅主机模式) 一,ACL访问控制 1,在squid服务器上修改配置文件 [[email protected] ~]# vim /etc/squid.conf ##修改配置文件 # should be allowed acl hostlocal src 192.168.10.10/32 #

Squid代理--经典缓存代理服务器(实现正向代理配置、ACL各种访问控制、日志分析)

Squid是Linux系统中常用的一款开源代理服务软件官方网站http://www.squid-cache.org , 可以很好的实现http.ftp.dns查询,以及ssl等应用的缓存代理. 一.Squid服务概述 缓存代理概述 1.代理的工作机制 当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面反馈给请求的客户端.如果缓存中没有,则由代理服务器向web服务器发起访问请求,当获得返回的web页面后,缓存服务器首先

Squid的ACL访问控制及反向代理

Squid提供了强大的代理控制机制,通过合理的设置ACL,并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等条件进行过滤. 在配置文章squid.conf中,ACL访问控制通过以下两个步骤来实现:1:使用acl配置项定义需要控制的条件2:通过http_access 配置对已定义的列表做出"允许" 或者 "拒绝" 访问的控制 定义控制列表: acl 列表名 列表类型 列表内容 允许访问权限: http_access allow 列表名 拒绝访问权限:

Squid 代理服务器的构建与访问控制

Squid 一款开源的代理服务软件,用于实现HTTP和FTP以及DNS查询,SSL等应用的应用层代理 官方站点:http://www.squid-cache.org squid 作为应用层代理服务软件,主要提供缓存加速,应用层过滤控制的功能(访问的目标,客户机地址,访问的时间) squid可构建的代理服务:传统代理.透明代理.反向代理 DNS view(视图) + SQUID 反向代理 = CDN(内容分发网络) 代理的工作原理:客户端通过代理来请求web页面时,指定的代理服务器首先检查自己的高

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

Squid缓存服务器之ACL访问控制与反向代理 1.ACL访问控制 Squid提供了强大的代理控制机制和,通过合理设置ACL并进行限制.可以针对原地址.目标地址.访问的URL路径.访问的时间等各种条件进行过滤. 在配置文件squid.conf中ACL访问控制通过以下两个步骤来实现:其一,使用acl配置项定义需要控制的条件:其二,通过http_access配置项对已定义的列表做"允许"或者"拒绝"访问的控制. 1).定义访问控制列表 每一行acl配置可以定义一条访问控

Squid代理服务器--实战篇

一.传统代理 使用传统代理的特点在于,客户机的相关程序(如IE浏览器.QQ聊天工具)必须指定代理服务器的地址.端口等信息.下面通过一个简单的应用案例来学习传统代理的配置和使用 基于Internet网络环境,案例的主要需求描述如下: 在Linux主机B上,构建Squid为客户机访问各种网站提供代理服务,但禁止通过代理下载超过10MB大小的文件 在客户机C上,指定主机B作为Web访问代理,以隐藏自己的真实IP地址 针对上述实验环境,主机B作为代理服务器必须正确构建Squid服务,并允许客户机使用代理