首页 > 其他 > 详细

第十六节课 使用Squid部署代理缓存服务

时间:2021-02-08 22:17:04      阅读:32      评论:0      收藏:0      [点我收藏+]
 yum install squid   //安装squid服务
 systemctl restart squid
 systemctl enable squid     //设置开机启动
正向代理
  1 标准正向代理

使用Squid服务程序提供的标准正向代理模式服务,就必须在浏览器中填写服务器的IP地址以及端口号信息。

如此公开而没有密码验证的代理服务终归让人觉得不放心,万一有人也来“蹭网”该怎么办呢?Squid服务程序默认使用3128、3401与4827等端口号,因此可以把默认使用的端口号修改为其他值,以便起到一定的保护作用。现在大家应该都知道,在Linux系统配置服务程序其实就是修改该服务的配置文件,因此直接在/etc目录下的Squid服务程序同名目录中找到配置文件,把http_port参数后面原有的3128修改为10000,即把Squid服务程序的代理服务端口修改成了新值。最后一定不要忘记重启服务程序

 

[root@linuxprobe ~]# semanage port -l | grep squid_port_t
squid_port_t                   tcp      3128, 3401, 4827
squid_port_t                   udp      3401, 4827
[root@linuxprobe ~]# semanage port -a -t squid_port_t -p tcp 10000
[root@linuxprobe ~]# semanage port -l | grep squid_port_t
squid_port_t                   tcp      10000, 3128, 3401, 4827
squid_port_t                   udp      3401, 4827
2 ACL访问控制

在日常工作中,企业员工一般是通过公司内部的网关服务器来访问互联网,当将Squid服务程序部署为公司网络的网关服务器后,Squid服务程序的访问控制列表(ACL)功能将发挥它的用武之地。它可以根据指定的策略条件来缓存数据或限制用户的访问。比如很多公司会分时段地禁止员工逛淘宝、打网页游戏,这些禁止行为都可以通过Squid服务程序的ACL功能来实现。大家如果日后在人员流动较大的公司中从事运维工作,可以牢记本节内容,在公司网关服务器上部署的Squid服务程序中添加某些策略条件,禁止员工访问某些招聘网站或竞争对手的网站,没准还能有效降低员工的流失率。

实验1只允许IP地址为192.168.10.20的客户端使用服务器上的Squid服务程序提供的代理服务,禁止其余所有的主机代理请求。

下面的配置文件依然是Squid服务程序的配置文件,但是需要留心配置参数的填写位置。如果写的太靠前,则有些Squid服务程序自身的语句都没有加载完,也会导致策略无效。当然也不用太靠后,大约在26~32行的位置就可以,而且采用分行填写的方式也便于日后的修改。

[root@linuxprobe ~]# vim /etc/squid/squid.conf
 1 #
 2 # Recommended minimum configuration:
 3 #
 4 
 5 # Example rule allowing access from your local networks.
 6 # Adapt to list your (internal) IP networks from where browsing
 7 # should be allowed
 8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
 9 acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
 10 acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
 11 acl localnet src fc00::/7 # RFC 4193 local private network range
 12 acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) mac hines
 13 
 14 acl SSL_ports port 443
 15 acl Safe_ports port 80 # http
 16 acl Safe_ports port 21 # ftp
 17 acl Safe_ports port 443 # https
 18 acl Safe_ports port 70 # gopher
 19 acl Safe_ports port 210 # wais
 20 acl Safe_ports port 1025-65535 # unregistered ports
 21 acl Safe_ports port 280 # http-mgmt
 22 acl Safe_ports port 488 # gss-http
 23 acl Safe_ports port 591 # filemaker
 24 acl Safe_ports port 777 # multiling http
 25 acl CONNECT method CONNECT
 26 acl client src 192.168.10.20
 27 #
 28 # Recommended minimum Access Permission configuration:
 29 #
 30 # Deny requests to certain unsafe ports
 31 http_access allow client
 32 http_access deny all
 33 http_access deny !Safe_ports
 34
[root@linuxprobe ~]# systemctl restart squid

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


Squid服务程序的这种ACL功能模式是比较粗犷暴力的,客户端访问的任何网址中只要包含了某个关键词就会被立即禁止访问,但是这并不影响访问其他网站。


[root@linuxprobe ~]# vim /etc/squid/squid.conf
 1 #
 2 # Recommended minimum configuration:
 3 #
 4 
 5 # Example rule allowing access from your local networks.
 6 # Adapt to list your (internal) IP networks from where browsing
 7 # should be allowed
 8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
 9 acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
 10 acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
 11 acl localnet src fc00::/7 # RFC 4193 local private network range
 12 acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) mac hines
 13 
 14 acl SSL_ports port 443
 15 acl Safe_ports port 80 # http
 16 acl Safe_ports port 21 # ftp
 17 acl Safe_ports port 443 # https
 18 acl Safe_ports port 70 # gopher
 19 acl Safe_ports port 210 # wais
 20 acl Safe_ports port 1025-65535 # unregistered ports
 21 acl Safe_ports port 280 # http-mgmt
 22 acl Safe_ports port 488 # gss-http
 23 acl Safe_ports port 591 # filemaker
 24 acl Safe_ports port 777 # multiling http
 25 acl CONNECT method CONNECT
 26 acl deny_keyword url_regex -i linux
 27 #
 28 # Recommended minimum Access Permission configuration:
 29 #
 30 # Deny requests to certain unsafe ports
 31 http_access deny deny_keyword
 33 http_access deny !Safe_ports
 34
[root@linuxprobe ~]# systemctl restart squid

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


在实验2中,由于我们禁止所有客户端访问网址中包含linux关键词的网站,这将造成一大批网站被误封,从而影响同事们的正常工作。其实通过禁止客户端访问某个特定的网址,也就避免了误封的行为。下面按照如下所示的参数配置Squid服务程序并重启,然后进行测试,其测试结果如图16-10所示。


[root@linuxprobe ~]# vim /etc/squid/squid.conf
 24 acl Safe_ports port 777 # multiling http
 25 acl CONNECT method CONNECT
 26 acl deny_url url_regex http://www.linuxcool.com
 27 #
 28 # Recommended minimum Access Permission configuration:
 29 #
 30 # Deny requests to certain unsafe ports
 31 http_access deny deny_url
 33 http_access deny !Safe_ports
 34
[root@linuxprobe ~]# systemctl restart squid

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

在企业网络中,总会有一小部分人利用企业网络的高速带宽私自下载资源(比如游戏安装文件、电影文件等),从而对其他同事的工作效率造成影响。通过禁止所有用户访问.rar或.avi等后缀文件的请求,可以防止他们继续下载资源,让他们知难而退。下面按照如下所示的参数配置Squid服务程序并重启,然后进行测试,其测试结果如图16-11所示。

如果这些员工是使用迅雷等P2P下载软件来下载资源的话,就只能使用专业级的应用防火墙来禁止了。

[root@linuxprobe ~]# vim /etc/squid/squid.conf
 24 acl Safe_ports port 777 # multiling http
 25 acl CONNECT method CONNECT
 26 acl badfile urlpath_regex -i \.mp3$ \.rar$
 27 #
 28 # Recommended minimum Access Permission configuration:
 29 #
 30 # Deny requests to certain unsafe ports
 31 http_access deny badfile
 33 http_access deny !Safe_ports
 34
[root@linuxprobe ~]# systemctl restart squid
3 透明正向代理

正向代理服务一般是针对企业内部的所有员工设置的,鉴于每位员工所掌握的计算机知识不尽相同,如果您所在的公司不是IT行业的公司,想教会大家如何使用代理服务也不是一件容易的事情。再者,无论是什么行业的公司,公司领导都希望能采取某些措施限制员工在公司内的上网行为,这时就需要用到透明的正向代理模式了。

反向代理

 

网站页面是由静态资源和动态资源一起组成的,其中静态资源包括网站架构CSS文件、大量的图片、视频等数据,这些数据相对于动态资源来说更加稳定,一般不会经常发生改变。但是,随着建站技术的更新换代,外加人们不断提升的审美能力,这些静态资源占据的网站空间越来越多。如果能够把这些静态资源从网站页面中抽离出去,然后在全国各地部署静态资源的缓存节点,这样不仅可以提升用户访问网站的速度,而且网站源服务器也会因为这些缓存节点的存在而降低负载。

反向代理是Squid服务程序的一种重要模式,其原理是把一部分原本向网站源服务器发起的用户请求交给Squid服务器缓存节点来处理。但是这种技术的弊端也很明显,如果有心怀不轨之徒将自己的域名和服务器反向代理到某个知名的网站上面,从理论上来讲,当用户访问到这个域名时,也会看到与那个知名网站一样的内容(有些诈骗网站就是这样骗取用户信任的)。因此,当前许多网站都默认禁止了反向代理功能。开启了CDN(内容分发网络)服务的网站也可以避免这种窃取行为



 

第十六节课 使用Squid部署代理缓存服务

原文:https://www.cnblogs.com/ML1700/p/14389648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!