AWS FortiGate FortiWeb三层架构配置方式及问题处理
拓扑图:
1.脚本自动化导入license
先将license存在S3中
脚本链接:
https://support.fortinet.com.cn/uploadfile/2018/0118/20180118075328404.pdf
2.如何将FortiGate与FortiWeb连接起来?
1.)在地址中新建一个FQDN地址
2.)FortiGate命令行配置:
config firewall vip
edit vip1
set type fqdn
set exip 1.1.1.1(Gate内网IP)
set extintf port1
set mapped-addr zone.secevery.com(FQDN名称)
show
en
然后在界面里配置端口80转发。
高级版本里可以直接在UI界面中配置,如下图所示:
3.)新建一条IPV4策略
3.开启双因子认证
需要先配置Email服务。在“系统管理”——“设定”——“Email Service”里面。
然后去“系统管理”——“管理员”中配置双因子认证
然后会收到一封邮件,根据邮件提示在手机上安装FortiToken Mobile,苹果手机直接在APP Store搜索就能搜到这个软件,安装好了以后在FortiToken里输入邮件里的激活码就激活了,之后您再登录到Gate里面就需要输入手机里的认证码了
4.利用命令行关闭双因子认证
SSH到Gate上后,依次输入以下命令:
config system admin
edit admin
show
unset two-factor
show
next
end
5.配置Radius远程认证管理员
相关文档:
https://docs.fortinet.com/document/fortigate/6.4.3/administration-guide/766272/remote-authentication-for-administrators
步骤:
1)在“用户设备”中新建Radius服务器
2)新建远程用户组,类型选择“防火墙”,在远程组中添加Radius服务器,并指定Radius服务器中已有的成员组。
3)创建一个新的管理员,类型选择“在远端服务器组中匹配一个用户”,远端用户组选择2)中指定的组(Radius服务器上存在的组)
6.修改管理界面端口
这里改完了,把AWS安全组对应的端口放开即可,之后登陆就得用新的端口了
7.创建虚拟服务器导入证书
配置虚拟服务器,6.4.6在命令行配置
SSL卸载选择全部,之后选择证书
1.多域名对应不同应用——HTTP内容路由的配置
无域名的网址如何配置内容路由?
1)新建虚拟机服务器
2)新建主机池——一个ELB对应一个主机池
3)新建HTTP内容路由——一条对应一个主机池
4)新建服务器策略——改为基于HTTP内容路由,将3)中新建的路由条目一一添加至策略中。
<注意>
创建完HTTP内容路由后,可能会遇到一个问题:WAF前端的ALB的健康检查状态始终为unhealthy。原因是ALB发出的请求没有匹配到任何一条内容路由,所以没有得到FortiWeb的响应。解决方案是将其中一条内容路由的“默认”开启,保证无法匹配每一条内容路由的流量走默认的规则。
2.单个网址的保护(IP+端口号模式)
例:http://52.81.6.167:8099/login.html这个网址对应的是客户的OA系统,后台仅一台EC2,客户要通过VPN连到内网中通过WAF访问OA。
操作流程:
1)新建主机池,IP是OA系统的内网IP,端口号是对应的8099
2)新建虚拟服务器
3)新建“服务器对象”——>“服务”——>"自定义",创建客户需要的8099端口。
4)新建一条“服务器策略”
5)打开EC2安全组中对应端口、协议等。
3.HTTPS流量的证书卸载
建议在架构最前面的ELB上做证书卸载。
4.WAF不同型号所能承受的流量
5.在WAF上做多域名多证书的对应
1)系统——证书——服务器名称指示(SNI)
2)新建,编辑名称
3)下方新建
4)打开服务器策略,打开原先制定好的策略,在HTTPS服务里选择HTTPS,勾选“启用多证书”
5)打开“高级SSL设置”,启用SNI,并引用刚才新建的SNI策略
6)确认,完成。不同域名都有对应的SSL证书。
4.利用命令行修改管理员密码
Gate和Web几乎一致:
config system admin
edit “admin” //“”里填写要修改密码的对应的管理员
set password “P@ssw0rd”
next
end
Web命令行指导:
https://docs.fortinet.com/document/fortiweb/6.3.7/cli-reference/810797/system-admin
Gate命令行指导:
https://docs.fortinet.com/document/fortigate/6.2.5/cli-reference/15620/system-admin
5.修改管理界面端口
这里改完了,把AWS安全组对应的端口放开即可,之后登陆就得用新的端口了.
6.无法获取客户端真实IP
说明:ALB可以自动添加Xff头,NLB不会,所以最前面使用ALB,WAF开启读取Xff功能,直接读取最右侧的头获得客户端IP
1)将Gate前面的负载均衡换成ALB
2)将WAF前面的负载均衡换成NLB
3)打开WAF的X-forwarded-for支持,选择“右”
7.配置HA
HA端口:6055;6056;6010
<注>1.“主设备抢占”功能或者都选或者都不选,这是配置文件的一部分,只有配置文件完全一致,HA才能彼此找到对端
2.IP地址选择私网IP即可
8.重定向次数太多
说明:重定向次数太多:https流量经由最前端的负载均衡器做了证书卸载,转化成了http流量通过WAF传到后端应用(或应用前端的ALB),但后端应用(或应用前端的ALB)做了重定向,将http流量重新定向到https流量,重定向后的流量又去访问最前端的负载均衡,整个过程形成循环
在WAF上的解决方案:开启SSL,将接收到的HTTP流量重新转化为HTTPS
9.后端服务器拒绝响应
可能是由于后端服务器收到的请求是显示的主机池定义的域名,而服务器不认这个域名所以直接拒绝。
可以在主机池配置里面勾选SNI Forward,使得请求中的域名就是请求的域名本身即可。
10.WAF配置缓存和压缩
策略里引用网络缓存
创建缓存规则
创建压缩规则
Web保护规范引用压缩规则
11.导入本地证书
本地证书上传
SNI配置域名并对应本地证书
服务器策略启用SNI并引用SNI策略
版权声明
本文系作者发表,未经许可,不得转载