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

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

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

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

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

一、构建透明代理服务器

1、实验拓扑:

wKiom1gDQXTy9-HTAAEF3wWFs5c592.png-wh_50

2、 实验步骤

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

wKiom1gDRFOw32JAAAAzNQHpHa8416.png-wh_50

2) 编译安装

wKiom1gDRHLQVS7OAAA1ZuZRww4464.png

wKioL1gDRJjw2gjGAAAlMaoHowU358.png-wh_50

--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) 创建链接文件,创建用户和组

wKiom1gDRMfCRtWvAAAv8k10fpg641.png

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

Vim  squid,内容如下:

wKiom1gDRODj1c4SAABXvXihKQQ442.png-wh_50

wKioL1gDRPDRAxsoAABP8a3gQik013.png-wh_50

;;

asac(补充)

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

wKioL1gDRS7DXYq_AAA1OU8fhdo363.png-wh_50

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          去掉“#”

wKiom1gDRVLwZb7UAACy5fBrOAE219.jpg-wh_50

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

wKioL1gDRgChpIVoAAA1ruxzJlw064.png

7) 启动squid服务

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

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

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

wKiom1gDRhSQo654AAAgQFf6xjQ147.png-wh_50

wKioL1gDRqviVggBAAAgbwzXbF0244.png-wh_50

wKioL1gDRiPgqkSpAAAuc5gPSmU858.png-wh_50

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

wKiom1gDRvLBNDqRAABN7HqL-y0037.png-wh_50

wKioL1gDRyyzelR8AAAjUADTYro805.png

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

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

永久:vim /etc/sysctl.conf 

修改net.ipv4.ip_forward = 1

然后sysctl  -p激活

wKiom1gDSCDysOwIAAAjftBOdks275.png-wh_50

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

wKioL1gDSDOjceNwAABKrOUICkk155.png-wh_50

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

wKiom1gDSFPRowcJAAAoFWHXGGE487.png-wh_50

12)验证透明代理

wKiom1gDSGPT279zAABAP58QzjQ487.png-wh_50

在服务器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

wKiom1gDTyzTEhEwAABpbHhkfb8719.jpg-wh_50

wKioL1gDTzzDZ5j3AACTfuMQrT4128.jpg-wh_50

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

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

wKioL1gDT3DAf6ZTAAB6VsMOAfM290.jpg-wh_50

查看如图:

wKiom1gDT4zB5rN6AAAyIs22dJY877.png-wh_50

在客户端上分别下载

wKioL1gDT6OgiRh3AAESLl1OTGQ522.jpg-wh_50

wKioL1gDT-eByFG0AABHniBQH1s366.png-wh_50

三、 squid日志分析

1、 安装gd库

wKioL1gDWZaCSkETAAA0O_r86i0670.png-wh_50

2、 安装sarg

wKioL1gDWeHxNSq4AAA3ncx7xjI934.png

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

3、 配置

wKiom1gDWf2Tl8qwAAAlUIF8K6E878.png-wh_50

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

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

wKiom1gDWg7AjZo8AAANkxkqR30663.png-wh_50

2)网页标题

wKioL1gDWh_y5DnNAAAQ4hq6ruI778.png-wh_50

3)sarg报告的输出目录

wKiom1gDWi_S0fu5AAAMxEQjDnE714.png-wh_50

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

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

wKioL1gDWkvC9CGkAABd_pSHcFw843.jpg-wh_50

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

wKioL1gDWl3wrLVeAAAIXKF2hTg723.png-wh_50

6)发送邮件报告

wKiom1gDWmyyn6YGAAAMNyYfv1A068.png-wh_50

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

wKiom1gDWonwsKQUAAAI3n2_KYM759.png-wh_50

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

wKiom1gDWpmB4WbVAAAGO13HPWU996.png-wh_50

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

wKioL1gDWqrSRrNJAAAkqD_BJ1c532.jpg-wh_50

10)网页根目录

wKiom1gDWsDQJ_ZVAAAIyyNfpbA966.png-wh_50

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

wKioL1gDWtPBvtPjAAAlR2-d4vo931.png-wh_50

wKiom1gDWuiCwoQXAAAytytYI5g888.png-wh_50

5、 验证

wKiom1gDWv6zNSVQAABOqDPPhqU046.png-wh_50

wKioL1gDWwzCk-EWAABTVCq7XaE488.png-wh_50

6、 计划任务

vim /usr/local/sarg/daiy.sh

wKiom1gDW6OQ5i2HAAA81Y6z_JE261.png

crontab -e

wKioL1gDW8uwV4UHAAA0YOc27Y4944.png-wh_50

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

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

Chkconfig crond on

wKiom1gDW-aCxTIsAAAl0KF_b0k939.png-wh_50

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值