《Linux就该这么学》学习笔记——Day18

简介

本次课程主要介绍openldap部署目录服务和squid部署代理缓存服务的内容。着重讲解了代理服务的原理以及作用,Squid服务程序正向解析和反向解析的理论以及配置方法。

详情可参考:
使用Squid部署代理缓存服务
使用OpenLDAP部署目录服务

命令行详解可参考:
https://www.linuxcool.com

代理缓存服务

Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,会按照收到的用户请求向网站源服务器请求页面、图片等所需的数据,并将服务器返回的数据存储在运行Squid服务程序的服务器上。
优点主要有两个:
1.减少用户的等待时间
2.缓解网站服务器的负载压力

此外Squid服务程序基于访问控制列表(ACL)和访问权限列表(ARL)执行内容过滤与权限管理功能,还可以基于多种条件禁止用户访问存在威胁或不适宜的网站资源,保护企业内网的安全,提升用户的网络体验,帮助节省网络带宽。

在使用Squid服务程序为用户提供缓存代理服务时,具有正向代理模式和反向代理模式之分。

正向代理模式:一般用于企业局域网,
让用户通过Squid服务程序获取网站页面等资源,以及基于访问控制列表(ACL)功能对用户访问网站行为进行限制,在具体的服务方式上又分为标准代理模式与透明代理模式。
标准正向代理模式是把网站数据缓存到服务器本地,提高数据资源被再次访问时的效率,但是用户在上网时必须在浏览器等软件中填写代理服务器的IP地址与端口号信息,否则默认不使用代理服务。
透明正向代理模式的作用与标准正向代理模式基本相同,区别是用户不需要手动指定代理服务器的IP地址与端口号,所以这种代理服务对于用户来讲是相对透明的。
在这里插入图片描述
反向代理模式是指让多台节点主机反向缓存网站数据,从而加快用户访问速度。一般是为大中型网站提供缓存服务的,它把网站中的静态资源保存在国内多个节点机房中,当有用户发起静态资源的访问请求时,可以就近为用户分配节点并传输资源,因此在大中型网站中得到了普遍应用。
在这里插入图片描述

配置Squid服务程序

Squid服务器和客户端的操作系统和IP地址信息:
主机名称 操作系统 IP地址
Squid服务器 RHEL 7 外网卡:桥接DHCP模式
内网卡:192.168.10.10
Squid客户端 Windows 7 192.168.10.20

Squid服务程序安装:

yum install squid

常用的Squid服务程序配置参数以及作用
参数 作用
http_port 3128 监听的端口号
cache_mem 64M 内存缓冲区的大小
cache_dir ufs /var/spool/squid 2000 16 256 硬盘缓冲区的大小
cache_effective_user squid 设置缓存的有效用户
cache_effective_group squid 设置缓存的有效用户组
dns_nameservers IP地址 一般不设置,而是用服务器默认的DNS地址
cache_access_log /var/log/squid/access.log 访问日志文件的保存路径
cache_log /var/log/squid/cache.log 缓存日志文件的保存路径
visible_hostname linuxprobe.com 设置Squid服务器的名称

正向代理

标准正向代理

Squid服务程序软件包在正确安装并启动后,默认ok无需单独配置修改。

systemctl restart squid
systemctl enable squid

为安全考虑修改端口号验证需要注意SELinux权限修改:
Squid配置文件:/etc/squid/squid.conf
http_port xxx(自定义端口号)

SELinux权限:

# 查看squid_port信息
semanage port -l | grep squid_port_t
# 添加squid_port端口号xxxx
semanage port -a -t squid_port_t -p tcp xxxx
# 检查确认
semanage port -l | grep squid_port_t

重启squid服务并添加开机启动功能

systemctl restart squid 
systemctl enable squid 

ACL访问控制

Squid服务程序的访问控制列表(ACL)功能可以根据指定的策略条件来缓存数据或限制用户的访问。

Squid服务程序的ACL策略规则的匹配顺序与防火墙策略规则一样都是由上至下;在一旦形成匹配之后,则立即执行相应操作并结束匹配过程。为避免安全隐患通常会在ACL的最下面写上deny all或者allow all语句。

四种常见状态:
1:只允许特定IP地址客户端使用服务器上的Squid服务程序提供的代理服务,禁止其余所有的主机代理请求。

vim /etc/squid/squid.conf
#定义client别名
acl client src 192.168.10.20 
#定义允许拒绝策略
http_access allow client	
http_access deny all
http_access deny !Safe_ports

2:禁止所有客户端访问网址中包含某个关键词的网站。

vim /etc/squid/squid.conf
#定义要屏蔽的关键词为deny_keyword
acl deny_keyword url_regex -i xxx
#设置拒绝deny_keyword
http_access deny deny_keyword
http_access deny !Safe_ports
#重启服务
systemctl restart squid

3:禁止所有客户端访问某个特定的网站。

vim /etc/squid/squid.conf
#设置禁止访问的IP地址
acl deny_url url_regex 禁止IP地址、
#设置拒绝策略
http_access deny deny_url
#重启服务
systemctl restart squid

实验4:禁止员工在企业网内部下载带有某些后缀的文件。

vim /etc/squid/squid.conf
#使用正则表达式命名别名badfile 
acl badfile urlpath_regex -i \.mp3$ \.rar$
#设置拒绝策略
http_access deny badfile
#重启服务
systemctl restart squid

透明正向代理

“透明”二字指的是让用户在没有感知的情况下使用代理服务
优点:
1.不需要用户手动配置代理服务器的信息,进而降低了代理服务的使用门槛
2.可以更隐秘地监督员工的上网行为

注意:
为了避免实验之间互相影响,需要把客户端浏览器的代理信息删除。

重点:网络配置信息与使用SNAT技术完成数据的转发数据转发功能

通过iptables命令实现DNS地址解析服务53端口的数据转发功能,并且允许Squid服务器转发IPv4数据包。

#清空iptables防火墙策略
iptables -F
#DNS地址解析服务53端口转发功能设置
iptables -t nat -A POSTROUTING -p udp --dport 53 -o eno33554968 -j MASQUERADE
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
#使转发参数立即生效
sysctl -p 

透明代理设置:

vim /etc/squid/squid.conf
#配置透明代理功能
http_port 3128 transparent
#设置缓存的保存路径
cache_dir ufs /var/spool/squid 100 16 256
#检查主配置文件是否有错误
squid -k parse
#对Squid服务程序的透明代理技术进行初始化
squid -z
#重启服务
systemctl restart squid

SNAT数据转发功能:

#80端口请求转发到Squid服务器的xxx端口上
iptables -t nat -A PREROUTING  -p tcp -m tcp --dport 80 -j REDIRECT --to-ports xxx
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o enoxxxxxxx -j SNAT --to 您的桥接网卡IP地址
service iptables save

反向代理

反向代理是Squid服务程序的一种重要模式,其原理是把一部分原本向网站源服务器发起的用户请求交给Squid服务器缓存节点来处理。

弊端:不法者将自己的域名和服务器反向代理到某个知名的网站上面,从理论上来讲,当用户访问到这个域名时,也会看到与那个知名网站一样的内容(有些诈骗网站就是这样骗取用户信任的)。因此,当前许多网站都默认禁止了反向代理功能。开启了CDN(内容分发网络)服务的网站也可以避免这种窃取行为。

vim /etc/squid/squid.conf
http_port 您的桥接网卡IP地址:80 vhost
cache_peer 网站源服务器IP地址 parent 80 0 originserver

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值