FortiGate でファイアウォールポリシーを設定するときは、送信元や宛先に加えて、通してよいサービス(プロトコルとポート番号)を絞るのが一般的です。サービスはサービスオブジェクトとして登録しておき、ポリシーではその名前を選びます。
この記事では、カスタムサービスとして Zabbix agent(ポート 10050)と Zabbix trapper(ポート 10051)の2つを作り、それを1つのサービスグループ(Service_Group_Zabbix)にまとめる手順を確認します。検証時の FortiOS は 6.4.3 です。
- 定義済みのサービスの確認
- カスタムサービス(Zabbix agent/Zabbix trapper)の作成
- サービスグループ(Service_Group_Zabbix)へのまとめ方
サービスオブジェクトとサービスグループ
FortiGate のサービスには、次の3種類があります。どれもファイアウォールポリシーの サービス で選べます。
| 種類 | 内容 |
|---|---|
| 定義済みサービス | HTTP や HTTPS など、よく使う通信が最初から登録されています。編集、複製(クローン)、削除もできます。 |
| カスタムサービス | 定義済みにない通信を、プロトコルとポート番号を指定して自分で作ります。 |
| サービスグループ | 複数のサービス(ほかのサービスグループも含む)をまとめたものです。ポリシーで一度に指定できます。 |
定義済みのサービスを確認する
ポリシー&オブジェクト ›› サービス を開くと、HTTP や HTTPS など、あらかじめ登録されているサービスの一覧が表示されます。
この記事の画面は、実際の画面ではなく、検証時の画面から見るポイント(設定する項目)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| サービス名 | 詳細 | IP/FQDN |
|---|---|---|
| 2General (5) | ||
| ALL | ANY | |
| ALL_TCP | TCP/1-65535 | 0.0.0.0 |
| ALL_UDP | UDP/1-65535 | 0.0.0.0 |
| ALL_ICMP | ANY | |
| ALL_ICMP6 | ANY | |
| Web Access (2) | ||
| HTTP | TCP/80 | 0.0.0.0 |
| HTTPS | TCP/443 | 0.0.0.0 |
| File Access (8) | ||
| SAMBA | TCP/139 | 0.0.0.0 |
| SMB | TCP/445 | 0.0.0.0 |
| FTP | TCP/21 | 0.0.0.0 |
| ⋮(以下略) | ||
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 新規作成 | クリックすると サービス、サービスグループ、カテゴリ を選べます。 |
| 2 | General など | サービスはカテゴリごとにまとめて表示されます。かっこの中はサービスの数です。 |
通したい通信が定義済みのサービスにない場合は、カスタムサービスを作ります。
カスタムサービスを設定する
Zabbix agent を作成する
ポリシー&オブジェクト ›› サービス で 新規作成 ›› サービス をクリックし、Zabbix agent(ポート 10050)を設定します。
| 1名前 | Zabbix agent |
| コメント | |
| サービスリストに表示 | ON |
| 2カテゴリ | Uncategorized |
| 3プロトコルタイプ | TCP/UDP/SCTP |
| アドレス | ◉ IP範囲○ FQDN0.0.0.0 |
| 4宛先ポート | TCP 10050 – 10050 UDP 10050 – 10050 + |
| 送信元ポートを指定 | OFF |
| No. | 項目 | 設定する内容 |
|---|---|---|
| 1 | 名前 | 任意の名前です。今回は Zabbix agent にします。 |
| 2 | カテゴリ | 一覧で表示されるカテゴリです。今回は Uncategorized(未分類)のままにします。 |
| 3 | プロトコルタイプ | TCP/UDP/SCTP を選びます。ほかに ICMP、ICMP6、IP を選べます。 |
| 4 | 宛先ポート | TCP/UDP の種類と、ポート番号の範囲(小さい値と大きい値)を設定します。今回は 10050 番だけなので、どちらも 10050 にします。+ で行を足すと、1つのサービスに複数のプロトコルやポートを登録できます。 |
OK をクリックすると、一覧に登録されます。
| サービス名 | 詳細 | IP/FQDN | サービスリストに表示 | 参照 |
|---|---|---|---|---|
| ⋮(中略) | ||||
| CVSPSERVER | TCP/2401 UDP/2401 | 0.0.0.0 | ✖ 表示しない | 0 |
| MMS | TCP/1755 UDP/1024-5000 | 0.0.0.0 | ✖ 表示しない | 0 |
| NONE | TCP/0 | 0.0.0.0 | ✖ 表示しない | 0 |
| 1Zabbix agent | TCP/10050 UDP/10050 | 0.0.0.0 | ✔ 表示 | 20 |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | Zabbix agent | 作ったサービスです。詳細に TCP/10050 と UDP/10050 が並びます。 |
| 2 | 参照 0 | このサービスを使っているポリシーやグループの数です。まだどこからも使っていないので 0 です。 |
Zabbix trapper を作成する
同じ手順で、Zabbix trapper(ポート 10051)を作ります。
| 1名前 | Zabbix trapper |
| カテゴリ | Uncategorized |
| プロトコルタイプ | TCP/UDP/SCTP |
| 2宛先ポート | TCP 10051 – 10051 UDP 10051 – 10051 |
OK をクリックすると、2つ目のサービスが登録されます。
| サービス名 | 詳細 | IP/FQDN | サービスリストに表示 | 参照 |
|---|---|---|---|---|
| ⋮(中略) | ||||
| NONE | TCP/0 | 0.0.0.0 | ✖ 表示しない | 0 |
| 1Zabbix agent | TCP/10050 UDP/10050 | 0.0.0.0 | ✔ 表示 | 0 |
| Zabbix trapper | TCP/10051 UDP/10051 | 0.0.0.0 | ✔ 表示 | 0 |
Zabbix の公式ドキュメントでは、Zabbix agent(10050)と Zabbix trapper(10051)の通信はどちらも TCP です。この記事の検証では TCP と UDP の両方を登録していますが、Zabbix の通信を通すだけなら TCP だけでも足ります。許可するポートは必要な分だけにしておくと、ポリシーで通る通信を絞れます。
サービスグループを設定する
Service_Group_Zabbix を作成する
作った2つのサービスを、1つのサービスグループにまとめます。ポリシー&オブジェクト ›› サービス で 新規作成 ›› サービスグループ をクリックします。
名前に Service_Group_Zabbix を入力し、メンバー の + をクリックします。右側に エントリを選択 が表示されるので、Zabbix agent と Zabbix trapper を選びます。
| 1名前 | Service_Group_Zabbix |
| コメント | |
| 2メンバー | Zabbix agent ✖Zabbix trapper ✖+エントリを選択⋮ WAIS WINFRAME 3Zabbix agentZabbix trapper |
| No. | 項目 | 設定する内容 |
|---|---|---|
| 1 | 名前 | 任意の名前です。今回は Service_Group_Zabbix にします。 |
| 2 | メンバー | グループに入れるサービスです。+ をクリックして選びます。 |
| 3 | エントリを選択 | サービスとサービスグループの一覧から、Zabbix agent と Zabbix trapper を選びます。 |
OK をクリックすると、サービスグループが登録されます。
| サービス名 | 詳細 |
|---|---|
| ⊞ Remote Access (9) | |
| ⊞ Tunneling (8) | |
| ⊞ VoIP, Messaging & Other Applications (8) | |
| ⊞ Web Proxy (1) | |
| ⊞ 未分類 (27) | |
| ⊟ ファイアウォールグループ (5) | |
| Email Access | DNS, IMAP, IMAPS, POP3 ほか3件 |
| Exchange Server | DCE-RPC, DNS, HTTPS |
| 1Service_Group_Zabbix | Zabbix agent, Zabbix trapper |
| Web Access | DNS, HTTP, … |
サービスグループは、一覧の ファイアウォールグループ に表示されます。詳細の列で、メンバーの2つのサービスが確認できます。
ファイアウォールポリシーで使う
ファイアウォールポリシーの サービス に Service_Group_Zabbix を指定すると、Zabbix agent(ポート 10050)と Zabbix trapper(ポート 10051)の2つのサービスの通信に絞ることができます。サービスオブジェクトは、ポリシーで使ってはじめて効果があります。
ポリシーの設定項目については、ファイアウォールポリシー設定 の記事で確認しています。
- カスタムサービスは
config firewall service customで作ります。宛先ポートはset tcp-portrange 10050、set udp-portrange 10050のように、プロトコルごとに指定します。 - サービスグループは
config firewall service groupで作り、set member "Zabbix agent" "Zabbix trapper"のようにメンバーを指定します。 - 画面の
サービスリストに表示は、CLI のset visibilityに当たります。
まとめ
| 作るもの | メニュー | 設定した内容 |
|---|---|---|
| カスタムサービス | 新規作成 ›› サービス | Zabbix agent(TCP/UDP 10050)、Zabbix trapper(TCP/UDP 10051) |
| サービスグループ | 新規作成 ›› サービスグループ | Service_Group_Zabbix(メンバー:Zabbix agent、Zabbix trapper) |
| ポリシーでの指定 | ファイアウォールポリシー | サービスに Service_Group_Zabbix を指定する |
コメント