本記事はPaloAltoにおいて多数のアドレスオブジェクトを作成する際に、ChatGPTを利用し、GUIの操作や、CLIはコマンドの作成のために必要な手間や時間を、削減することができるのか、検証する記事となります。
目次
実施環境
以下の環境下で実施しております。
PA-820
PAN-OS 10.2.4-h4
ChatGPT4(2023/11/12)
※GPTs未使用
設定の内容
多数のIPアドレスやFQDNが記載されたリストから、それぞれ、アドレスオブジェクトを新規作成し、1つのアドレスグループにまとめることを目的とする。
設定変更を実施するにあたり、以下の内容を条件として指定する。
条件:
- アドレスオブジェクトに以下のIPアドレス、FQDNを合計34件追加する。
- IPアドレスの名称は、xxx.xxx.xxx.xxx_32のように最後に“_32”をつける。
- FQDNの名称は、値と同じとする。
- アドレスグループは新規作成し、名称は「group2023」とする。
- 追加したアドレスオブジェクトをすべてアドレスグループ「group2023」に入れる。
新規作成IPアドレス、FQDNリスト
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.1.5
1.1.2.1
1.1.2.2
1.1.2.3
1.1.2.4
1.1.2.5
1.1.3.1
1.1.4.1
1.1.5.1
1.1.5.2
1.1.5.3
1.1.5.4
1.1.5.5
1.1.5.6
1.1.5.7
1.1.5.8
1.1.5.9
1.1.5.10
1.1.5.11
1.1.5.21
1.1.5.31
1.1.5.41
1.1.5.51
1.1.5.61
1.1.5.71
1.1.5.81
1.1.5.91
1.1.5.101
www.example11.co.jp
www.example12.co.jp
ChatGPTに頼んでみる。
先程の条件を踏まえた、コマンドの作成をChatGPTに頼んでみた。
■依頼文
※『コピペで実行できるように出力してください』という文面を入れないと、回答が見やすいように改行して出力され、コピペで投入ができなくなるため記載しています。
※『省略せず、すべて記載してください。』という文面は、回答時にコマンドが省略されないように記載しています。
なお、言い回しを変えて、何度か試したが、回答時のコマンドが省略されてしまっているので意味はなかった。
回答時に省略されない書き方があるかも。
■ChatGPTからの回答
問題なくコマンドを作成してくれた…が一部のコマンドが省略されていた。(省略しないでって依頼しているのに…)
別に、コマンドの作り方が知りたいわけではなく、自分で作成する手間を省くことが目的のため、これでは意味がない。
…ということで、すべてのコマンドを作成してもらうように、再度依頼。
すると、
今度は、全コマンド作成してくれた。
見た感じは問題なさそうだが、このコマンドが、実際にそのままコピペで使えるのか、実機にて投入してみる。
コマンド投入
先ほど、ChatGPTにコマンドを作成してもらったので、コマンドをコピペで投入してみる。
まずは、コマンドを一気に投入するために、scriptingモードをONにする。
PaloAlto(active)> set cli scripting-mode on
コンフィグモードへ移行
PaloAlto(active)> configure Entering configuration mode [edit]
あとは、コマンドをChatGPTに作成してもらったので、それをそのまま、投入してみる。
まず、作成してもらった、IPアドレスのアドレスオブジェクト作成コマンドをコピーする。
set address 1.1.1.1_32 ip-netmask 1.1.1.1/32 set address 1.1.1.2_32 ip-netmask 1.1.1.2/32 set address 1.1.1.3_32 ip-netmask 1.1.1.3/32 set address 1.1.1.4_32 ip-netmask 1.1.1.4/32 set address 1.1.1.5_32 ip-netmask 1.1.1.5/32 set address 1.1.2.1_32 ip-netmask 1.1.2.1/32 set address 1.1.2.2_32 ip-netmask 1.1.2.2/32 set address 1.1.2.3_32 ip-netmask 1.1.2.3/32 set address 1.1.2.4_32 ip-netmask 1.1.2.4/32 set address 1.1.2.5_32 ip-netmask 1.1.2.5/32 set address 1.1.3.1_32 ip-netmask 1.1.3.1/32 set address 1.1.4.1_32 ip-netmask 1.1.4.1/32 set address 1.1.5.1_32 ip-netmask 1.1.5.1/32 set address 1.1.5.2_32 ip-netmask 1.1.5.2/32 set address 1.1.5.3_32 ip-netmask 1.1.5.3/32 set address 1.1.5.4_32 ip-netmask 1.1.5.4/32 set address 1.1.5.5_32 ip-netmask 1.1.5.5/32 set address 1.1.5.6_32 ip-netmask 1.1.5.6/32 set address 1.1.5.7_32 ip-netmask 1.1.5.7/32 set address 1.1.5.8_32 ip-netmask 1.1.5.8/32 set address 1.1.5.9_32 ip-netmask 1.1.5.9/32 set address 1.1.5.10_32 ip-netmask 1.1.5.10/32 set address 1.1.5.11_32 ip-netmask 1.1.5.11/32 set address 1.1.5.21_32 ip-netmask 1.1.5.21/32 set address 1.1.5.31_32 ip-netmask 1.1.5.31/32 set address 1.1.5.41_32 ip-netmask 1.1.5.41/32 set address 1.1.5.51_32 ip-netmask 1.1.5.51/32 set address 1.1.5.61_32 ip-netmask 1.1.5.61/32 set address 1.1.5.71_32 ip-netmask 1.1.5.71/32 set address 1.1.5.81_32 ip-netmask 1.1.5.81/32 set address 1.1.5.91_32 ip-netmask 1.1.5.91/32 set address 1.1.5.101_32 ip-netmask 1.1.5.101/32
PaloAltoへ貼り付けて投入してみる(Tera Term使用)
アドレスオブジェクト作成のコマンドを投入すると、自動で順番に作成されていくので、処理が終了するのを待つ。
PaloAlto (active)# set address 1.1.1.1_32 ip-netmask 1.1.1.1/32 set address 1.1.1.2_32 ip-netmask 1.1.1.2/32 set address 1.1.1.3_32 ip-netmask 1.1.1.3/32 set address 1.1.1.4_32 ip-netmask 1.1.1.4/32 set address 1.1.1.5_32 ip-netmask 1.1.1.5/32 ~~~省略~~~
ChatGPTにて作成したコマンド投入後、処理が終了すると、IPアドレスオブジェクトが作成されたことが確認できた。
次にFQDNについても同様にChatGPTに作成してもらった以下コマンドを投入してみる。
set address www.example11.co.jp fqdn www.example11.co.jp set address www.example12.co.jp fqdn www.example12.co.jp
PaloAlto(active)# set address www.example11.co.jp fqdn www.example11.co.jp set address www.example12.co.jp fqdn www.example12.co.jp
問題なくFQDNについても作成されたことが確認できた。
IPアドレスとFQDN合わせて34件のオブジェクト追加について、自分でコマンドを作成せずとも、一瞬で行うことができた。
34個のオブジェクトを制御するために、作成してもらったアドレスグループを作成するコマンドを投入する。
PaloAlto(active)# set address-group group2023 static [ 1.1.1.1_32 1.1.1.2_32 1.1.1.3_32 1.1.1.4_32 1.1.1.5_32 1.1.2.1_32 1.1.2.2_32 1.1.2.3_32 1.1.2.4_32 1.1.2.5_32 1.1.3.1_32 1.1.4.1_32 1.1.5.1_32 1.1.5.2_32 1.1.5.3_32 1.1.5.4_32 1.1.5.5_32 1.1.5.6_32 1.1.5.7_32 1.1.5.8_32 1.1.5.9_32 1.1.5.10_32 1.1.5.11_32 1.1.5.21_32 1.1.5.31_32 1.1.5.41_32 1.1.5.51_32 1.1.5.61_32 1.1.5.71_32 1.1.5.81_32 1.1.5.91_32 1.1.5.101_32 www.example11.co.jp www.example12.co.jp ] [edit]
これも、問題なくアドレスオブジェクトが作成されたことが確認できた。
コマンドは無事に投入できたので、条件を満たしているか確認する。
設定結果
最初の設定条件を満たしているか確認してみる。
条件:
- アドレスオブジェクトに以下のIPアドレス、FQDN合計34件追加する。
┗ ◯ アドレスオブジェクトが指定通りの34件とも作成されている。 - IPアドレスの名称は、xxx.xxx.xxx.xxx_32のように最後に“_32”をつける。
┗ ◯ 作成されたIPアドレスの名称に_32が付いている。 - FQDNの名称は、値と同じとする。
┗ ◯ 作成されたFQDNの名称は値と同じ。 - アドレスグループは新規作成し、名称は「group2023」とする。
┗ ◯ 作成されたアドレスグループの名称は「group2023」 - 追加したアドレスオブジェクトをすべてアドレスグループ「group2023」に入れる。
┗ ◯ 追加されたアドレスグループに指定した34件のオブジェクトが追加されている。
結果、
条件を完全に満たした、コマンドをChatGPTが作成してくれたので、34件のオブジェクトを作成しアドレスグループに追加するための手間や作業時間を大幅に短縮することができた。
あとは、作成したアドレスグループ『group2023』を制御したいポリシーの送信元や宛先に追加するだけで、楽に多数のアドレスオブジェクトを制御することができる。
備考
ChatGPTは同じ質問でも、回答内容や表現が異なる場合がありますので、本記事を参考にしても、全く同じ回答にはならないので注意してください。
※何度か試した限りでは、コマンドのミスはありませんでした。
また、セキュアヴェイル社では業務にChatGPTは利用しておらず、本検証は検証環境で実施しております。
本記事作成に使用した、ChatGPTの履歴
Share link to Chat
https://chat.openai.com/share/9acf9dfd-6c3f-4600-a367-857d41cf0c51
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。