皆さんこんにちは!SB C&Sで Fortinet 製品のプリセールスを担当している長谷川です。
お客様から、大量のURLリストをいただき、WEBフィルタとして、FortiGateへ投入しなければならないときや、FortiGateのアドレスオブジェクトは、最大何個作成できるか検証しなければならない、といったとき、どのように対応していますか?
今回は、FortiGateに大量のリスト(例としてアドレスオブジェクト)を投入する方法を紹介いたします。
必要な環境
FortiGate側での用意
CLI画面を操作できるように、SSH/TELNET などの管理アクセスの許可
※コンソール接続でも実施可能ですが、転送速度(9600bps)の関係で、大量の表示には向いていません。
コンフィグファイル
クライアント環境での用意
ターミナルソフト(TeraTermなど)
※CLIでの操作でコンフィグを投入したい場合
TeraPad(テキストエディタ)
※¥n (改行)や、¥t (タブ) といった特殊文字列を変換します
※本ページに記載されている ¥(円マーク) は、すべて全角になっているため、実際の作業では半角で操作してください。
Microsoft Office Excel
※csvファイルの操作を行います。
コンフィグファイルの準備
FortiGateに、アドレスオブジェクトを1つ追加します。
(オブジェクト名は、hasegawa1, hasegawa2)
コンフィグファイルをダウンロードします。
投入するコンフィグパターンの確認
コンフィグファイルを、TeraPadで開き、作成したオブジェクト名(hasegawa)を検索します。
アドレスオブジェクトの構文は、
config firewall address
end
という大きな項目がアドレスオブジェクト全体となり、
edit xxx
next
が、1つのオブジェクトと推測できそうです。
※UUIDは、自動生成かつランダムな値なため、無視します。
投入コンフィグの作成
次に、エクセルを使用し、大量のアドレスオブジェクトの元を作成します。
エクセル上には、下記の列を作成します。
edit, xxx, set subnet, yyy, , zzz, next
※xxx はオブジェクト名、yyy/zzz は、アドレスとサブネットマスク
※yyyとzzzの間に、1列空白列を追加しておきます。
今回は、xxxと、yyyを連番で大量(10個ほど)に作成します。
作成したデータを、csv で保存します。
保存したcsvデータを、TeraPadで開きます。
TeraPadで、置換を行います。
今回は、FortiGateに流し込める形に変換するために、','(カンマ) を、¥n (改行) に置換します。
この際に、¥n (改行)や、¥t (タブ) を認識できるように、チェックボックスにチェクを入れてから実行します。
すると、改行すべきでない箇所まで改行してしまいましたが、このまま継続します。
続いて、
edit xxx
set subnet yyy zzz
next
という形にするため、"edit¥n" を、"edit " に置換します。
※この作業は、改行部を消しています。
※"edit " ←こちらにスペースを忘れずに!!!
更に、"¥n¥n" を、' '(スペース) に置換します。
最後に、"subnet¥n" を 'subnet '(スペース)に置換します。
これで、 目的の形である、
edit xxx
set subnet yyy zzz
next
になりました。
このあとは、最初の行に、
config firewall address
を追加し、最後の行に
end
を追加し、保存します。
これで、CLI操作で投入できる形になっているため、SSH/TELNET/コンソールにて投入できますが、1回に約30行ほどしか導入できないため、WebUI画面より、一気にファイルを取り込ませます。
システム >> 高度 >> 設定スクリプト
より、"新しいスクリプトをアップロードして実行" を押下し、ファイルを選択します。
これで、無事に大量のコンフィグを投入することができました。
以上、ご拝読ありがとうございました。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
技術統括部 第2技術部 1課
長谷川 聡