代理服务Squid----访问控制列表与日志分析

实验拓扑图讲解

配置Squid透明模式

//安装环境依赖包
yum install gcc gcc-c++ -y

//解压缩包
tar zxvf squid-3.4.6.tar.gz -C /opt/

//配置
cd /opt/squid-3.4.6

./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese " \
--enable-underscore \
--enable-poll \
--enable-gnuregex

//安装与配置
make && make install

//便于系统识别squid服务命令
ln -s /usr/local/squid/sbin/* /usr/local/sbin/

//创建用户,无家目录,不可登录系统
useradd -M -s /sbin/nologin squid

//更改属主属组
chown -R squid.squid /usr/local/squid/var

//修改主配置文件
vim /etc/squid.conf

http_access allow all                     //注释掉deny,添加此,允许所有访问该终端
cache_effective_user squid           //添加  指定程序用户
cache_effective_group squid        //添加   指定账户基本组
coredupm_dir /usr/local/squid/var/cache/squid

//检查配置文件语法
squid -k parse

//初始化缓存目录
squid -z

//启动服务
squid

//创建脚本,便于service管理服务
cd /etc/init.d
vim squid

#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid. pid"
CONF="/etc/squid. conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
start)
netstat -natp | grep squid &> /dev/null
	if [ $? -eq 0 ]
	then
	echo "squid is running"
	else
	echo "正在启动squid.."
	$CMD
	fi
;;
stop)
	$CMD -k kill &> /dev/null
	rm -rf $PID &> /dev/null
;;
status)
	[ -f $PID ] &> /dev/null
	if [ $? -eq 0 ]
	then
	netstat -natp | grep squid
	else
	echo "squid is not running"
	fi
;;
restart)
$0 stop &> /dev/null 
echo "正在关闭 squid..."
$0 start  &> /dev/null
echo "正在启动 squid..."
;;
reload)
$CMD -k reconfigure
;;
check)
$CMD -k parse
;;
*)
echo "用法:$0{start|stop|status|reload|check|restart}"
;;
esac
chmod +x squid
chkconfig --add squid

配置Squid透明模式

配置双网卡
ens33:内网卡  ens36:外网卡

配置路由转发功能
vim /etc/sysctl.conf

net.ipv4.ip_forward=1
sysctl -p

//配置静态路由
route add -net 192.168.100.0/24 gw 192.168.179.243

//修改squid配置文件
vim /etc/squid.conf

http_port 192.168.100.10:3128 transparent  //添加到访问端口中

service squid reloda

添加防火墙规则
iptables -t nat -F
iptables -F
iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

安装配置WEB服务

yum install httpd -y

route add -net 192.168.100.0/24 gw 192.168.179.243     //添加静态路由

systemctl stop firewalld.service 

setenforce 0

客户端网卡仅主机模式,访问WEB服务

 

ACL访问控制

acl localhost src 192.168.179.132/32       //基于源地址
acl MYLAN src 192.168.179.0/24             //基于网段
acl destionhost dst 192.168.179.130/32  //基于目标地址
acl MC20 maxconn 20                           //设置访问数量
acl BURL url_regex -i ^rtsp:// ^emule://
acl PURL urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$
acl work time MTWHF 08:30-17:30
  • Squid代理服务中设置ACL访问控制列表
vim /etc/squid.conf 


//添加
  acl hostlocal src 192.168.100.10  

  http_access deny hostlocal

  • 重启Squid服务,客户端访问WEB服务

Sarg日志分析

  • Sarg(Squid Analysis Report Generator),是一款squid日志分析工具,采用HTML的格式,详细列出每一位用户访问Internet的站点信息、时间占用信息、排名、连接次数、访问量等

在squid代理服务器上配置sarg服务

//图像处理
yum install -y gd gd-devel gcc gcc-c++

//创建目录
mkdir /usr/local/sarg

//解压缩包
tar zxvf sarg-2.3.7.tar.gz -C /opt/

//配置
cd /opt/sarg-2.3.7

./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection              //额外安全防护

//编译与安装
make && make install

//修改主配置文件
cd /etc/sarg 

vim sarg.conf

7行   access_log /usr/local/squid/var/logs/access.log       //指定访问口志文件

25行  title "Squid User Access Reports"                              //网页标题

120行 output_dir /var/www/html/squid-reports                 //报告输出目录

178行 user_ip no                                                          //使用用户名显示

206行 exclude_hosts /usr/local/sarg/noreport             //不计入排序的站点列表文件

184行 topuser_sort_field connect reverse                    // top排序中有连接次数、访阿字节、降序排列升序是normal

190行 #user_sort_field reverse                                     //用户访问记录连接次数、访间字节按降序排序

257行 overwrite_report no                                        //同名口志是否覆盖

289行 mail_utility mailq.postfix                                //发送邮件报告俞令

434行 charset UTF-8                                               //使用字符集

518行 weekdays 0-6                                               //top排行的星期周期

525行 hours 0-23                                                   //top排行的时间周期

633行 www_document_root /var/www/html          //网页根目录

//添加不计入站点文件,添加的域名将不被显示在排序中
touch /usr/local/sarg/noreport
ln -s /usr/local/sarg/bin/sarg /usr/local/bin/

//使用命令
sarg

安装WEB服务

yum install httpd -y


//开启服务
systemctl start httpd

//关闭防火墙
systemctl stop firewalld.service
setenforce 0
  • 客户端访问192.168.179.251squid-reports

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值