首页 > 代码库 > [配置]飞塔防火墙之Explicit Proxy
[配置]飞塔防火墙之Explicit Proxy
Explicit proxy是Fortigate firewall集成的众多优秀的功能之一,下面说下Explict防火墙的简单配置。文章中仅介绍部署web proxy的部分,FTP proxy的配置过程类似,这里就先略过。
背景:
最近使用中国联通的网络访问国外的一些工作常用站点非常困难,网页响应时间长,甚至无法加载网页等。
某些部门的同事需要下载国外的同事发来的一些文件,很多是通过国外的云服务共享的,比如dropbox,google docs,onedrive等等;
某部门同事工作常用的站点,比如webex.com,netsuite.com,微软的CRM站点;
外企常用的搜索引擎google.com等等。大家都知道靠baidu是搜索新的有价值的技术资料是非常困难的;
解决方案:
代理;
VPN;
在国外的office提供VM给国内的用户远程使用等等;
这里笔者之前主要使用的是代理服务器,SQUID for windows,没有使用Linux版本的SQUID主要是因为公司熟悉Linux的同事并不多,怕以后维护比较困难。我之前的SQUID配置了NTLM验证,公司内通过Domain环境管理,所以为用户开放权限比较方便。由于SQUID for windows的版本非常旧了,更新到2.7之后就不更新了。碰巧前端时间刚刚帮公司更换了Fortigate的NGFW,经过国外的同事提示,NGFW内置了Explicit proxy,非常有新鲜感。也正好有脱离SQUID的想法,所以研究了起来。
配置步骤,大概分为以下几个部分:
启用explicit feature;
启用WAN Optimization feature;
配置Explicit proxy使用的端口;
在需要的interface启用explicit proxy web支持;
配置explicit proxy使用的service;
配置explicit policy;
配置RADIUS验证用户,方便权限管理;
配置windows NPS作为RADIUS服务器;
在Active Directory中建立相应的group,用于分配权限;
环境信息:
FortiGate 200D;
FortiOS 5.2;
使用56789作为explicit proxy的服务端口;
使用windows Active Directory,通过windows NPS设置RADIUS server验证用户;
以下是具体的配置过程:
启用Explicit feature,启用后的效果如下图:
通过web登录FW进行GUI配置;
System->Config->Features;
启用basic features中的WAN Opt. & Cache;
启用Security features中的Explicit Proxy;
配置Explicit Proxy使用的服务端口,如下图所示;
依次展开system->Network->Explicit proxy
在Enable web explicit proxy项目中勾选HTTP/HTTPS;
在HTTP端口中输入56789;
在HTTPS端口保持默认设置0;
在Realm一栏,输入你想要提示窗口中显示的文字,如“Please enter your domain credentials”;
该页面其他选项保持默认即可;
选择监听explicit proxy请求的interface;
可以直接在上一步界面点击listen on interfaces右侧的编辑按钮,或者system->Network->Interfaces;
首先将本地网络启用explicit proxy feature,这是必须的一步;
笔者这里为LAN网络;
双击LAN;
勾选enable explicit web proxy;
其他的interface中同理进行勾选;
笔者这里将explicit proxy设置在国外HQ,国内的网络和HQ通过LAN-2-LAN VPN连接,所以我需要将这个LAN-2-LAN VPN的interface启用explicit web proxy;
配置explicit web proxy使用的service;
笔者这里做了个实验,测试了仅开放向internet转发目的端端口为80和443端口的请求,以提高安全性,但具体安全性如何还不了解;
系统默认的webproxy服务一般是这两点:
允许所有协议请求;
允许向任何目的端口的请求;
笔者定义了两个服务:
允许任何服务的请求;
仅响应目的端口为80和443的请求;
下图的service名为webproxy-80,service type为explicit proxy,这点需要注意。目的端的端口填写80。同理再新建一个service,端口设置为443即可;
这里希望大家已经在Active Directory中建立好了响应的用户组,笔者的用户组的名称为ProxyUser_CN,并且将需要使用explicit web proxy的用户都加入了该组;
然后需要指定RADIUS的相关信息;
system->User & Device->Authentication->RADIUS servers;
新建一个RADIUS server,为这个RADIUS取个名字,输入RADIUS服务器的FQDN或者是IP地址;
输入您在RADIUS服务器中设置的secret,这里笔者推荐您使用windows NPS自带的secret生成器生成的长度为64bit的高复杂度secret,并且妥善保存;
其他项目不变,点击ok即可;
System->User & Device->User->User Groups
新建一个User group,为该group命名;
type为Firewall;
添加remote server为我们上一步新建的RADIUS server;
其他项目保持不变,保存设置即可;
具体的配置过程,大家可以参考官方的文档介绍,我这里将我配置的命令粘贴如下,供大家参考:
FW # config firewall explicit-proxy-policy FW (explicit-proxy-p~icy) # edit 0 new entry ‘0‘ added FW (0) # set proxy web FW (0) # set dstintf wan1 FW (0) # set srcaddr 需要使用proxy的网络地址 FW (0) # set dstaddr all FW (0) # set action accept FW (0) # set service webproxy-80 webproxy-443 这里是我们上一步建立的两个service。就是这条在FortiOS 5.2中无法通过GUI实现; FW (0) # set webcache enable FW (0) # set identity-based enable FW (0) # set ip-based disable FW (0) # set active-auth-method basic FW (0) # config identity-based-policy FW (identity-based-p~icy) # edit 0 new entry ‘0‘ added FW (0) # set groups 您定义的AD组的名称; FW (0) # set schedule always FW (0) # set utm-status enable,非必要条目 FW (0) # set webfilter-profile 您自定义的策略,本条非必要; FW (0) # set profile-protocol-options default ,非必要条目; FW (0) # end FW (0) # end
本文出自 “梦想依赖实践-原创Only” 博客,转载请与作者联系!
[配置]飞塔防火墙之Explicit Proxy