管理安全和 NAT 策略的 PaloAlto CLI 示例

举报
Tiamo_T 发表于 2022/10/19 08:20:19 2022/10/19
【摘要】 在使用 PaloAlto 防火墙时,有时您会发现使用 CLI 而不是控制台更容易。

在使用 PaloAlto 防火墙时,有时您会发现使用 CLI 而不是控制台更容易。

当您在开发/测试防火墙上测试某些东西时,使用 CLI 非常有帮助,您在其中反复尝试具有不同值的相同东西,并且不想从 UI 进行多次单击并重新输入所有内容。

在本教程中,我们将解释如何从 CLI 创建和管理 PaloAlto 安全和 NAT 规则。下面举例说明:

  1. 查看当前的安全策略
  2. 仅查看安全策略名称
  3. 创建新的安全策略规则 – 方法 1
  4. 创建新的安全策略规则 – 方法 2
  5. 将安全规则移动到特定位置
  6. 提交和审查安全规则更改
  7. 删除现有安全规则
  8. 查看当前的 NAT 策略
  9. 创建新的 NAT 规则策略
  10. 将 NAT 规则移动到特定位置
  11. 提交并验证 NAT 规则更改
  12. 删除现有的 NAT 规则
  13. 同时查看安全规则和 NAT 规则
  14. 设置输出格式 - 内部配置
  15. 设置输出格式 - 外部配置

1. 查看当前的安全策略

首先,使用 ssh 从 CLI 登录到 PaloAlto,如下所示。

$ ssh admin@192.168.101.200
admin@PA-FW>

要查看当前的安全策略,请执行 show running security-policy,如下所示。

admin@PA-FW> show running security-policy

"AllowMgmt; index: 1" {
        from Untrust;
        source any;
        source-region none;
        to Trust;
        destination any;
        destination-region none;
        user any;
        category any;
        application/service [0:ssh/tcp/any/22 1:ping/icmp/any/any ];
        action allow;
        icmp-unreachable: no
        terminal yes;
}

"AllowWebAccess; index: 2" {
        from Untrust;
        source any;
        source-region none;
        to Trust;
        destination any;
        destination-region none;
        user any;

上述命令的输出将采用 JSON 格式。

2. 仅查看安全策略名称

如果您有许多安全规则,并且喜欢只查看安全规则名称而不是其详细信息,则使用 match 命令仅获取 JSON 输出的第一行,其中包含关键字“index”,如下所示。


admin@PA-FW> show running security-policy | match index
"AllowMgmt; index: 1" {
"AllowWebAccess; index: 2" {
"WebServerToExternal; index: 3" {
"intrazone-default; index: 4" {
"vsys1+interzone-default; index: 5" {

如上图所示,在这个系统中,目前有 5 条安全规则。

3. 创建新的安全策略规则 – 方法 1

要创建新的安全规则,请使用 set rulebase 命令,如下所示。

首先进入如下图的配置模式。

admin@PA-FW> configure
Entering configuration mode
[edit]

从配置模式,创建安全规则,如下所示。这将创建一个名为 TheGeekStuffInternal 的安全规则。

set rulebase security rules ThehgstInternal from Untrust to Trust source any destination any application any service any action allow

在这个阶段,如果您确实显示正在运行的安全策略,您将看不到上面新创建的安全规则,因为它尚未提交。但是,如果您登录到控制台,您将看到这条新规则。

4. 创建新的安全策略规则 – 方法 2

除了在一行中指定所有安全规则的值,您还可以在多行中指定,如下所示。

下面将使用以下配置值创建一个名为 TheGeekStuffExternal 的新安全规则。

在本教程中,到目前为止,我们已经创建了两个安全规则。在此之后,如果您登录到 PaloAlto 控制台,您将看到这两个规则。

5. 将安全规则移动到特定位置

下面将把 TheGeekStuffInternal 规则移到列表顶部。此规则将首先执行。

move rulebase security rules ThehgstInternal top

除了顶部或底部,您还可以在现有规则之前或之后移动规则,如下所示。

下面将把 TheGeekStuffExternal 移到已经存在的 AllowWebAccess 规则之前。

move rulebase security rules ThehgstExternal before AllowWebAccess

在上面两条命令之后,安全规则会重新排列。

有效动作是:顶部、底部、之前或之后。

6. 提交和审查安全规则更改

创建/修改规则后,键入 commit 如下所示以提交更改。

admin@PA-FW# 提交
提交作业 5 正在进行中。使用 Ctrl+C 返回命令提示符
...55%70%98%.......100%

成功提交后,您将看到如下所示的新规则。

admin@PA-FW> show running security-policy | match index

"ThehgstInternal; index: 1" {
"AllowMgmt; index: 2" {
"ThehgstExternal; index: 3" {
"AllowWebAccess; index: 4" {
"WebServerToExternal; index: 5" {
"intrazone-default; index: 6" {
"vsys1+interzone-default; index: 7" {

如果新的安全规则有问题,您可能会收到如下所示的验证错误:

Validation Error:
 rulebase -> security -> rules -> TheGeekStuffInternal  is missing 'source'
 rulebase -> security -> rules is invalid

如果您创建的新规则与现有规则相似,您将收到以下影子规则警告消息。

vsys1
   Security Policy:
   - Rule 'ThehgstInternal' shadows rule 'AllowMgmt'
   - Rule 'ThehgstExternal' shadows rule 'AllowWebAccess'
(Module: device)

7. 删除现有的安全规则

执行以下命令删除现有的安全规则

delete rulebase security rules 

8. 查看当前的 NAT 策略

下面将以json格式显示所有现有的NAT安全规则。

admin@PA-FW> show running nat-policy

"NAT2WebServer; index: 1" {
        nat-type ipv4;
        from Untrust;
        source any;
        to Untrust;
        to-interface  ;
        destination 192.168.0.10;
        service 0:any/any/any;
        translate-to "dst: 192.168.5.50";
        terminal no;
}

"NAT2External; index: 2" {
        nat-type ipv4;
        from Trust;
        source any;
        to Untrust;
        to-interface  ;
        destination any;
        service 0:any/any/any;
        translate-to "src: 192.168.0.10 (dynamic-ip-and-port) (pool idx: 1)";
        terminal no;
}

9. 创建新的 NAT 规则策略

以下将创建名为 TheGeekStuffNAT 的新 NAT 规则

configure
set rulebase nat rules Thehgst source-translation dynamic-ip-and-port interface-address interface ethernet1/2

您可以编辑现有的 NAT 规则,或向上述新创建的 NAT 规则添加附加信息,如下所示。

设置规则库 nat 规则 Thehgst 动态目标翻译翻译地址 192.168.6.40
设置规则库 nat 规则 Thehgst 动态目标翻译翻译端口 80
将规则库 nat 规则 Thehgst 设置为 Untrust
从 Untrust 设置规则库 nat 规则 Thehgst
设置规则库 nat 规则 Thehgst 源任意
设置规则库 nat 规则 Thehgst 目的地 192.168.6.40
设置规则库 nat 规则 Thehgst 服务任何
设置规则库 nat 规则 Thehgst 到接口任何


10. 将 NAT 规则移动到特定位置

下面将把 TheGeekStuffNAT 移到列表的顶部。

move rulebase nat rules ThehgstNAT top

以下将在现有的 NAT2WebServer 规则之后移动 TheGeekStuffNAT。

move rulebase nat rules Thehgst after NAT2WebServer

有效的动作是:top、bottom、before、after

11. 提交并验证 NAT 规则更改

创建新的 NAT 规则后,提交更改,如下所示。

admin@PA-FW# commit
Commit job 8 is in progress. Use Ctrl+C to return to command prompt
...55%70%98%.......100%
Configuration committed successfully

验证以确保成功创建新的 NAT 规则,如下所示。

admin@PA-FW> show running nat-policy | match index
"NAT2WebServer; index: 1" {
"NAT2External; index: 2" {
"TheGeekStuffNAT; index: 3" {

12. 删除现有的 NAT 规则

执行以下命令删除现有的 NAT 规则

delete rulebase nat rules

13. 同时查看安全和 NAT 规则

您还可以使用 show 命令同时查看安全规则和 NAT 规则,如下所示。

admin@PA-FW> configure
Entering configuration mode
[edit]

admin@PA-FW# edit rulebase security
[edit rulebase security]

admin@PA-FW# show
security {
  rules {
    AllowMgmt {
      to Trust;
      from Untrust;
      source any;
      destination any;
      source-user any;
      category any;
      application [ ping ssh];
      service application-default;
      hip-profiles any;
      action allow;
    }

如果您希望 show 命令仅显示 NAT 规则,请先进入 NAT 编辑模式,如下所示,然后执行 show。

admin@PA-FW# edit rulebase nat
[edit rulebase nat]

admin@PA-FW#
[edit rulebase nat]

admin@PA-FW# show
nat {
  rules {
    NAT2WebServer {
      destination-translation {
        translated-address 192.168.5.50;
      }
      to Untrust;
      from Untrust;
      source any;
      destination 192.168.0.10;
      service any;
    }

就像上面一样,您也可以通过“编辑规则库安全”然后“显示”来为安全规则执行此操作

14. 设置输出格式 - 内部配置

正如您从前面的示例中看到的,默认情况下 show 将以 JSON 格式显示输出。

您可以更改此行为,以设置格式显示输出,如下所示。当您只想复制输出并更改特定值然后将其粘贴回 CLI 时,这非常有用。

要更改输出格式,请使用 set cli 命令并将 config-output-format 的值更改为如下所示的设置。

admin@PA-FW# run set cli config-output-format set
[edit rulebase nat]

完成上述操作后,show 将开始以设置格式(而不是默认的 JSON 格式)显示输出。

admin@PA-FW# show
set rulebase nat rules NAT2WebServer destination-translation translated-address 192.168.5.50
set rulebase nat rules NAT2WebServer to Untrust
set rulebase nat rules NAT2WebServer from Untrust
set rulebase nat rules NAT2WebServer source any
set rulebase nat rules NAT2WebServer destination 192.168.0.10
set rulebase nat rules NAT2WebServer service any
set rulebase nat rules NAT2External source-translation dynamic-ip-and-port translated-address 192.168.0.10
set rulebase nat rules NAT2External to Untrust
set rulebase nat rules NAT2External from Trust
set rulebase nat rules NAT2External source any
set rulebase nat rules NAT2External destination any
set rulebase nat rules NAT2External service any

注意:在上面,运行命令是在我们执行配置命令之后执行的。

以下是 set 命令的可能选项。

run set cli config-output-format default
run set cli config-output-format json
run set cli config-output-format set
run set cli config-output-format xml

15.设置输出格式——外部配置

注意:如果您在配置模式之外,请不要在前面运行,如下所示。

在下文中,我们不在配置选项中。在这里,运行命令无效。

admin@PA-FW> run set cli config-output-format set
Unknown command: run

当你在configure外面的时候,直接执行set命令,不要在前面运行,如下图。

admin@PA-FW> set cli config-output-format set
admin@PA-FW>

现在,进入配置,然后您将看到设置格式的输出,如下所示。

admin@PA-FW> configure
Entering configuration mode

admin@PA-FW# edit rulebase nat
[edit rulebase nat]

admin@PA-FW# show
set rulebase nat rules NAT2WebServer destination-translation translated-address 192.168.5.50
set rulebase nat rules NAT2WebServer to Untrust
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。