Squid透明代理+ACL访问控制+日志分析

防伪码:仰天大笑出门去,我辈岂是蓬蒿人

第一章 Squid透明代理+ACL访问控制+日志分析

前言:搭建代理服务器可以提高上网打开网页的速度,可以对非法网站进行屏蔽,限制文件下载,以及查看员工访问internet的情况,包括上网的地址,用户,时间等,是企业网络管理的常用手段。

代理服务器分为传统代理和透明代理,传统代理适用于浏览internet,需要在浏览器上手工指定服务器地址和端口,不是很方便,但是可以隐藏本机真实的ip地址,而且为下载工具使用多个代理可以规避服务器的并发连接显示。透明代理适用于共享上网网关,不需要指定服务器地址和端口,无需额外的设置即可上网,在实际工作中透明代理较多。

一、构建透明代理服务器

1、实验拓扑:

2、 实验步骤

1)在服务器A上安装Squid代理服务器软件(挂载光盘,解压缩)

2) 编译安装

--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正则表达式

3) 创建链接文件,创建用户和组

4) 使用squid服务脚本(为了能够方便启动停止服务)

Vim  squid,内容如下:

;;

asac(补充)

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

5) 修改配置文件

Vi  /etc/squid.conf

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

http_port 192.168.1.1:3128 transparent                                    squid的默认监听端口tcp
修改

cache_effective_group squid                    squid的运行组    添加

cache_effective_user squid                      squid的运行用户
添加

visible_hostname yangwen                      当前系统的主机名  添加

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启动。

8) 在服务器B上搭建网站,并开启入站规则

9)在服务器A上开启路由转发

临时:echo "1" > /proc/sys/net/ipv4/ip_forward

永久:vim /etc/sysctl.conf

修改net.ipv4.ip_forward = 1

然后sysctl  -p激活

10)配置防火墙重定向,并service iptables save保存

11)在客户端上访问网站(配置网关)

12)验证透明代理

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

上面的这个实验属于正向代理

二、 设置ACL访问控制

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

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

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

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

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

Vim  /etc/squid.conf

acl safeport port 80 443

acl mylan src 192.168.1.0/24

acl mediafile urlpath regex -i \.mp4$ \.avi$

acl dmblock dstdomain "/etc/dmbokck.list"

acl working time MWTHF 08:30-17:30

http_access allow mylan working safeport !mediafile !dmblock

http_access deny all

reply_body_max_size 10 MB

maximum_object_size 4096 KB

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

(在服务器B的网站目录下新建a.data(15mb)和b.data(5mb)

查看如图:

在客户端上分别下载

三、 squid日志分析

1、 安装gd库

2、 安装sarg

--enable-extraprotection  添加额外的安全保护

3、 配置

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

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

2)网页标题

3)sarg报告的输出目录

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

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

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

6)发送邮件报告

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

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

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

10)网页根目录

4、 运行Touch  /usr/local/sarg/noreport(别忘了service httpd start)

5、 验证

6、 计划任务

vim /usr/local/sarg/daiy.sh

crontab -e

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

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

Chkconfig crond on

谢谢观看,真心的希望能帮到您!

时间: 2024-10-11 21:34:56

Squid透明代理+ACL访问控制+日志分析的相关文章

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配置项定义需

pfSense 2.33 Squid透明代理设置

Squid是一个缓存 Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向 Squid 发出一个申请,要 Squid 代替其进行下载,然后 Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户. 按照代理类型的不同,可以将 Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理. 普通代理:需要客户机在

squid缓存服务器 ACL访问控制 传统代理 透明代理 squid日志分析 反向代理

缓存代理概述 Squid提供了强大的代理控制机制,通过合理的设置ACL,并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等条件进行过滤.作为应用层的代理服务器软件,Sqiod主要提供了缓存加速和引用层过滤控制能力 代理的工作机制 当客户机通过代理来请求 Web 页面时,指定的代理服务器,会先检查自己的缓存如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面内容反馈给客户机:如果缓存中没有客户机需要访问的页面,则用代理服务器向Internet 发送访问请求. 由于客户机的W

squid的ACL、日志分析、反向代理

一.Squid 中 ACL 的使用 (1)ACL 访问控制方式:(2)ACL 规则优先级:(3)常用的 ACL 列表类型:(4)操作演示: 二.日志分析 第一步:安装 sarg 工具第二步:安装 Apache第三步:客户机上测试 三.反向代理 修改 /etc/squid.conf 文件添加以下代码:1.基于IP地址限制:2.基于时间限制:3.基于目标地址(就是web服务器地址)可以将拒绝的目标地址添加到一个文件中 二.日志分析 安装 sarg 工具Sarg(Squid Analysis Repo

squid 透明代理,反向代理,acl访问控制

squid 的三种代理方式:1普通代理:2透明代理  3反向代理: cleint(192.168.1.20)----> eth0(192.168.1.10)|  squid   |eth1(1.1.1.254)  ---->server(1.1.1.1) 1.普通代理:squid是代替内网 访问外网:  缓存:加快内网的访问速度: 服务器端配置:ip 1.1.1.1 关闭防火墙和selinux [[email protected] ~]# /etc/init.d/iptables stop i

squid透明代理

构建透明代理 透明代理:客户不需要指定代理服务器的地址和端口,而是通过网关,由防火墙的重定向策略将用户的请求交给代理服务器处理:域名解析有客户机完成 代理服务器两个网卡vmnet1 vmnet8 1.基本设置 (1)先在客户机浏览器中去掉代理设置 (2)在squid上开启路由功能(默认关闭) #vim /etc/sysctl.conf  (3)客户机和web服务器都填写好网关 (4)如果是在源拓扑图上改的,注意更改dns中的记录设置,并清除客户机的dns缓存 2.配置squid支持透明代理 [[

squid 透明代理配置

透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的request fields(报文),并会传送真实IP,多用于路由器的NAT转发中. 透明代理的原理是这样的:1. 假设A为内部网络客户机2. B为外部网络服务器,B提供的服务为httpd服务,监听端口为803. C为代理服务器(也是我们的网关),假如代理服务器提供服务端口为3128 过程: 当A向B的80端口请求数据时,TCP连接请求要先经过C,C看到A请求的是B的80端口时,C由于已经设置了转发规则,所以C会把A的请求80端口

Squid透明代理内网用户上网

一.简介 squid实现代理上网是7层代理,传统的路由器实现snat一般是4层,基于ip地址和端口转换实现的,7层和4层的区别如下: 1.nat需要开启路由转发功能,7层代理squid不需要开启路由转发 2.7层能够实现应用层面的控制,可以基于url的控制过滤,4层无法做到. Squid基本功能: 1.提供HTTP和FTP协议的代理服务 2.缓存代理数据,提高访问速度 3.ACL限制内网访问外网资源(时间,ip) 二.Squid实现内网上网 拓扑: (不追求美观,但讲究精确) ①安装squid软

squid 透明代理和反向代理

透明代理: 1.修改 squid 配置文件: http_port 192.168.10.1:3128 transparent          #transparent 透明 2.利用iptables 的nat表建立一条目标转向规则. iptables -t nat -A PREROUTING -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 类型  nat 添加   数据方向进     源自 192.168.10.0段IP