服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

实用工具:如何将PaloAlto防火墙规则自动迁移到OCI防火墙

日期: 来源:FreeBuf收集编辑:空城HC


Oracle Cloud Infrastructure Network Firewall 是下一代托管网络防火墙,入侵检测和预防服务(IDPS)适用于由Palo Alto Networks提供支持的Oracle Cloud Infrastructure (OCI) 虚拟云网络 (VCN)。


如果你一直使用PaloAlto 防火墙,并计划迁移到 Oracle Cloud Infrastructure (OCI) 网络防火墙,那么就需要将现有的防火墙规则转换为 OCI Network Firewall 策略。


如何使用自动化工具将防火墙规则从 PaloAlto 防火墙迁移至OCI 网络防火墙?在本文中,我将给大家答案。



使用此工具的前提条件


1.Python:在系统上安装 Python 3。


点击此链接(https://realpython.com/installing-python/)在电脑上安装 python。


2. 所需包:代码需要几个Python包才能运行,在电脑中运行以下命令,确保包能安装成功:


pip install pandas xml ipaddress

3. Palo Alto 配置文件:脚本需要一个名为config.xml的 Palo Alto 配置文件,并放置在与脚本相同的目录中,要确保文件是放在这个目录下。


点击此链接(https://docs.paloaltonetworks.com/pan-os/9-1/pan-os-admin/firewall-administration/manage-configuration-backups/save-and-export-firewall-configurations),从防火墙导出 running-config.xml。


4. 访问 OCI 防火墙服务:有权访问 OCI 防火墙服务,并且应该具有创建 IP 地址、IP 地址列表和应用程序列表的必要权限。


点击此链接(https://docs.oracle.com/en-us/iaas/Content/network-firewall/iam-policy-reference.htm),了解访问所需的 IAM 策略 — OCI 网络防火墙。


5. OCI API 密钥:需要有一个 OCI API 密钥才能访问 OCI API,可以从 OCI 控制台生成 API 密钥对。


6. OCI 配置文件:需要一个 OCI 配置文件,其中包含租赁 OCID、用户 OCID 和 API 密钥的位置,可以按照OCI 文档中的说明创建配置文件。


7. OCI SDK:在系统上安装 OCI SDK,通过在电脑中运行以下命令来安装 SDK:


pip install oci

有关不同操作系统的 OCI CLI 安装的详细说明,请观看以下视频:


Linux:观看此视频(https://www.youtube.com/watch?v=bY3jQMMHxdw)

Windows:观看此视频(https://www.youtube.com/watch?v=rEHwcJdRf8M)

Mac:观看此视频(https://www.youtube.com/watch?v=0k2Lj0oMDK4)


注意:如果未安装 OCI CLI,则可以将该工具创建的 JSON 文件复制到 OCI Web CLI(在 OCI 控制台中可用),然后执行 OCI CLI 命令来更新防火墙策略。



下面是更新 IP 地址列表的命令,然后是应用程序列表和安全规则。


oci network-firewall network-firewall-policy update --network-firewall-policy-id <ocid1.networkfirewallpolicy.oc1.ap-mumbai-1.xxxx> --ip-address-lists file://IP-Address-List.jsonoci network-firewall network-firewall-policy update --network-firewall-policy-id <ocid1.networkfirewallpolicy.oc1.ap-mumbai-1.xxxx> --application-lists file://Application-List.jsonoci network-firewall network-firewall-policy update --network-firewall-policy-id <ocid1.networkfirewallpolicy.oc1.ap-mumbai-1.xxxx> --security-rules file://security_rules_v2.json

(向右滑动,查看更多)



用法


使用“PaloAlto-Migration.py”脚本转换 PaloAlto 防火墙策略,请按照以下步骤操作:


1.在 Mac 或 Windows 计算机上打开终端或命令提示符。


2.使用“cd”命令导航到“PaloAlto-Migration.py”脚本所在的目录。


3.将 PaloAlto 防火墙备份 (running-config.xml) 文件移动到与脚本相同的文件夹中,将文件重命名为 config.xml。然后在 cmd 行/终端中,使用“cd”命令导航到该文件夹。


4.在终端或命令提示符中键入“python3 PaloAlto-Migration.py”,然后按 Enter。


Python3 PaloAlto-Migration.py

(向右滑动,查看更多)


5. 脚本将提供转换、安装防火墙规则、退出脚本三种选项。


选择适当的选项来转换 PaloAlto 防火墙策略,参考如下。


Please use this tool to convert - Palo Alto Firewall rules to OCI Network Firewall rulesSelect an option:1. Convert rules2. Install rules to OCI Firewall3. Exit

(向右滑动,查看更多)


第一次执行脚本时,选择选项 1,然后输出应如下所示。


Enter option number: 1Executing Python script A to convert rules...Coversion Done!! Review the missing_items.xlsx , update the IP-Address or Service columns without fail!

(向右滑动,查看更多)


a) PaloAlto 防火墙允许管理员在安全规则中输入 IP 地址,而无需创建 IP 地址对象。但是对于OCI防火墙来说,这些对象需要先创建,然后才能在安全规则中使用。


b) 此外,PaloAlto 防火墙允许管理员在安全规则中使用 App-ID。但是,如果使用此类 App-ID,它们将不会自动添加到 OCI Application-List.json 中。


因此,该脚本会生成一个名为“missing_items.xlsx”的 Excel 工作表,需要管理员手动输入丢失对象的详细信息。


点击下面的演示视频了解如何运行此工具:


验证“missing_items.xlsx”表并输入所需的详细信息后,继续执行选项 2,输出将如下例所示:


Enter option number: 2Executing Python script B to install rules to OCI Firewall...Enter compartment OCID: ocid1.compartment.oc1..aaaaaaaa5nmydshoioxvnbqobahkt5yu7dz4hynywmea74ag4qeecydaiq6aEnter display name: PaloAlto-demoEnter profile name: DEFAULTWait while your new firewall policy is getting created :{"opc-work-request-id": "ocid1.networkfirewallworkrequest.oc1.ap-hyderabad-1.amaaaaaadrm45caaxmzpl6fh6pr4n5cc3rh4zr23vwiio7f2q4thdphimi3q"}Wait while your IP-Address-List is getting updated..{"opc-work-request-id": "ocid1.networkfirewallworkrequest.oc1.ap-hyderabad-1.amaaaaaadrm45caanq73khkk6sfk6zbf3ynisgx725cs5uthdhqly4j4hxqq"}Wait while your Application-List is getting updated..{"opc-work-request-id": "ocid1.networkfirewallworkrequest.oc1.ap-hyderabad-1.amaaaaaadrm45caayphi6lii7dxdbn5k36bitxciauurzpdsjs5xuqsw7nuq"}Wait while your Security-rules are getting updated..
Select an option:1. Convert rules2. Install rules to OCI Firewall3. ExitEnter option number: 3Exiting...

(向右滑动,查看更多)


成功运行脚本后,我们应该会看到在脚本运行的路径中创建了三个 JSON 文件(IP-Address-List.json、Applications-List.json 和 Security_Rules_v2.json),然后是脚本尝试在 OCI 防火墙中安装策略。


点击此处(https://github.com/karthikmani84/PaloAlto-Migration-Tool)下载脚本


重要提示


截至目前,OCI 网络防火墙的 GUI(图形用户界面)限制用户创建超过 25 个对象,例如 IP 地址列表、应用程序列表和 URL 列表。不过OCI Firewall 产品团队正在努力去除这一限制。


此脚本使用 API 来创建迁移规则所需的其他对象。我已成功迁移包含多达 300 条安全规则和 600 个对象(包括 IP 地址和应用程序)的规则。如果你的规则库比这个大,转换它们应该不是问题。但是,在 OCI 防火墙上安装它们时可能会遇到错误。


在这种情况下,可以向 OCI 网络防火墙团队反馈,请求协助。



已知的问题


1.此工具使用来自 PaloAlto 防火墙的 XML 文件作为输入。如果它们的 XML 格式发生变化,则意味着需要更改此代码的某些部分。


2.此版本的代码仅关注防火墙访问规则。PBR(基于路由的策略/基于策略的路由)不会作为此代码的一部分导出。


3.如果还想查看 PaloAlto 防火墙和 OCI 网络防火墙中使用的功能。OCI 的本地防火墙非常精简,预计不会充当 NAT、VPN、代理或路由设备。此类功能,当你选择使用 OCI Network Firewall 时,将迁移到其他原生服务。因此,这些规则不会一起迁移。


4.“missing_items.xlsx”将列出 IP 地址和应用程序列表中缺少的 IP 地址对象名称和服务对象名称。这些详细信息必须在 Excel 中手动捕获。该代码不对输入进行任何格式检查。如果输入的 IP 地址或服务详细信息不正确,将无法安装。



代码设计


PaloAlto-Migration.py:


提供3个选项(1.转换规则;2.安装规则;3.退出)。

选项 1:执行 PA-Convert.py。

选项 2:执行 PA-Install.py。

选项 3:退出。

PA-Convert.py:


清理对象名称的功能是按照 OCI 网络防火墙喜欢的方式创建的。

Palo Alto Config.xml 文件已加载。

config.xml 中的 IP 地址对象、IP 地址组和 IP 范围详细信息将转换为 IP-Address.json。

具有端口/协议信息的服务对象和服务组将转换为 Apps-List.json。

security_rules.json 使用从 config.xml(安全规则部分)中提取的源、目标和应用程序创建。

将 IP-Address.json 和 Apps-List.json 与 security-rules.json 进行比较,将安全规则中不在其他两个 JSON 文件中的 IP 地址和应用程序导出到名为“missing_items.xlsx”的 Excel 工作表。

PA-Install.py:


阅读“missing_items.xlsx”并对 App-List.json 进行更正并创建 Application-List.json。

阅读“missing_items.xlsx”并对 IP-Address.json 进行更正并创建 IP-Address-List.json。

识别混合了基于 ICMP 和 TCP/UDP 的应用程序的安全规则。将它们创建为单独的规则,因为 OCI 防火墙不允许使用 ICMP 和非 ICMP 应用程序创建访问规则。然后创建 Security_Rules_v2.json。

最后,在 OCI 中创建防火墙策略并使用 OCI CLI 集成(如果可用!)推送 JSON 文件。



最后


防火墙规则迁移通常是我们准备更换现有防火墙时最耗时的步骤。本文介绍的这种工具可以帮助大家快速地完成,但是大家还是要仔细规划生产网络上的防火墙迁移。


参考来源

https://medium.com/oracledevs/how-to-automate-conversion-of-firewall-rules-from-paloalto-to-oci-network-firewall-acbecddd7345

精彩推荐






相关阅读

  • 防火墙 firewalld 的常用命令

  • firewalld是Linux中最长用的防火墙之一。初次配置后,后面基本没有什么多大的变动。但是想再次想要添加对应的防火墙断开,命令又忘记了。现对常用命令做一简单的汇总。方便学习
  • 瑞友天翼应用虚拟化系统远程代码执行漏洞

  • 网安引领时代,弥天点亮未来 0x00写在前面本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!0x01漏洞介绍瑞友天翼应用虚拟化系统是由西安瑞友信息技术资讯
  • 规则推荐,这个合集一般人不敢用!

  • 不星标可能收不到消息,记得星标公众号回复QQ群获取群号前言今天给大家推荐一个轻合集小程序,由153大佬维护,它叫轻合集.鬼屋,不过其实并不是全是恐怖小程序轻合集.鬼屋什么时候
  • 两个规则修复,务必更新!

  • 不星标可能收不到消息,记得星标公众号回复QQ群获取群号前言小棉袄最近发现AI豌豆这个小程序规则失效了,于是简单修复了一下,同时给大家分享一下豌豆AI这个规则的最新版两个豌豆
  • 优质规则已修复!

  • 不星标可能收不到消息,记得星标公众号回复QQ群获取群号前言今天又给大家分享一个规则,JustLive,Joe大佬修复版JustLive规则根据同名网站写来的,支持虎芽、逗鱼等4个平台的直播,支
  • 专访:“零和博弈只会进一步孤立和削弱美国”

  • 巴西瓦加斯基金会金融专家夏华声日前接受新华社记者采访时表示,美国热衷于零和博弈,一再对全球贸易和投资规则发起挑战,通过采取违反国际贸易规则的做法,从发展中国家争
  • 万文解析openvswitch中流表转发原理

  • 在过去10几年里面,虚拟化已经改变了应用,数据,服务的实现部署方式。据Gartner 2016的报道[1],80%的x86 workload已经是虚拟化,其中大部分是虚拟机,但是容器所占比例正以极快的增长
  • 一个插件,让你的 ChatGPT 不再报错!

  • 公众号关注 “GitHubDaily”设为 “星标”,每天带你逛 GitHub!最近几天,相信大家都发现了 ChatGPT 一个问题,就是官网报错越来越频繁了。当你需用 ChatGPT 来处理一些比较琐碎的

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四
  • 美国对华2000亿关税清单,到底影响有多大?

  • 1 今天A股大跌,上证最大跌幅超过2%。直接导火索是美国证实计划对华2000亿美元产品加征25%关税。 听起来,2000亿美元数目巨大,我们来算笔账。 2000亿美元,按现在人民币汇率

最新文章

  • WPHunter:一款功能强大的WordPress漏洞扫描工具

  • 关于WPHunter WPHunter是一款功能强大的WordPress漏洞扫描工具,在该工具的帮助下,广大研究人员可以在WordPress站点上使用该工具,并通过查找网站中潜在的安全漏洞来检查网站的
  • 7月1日实施,《反间谍法》正式发布

  • 4月26日,十四届全国人大常委会第二次会议表决通过修订后的《反间谍法》。新法完善了间谍行为的定义,将“投靠间谍组织及其代理人”、“针对国家机关、涉密单位或者关键信息基
  • 定了!今年高考于6月7日、8日举行

  • 刚刚,四川省教育考试院发布《四川省2023年普通高校招生实施规定》,明确了全省高考(一类模式高考除外)于6月7日、8日统一组织进行。各科目考试时间(北京时间)安排如下:文史类考生考