【简介】如何做到只允许访问国内网站?如何阻止来自美国的不同IP的攻击?这些都是防火墙管理员经常会碰到的问题。通过地理地址对象可以快速的解决这些问题。
只允许访问国内网站
一般我们通过流出策略来限制对外网的访问。
① 通常我们将上网策略的目标地址设置为all,这样可以访问宽带上的所有内容,也就是没有限制。
② 为了限制只允许访问国内网站,将目标地址更改为地理地址对象CHINA。上一篇文章有介绍。
③ 可以看到,属于中国的IP地址可以正常访问,其它IP地址不匹配这条上网策略,由于默认策略的作用,禁止访问。
④ 但是这并不影响DNS对域名的解析,仍然可以获取到域名的IP地址。
⑤ 由于解析得到的IP地址,在防火墙上的IP地理位置数据库中查询属于US,不匹配上网策略,所以仍然是不能访问。查询命令上一篇文章有介绍。
阻止美国IP访问映射服务器
禁止指定IP从公网访问有两部分,一部分是禁止访问防火墙映射的服务器,另一问分是禁止访问防火墙的公网接口IP。
① 创建美国的地理地址对象,创建方法见上一篇文章。
② 一般我们的映射策略,源都会设置成all,允许所有IP访问。
③ 为了禁止美国IP访问映射的服务器,但又同时允许其它IP访问,我们需要创建一条禁止访问的映射策略,选择策略,弹出菜单选择【Insert】-【以上】。此为FortiOS 7.4的操作方法。不同版本操作方法不同。
④ 输入名称,源选择地理地址对象【USA】,目标地址选择虚拟IP。注意这里不能选择all,必须和映射策略保持一致,动作选择【拒绝】。
⑤ 两条策略的源不同,目标相同,动作一个为拒绝,一个为接受,注意:拒绝策略必须在接受策略的上方,根据从上往下的次序优先执行。可以鼠标按住策略最前面的方框拖动更改顺序。
⑥ 防火墙是默认不记录拒绝访问流量日志的,可以在拒绝策略启用【Log violation traffic】,以记录拒绝访问流量日志。
【总结】通过上面的设置,防火墙基于IP地址位置数据库判断访问的IP为美国的,匹配第一条策略,拒绝访问映射的服务器,否则,匹配第二条策略,正常访问映射的服务器。
阻止美国IP访问防火墙公网IP
远程攻击除了攻击映射的服务器外,也会对防火墙发起攻击,有没有办法禁止指定的IP访问防火墙的公网IP呢?可以,这就要用到本地策略了。
① 选择菜单【系统管理】-【可见功能】,启用【本地策略】。
② 选择菜单【策略&对象】-【本地入向策略】,可以看到防火墙入向默认开放的协议和端口等信息。
③ 这里我们可以看到防火墙默认对Wan1接口开放了http、https、ping协议,端口分别是80、443、8。
④ 同样为IPsec VPN开放了500、4500端口。
⑤ 本地策略必须用命令配置,配置具体命令如上图所示,普通策略有流入接口和流出接口,本地策略则只有一个接口。所有命令均可用问号显示帮助信息。
⑥ 再次用config firewall local-in-policy下的show命令显示本地策略,可以看到刚才的本地策略创建成功。
⑦ 有人可能要问了,本地策略不用配置动作的吗?用set加问号,得到帮助提示,可以看到动作默认是deny,所以不用加动作设置。
⑧ 从本地策略的配置上我们可以理解为,匹配FortiGate防火墙IP地理位置数据库中国家为US的IP地址,访问wan1口将会被拒绝。那是不是真的会拒绝呢?没有创建本地策略时,防火墙的wan1接口从公网上是可以ping通的。
⑨ 创建本地策略后,当美国的公网IP去ping防火墙的wan1口时,访问被拒绝了。本地策略有效。
⑩ 在命令下删除本地策略只需要用到delete加策略号,就可以完成。
【总结】地理地址对象使用防火墙上的IP地理位置数据库,来判断IP属于哪个国家,同其它地址对象一样,可以在策略中使用地理地址对象,来限制对某些国家的IP的访问。