[配置]飞塔防火墙之Explicit Proxy
Explicit proxy是Fortigate firewall集成的众多优秀的功能之一,下面说下Explict防火墙的简单配置。文章中仅介绍部署web proxy的部分,FTP proxy的配置过程类似,这里就先略过。
背景:
1.
最近使用中国联通的网络访问国外的一些工作常用站点非常困难,网页响应时间长,甚至无法加载网页等。
a.
某些部门的同事需要下载国外的同事发来的一些文件,很多是通过国外的云服务共享的,比如dropbox,google docs,onedrive等等;
b.
某部门同事工作常用的站点,比如webex.com,netsuite.com,微软的CRM站点;
c.
外企常用的搜索引擎google.com等等。大家都知道靠baidu是搜索新的有价值的技术资料是非常困难的;
2.
解决方案:
a.
代理;
b.
VPN;
c.
在国外的office提供VM给国内的用户远程使用等等;
这里笔者之前主要使用的是代理服务器,SQUID for windows,没有使用Linux版本的SQUID主要是因为公司熟悉Linux的同事并不多,怕以后维护比较困难。我之前的SQUID配置了NTLM验证,公司内通过Domain环境管理,所以为用户开放权限比较方便。由于SQUID for windows的版本非常旧了,更新到2.7之后就不更新了。碰巧前端时间刚刚帮公司更换了Fortigate的NGFW,经过国外的同事提示,NGFW内置了Explicit proxy,非常有新鲜感。也正好有脱离SQUID的想法,所以研究了起来。
3.
配置步骤,大概分为以下几个部分:
i.
配置windows NPS作为RADIUS服务器;
ii.
在Active Directory中建立相应的group,用于分配权限;
a.
启用explicit feature;
b.
启用WAN Optimization feature;
c.
配置Explicit proxy使用的端口;
d.
在需要的interface启用explicit proxy web支持;
e.
配置explicit proxy使用的service;
f.
配置explicit policy;
g.
配置RADIUS验证用户,方便权限管理;
——————————————————————————–
——————————————————————————–
环境信息:
FortiGate 200D;
FortiOS 5.2;
使用56789作为explicit proxy的服务端口;
使用windows Active Directory,通过windows NPS设置RADIUS server验证用户;
以下是具体的配置过程:
1.
启用Explicit feature,启用后的效果如下图:
a.
通过web登录FW进行GUI配置;
b.
System->Config->Features;
c.
启用basic features中的WAN Opt. & Cache;
d.
启用Security features中的Explicit Proxy;
2.
配置Explicit Proxy使用的服务端口,如下图所示;
a.
依次展开system->Network->Explicit proxy
b.
在Enable web explicit proxy项目中勾选HTTP/HTTPS;
c.
在HTTP端口中输入56789;
d.
在HTTPS端口保持默认设置0;
e.
在Realm一栏,输入你想要提示窗口中显示的文字,如“Please enter your domain credentials”;
f.
该页面其他选项保持默认即可;
3.
选择监听explicit proxy请求的interface;
i.
笔者这里为LAN网络;
ii.
双击LAN;
iii.
勾选enable explicit web proxy;
iv.
其他的interface中同理进行勾选;
A.
笔者这里将explicit proxy设置在国外HQ,国内的网络和HQ通过LAN-2-LAN VPN连接,所以我需要将这个LAN-2-LAN VPN的interface启用explicit web proxy;
a.
可以直接在上一步界面点击listen on interfaces右侧的编辑按钮,或者system->Network->Interfaces;
b.
首先将本地网络启用explicit proxy feature,这是必须的一步;
c.
4.
配置explicit web proxy使用的service;
i.
允许任何服务的请求;
ii.
仅响应目的端口为80和443的请求;
iii.
允许所有协议请求;
iv.
允许向任何目的端口的请求;
a.
笔者这里做了个实验,测试了仅开放向internet转发目的端端口为80和443端口的请求,以提高安全性,但具体安全性如何还不了解;
b.
系统默认的webproxy服务一般是这两点:
c.
笔者定义了两个服务:
d.
下图的service名为webproxy-80,service type为explicit proxy,这点需要注意。目的端的端口填写80。同理再新建一个service,端口设置为443即可;
配置Explicit web proxy的用户组:
a.
这里希望大家已经在Active Directory中建立好了响应的用户组,笔者的用户组的名称为ProxyUser_CN,并且将需要使用explicit web proxy的用户都加入了该组;
b.
然后需要指定RADIUS的相关信息;
i.
system->User & Device->Authentication->RADIUS servers;
ii.
新建一个RADIUS server,为这个RADIUS取个名字,输入RADIUS服务器的FQDN或者是IP地址;
iii.
输入您在RADIUS服务器中设置的secret,这里笔者推荐您使用windows NPS自带的secret生成器生成的长度为64bit的高复杂度secret,并且妥善保存;
iv.
其他项目不变,点击ok即可;
c.
System->User & Device->User->User Groups
i.
新建一个User group,为该group命名;
ii.
type为Firewall;
iii.
添加remote server为我们上一步新建的RADIUS server;
iv.
其他项目保持不变,保存设置即可;
配置Explicit policy,这里是整个配置过程的一个特别需要注意过程。并不是因为这个过程有多难或多不好理解,而是因为这里通过GUI无法完成配置,因为通过FW本身的GUI节目无法配置policy需要使用的服务。笔者曾将这个问题作为一个bug提交给客服,但support给的回复是配置service的开关是隐藏功能,仅仅能通过cli进行配置。笔者对这个回答并不买账,原因是如果您用Forti Manager的话,通过Forti Manager的管理界面就可以在GUI下配置该policy需要使用的service。
a.
具体的配置过程,大家可以参考官方的文档介绍,我这里将我配置的命令粘贴如下,供大家参考:
b.
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
到这里FW端的配置工作就基本结束了,剩下的就是测试FW和RADIUS之间的连接性。这里笔者建议大家通过cli进行测试,测试命令为:diagnose test authserver radius radius-name authentication-protocol username password关于配置Windows NPS作为Explicit web proxy的RADIUS服务器的过程,由于这个过程适用于Fortigate防火墙的很多功能的验证,我们稍后单独写一篇文章,敬请期待。
文章来源:http://yinzi7.blog.51cto.com/299508/1596415
相关文章
- 2条评论
- 闹旅怯朲2022-05-28 03:16:20
- ——————————————————– ——————————————————————————– 环境信息: FortiGate 200D; FortiOS 5.2; 使用56789作为explicit proxy的服务端口; 使用windows Active Director
- 只影辞取2022-05-28 02:31:49
- 务。笔者曾将这个问题作为一个bug提交给客服,但support给的回复是配置service的开关是隐藏功能,仅仅能通过cli进行配置。笔者对这个回答并不买账,原因是如果您用Forti Manager的话,通过F