このハンズオンについて
誰でも無料で使用できる FortiGate の仮想アプライアンスである FortiGate VM の評価ライセンスを使用して、FortiGate の実践的な学習をしていこうという講座です。
今回は、外部の Syslog サーバへのログ転送を設定して動作確認してみます。
- ハンズオン[1]: FortiGate VM をインストールしよう
- ハンズオン[2]: 基本的なネットワーク設定をしよう
- ハンズオン[3]: 試験用の Windows 10 仮想端末をつくろう
- ハンズオン[4]: ファイアウォールポリシーを設定しよう
- ハンズオン[5]: HA 構成を構築して動作確認しよう
- ハンズオン[6]: トラフィックログを Syslog サーバに転送しよう ★現在地
作業環境
- FortiGate VM 7.0.5
- VMware Workstation Player 16.2.3
- VMware ESXi 7.0.3
今回の実施内容
前回の ハンズオン[5]: HA 構成を構築して動作確認しよう まで実施している場合、仮想ネットワーク環境は以下画像のようになっているはずです。

※各ネットワークのセグメント情報は各自の環境によって変わります
今回は、ホストマシンに Syslog サーバソフトを導入してホストマシンを Syslog サーバとして使用します。そして、FortiGate ではホストマシンの NAT アダプタにログを転送する設定をして、ログ転送機能の動作確認をしてみます。

- ホストマシンに Syslog サーバソフトを導入して Syslog サーバとして使用
- FortiGate にて Syslog サーバにログを転送する設定を実施して動作確認
ホストマシンに Syslog サーバソフトを導入
まずはホストマシンに Syslog サーバソフトを導入します。
Windows 用の Syslog サーバソフトはいくつかあると思いますが、ここでは Serva (Community) を使用します。Serva ダウンロードページから Serva の Community 版をダウンロードしてください。

ZIP ファイルをダウンロードできるため、任意のフォルダに解凍してください。Serva はインストールせずに解凍するだけでそのまま実行できます。

ホストマシンの OS ビットによって使用する実行ファイルを選択してください。
Serva を起動すると以下画面が表示されます。[I’m a “Community” user] をクリックしてください。(起動から 7 秒後にこのボタンが有効化されます。)

以下の画面が表示されるため、左上のアイコン部分をクリックし、Settings をクリックします。

設定画面が表示されるため、[SYSLOG] タブを開きます。[Service Up/Down > SYSLOG Server] にチェックを入れてください。これで Syslog サーバ機能を有効化できます。さらに [SYSLOG Settings > Save msg to file] でファイルを指定すると、指定したファイルに受信したログをテキストで保存できます。こちらはオプションです。

設定変更後、画面下の [OK] をクリックして設定を確定します。設定変更後は Serva を一度閉じて再度起動してください。Serva で設定変更した後は反映のために再起動が必要です。再起動後、以下のように [SYSLOG] タブが追加されたことを確認してください。このタブ画面上に受信したログメッセージが表示されます。

以上でホストマシンへの Syslog サーバソフトの導入は完了です。
FortiGate での Syslogサーバへのログ転送設定
ログ転送先 Syslog サーバの設定
ログ転送先 Syslog サーバの設定を GUI で行う場合は、[ログ&レポート > ログ設定] 画面の [リモートロギングとアーカイブ] 欄で設定できます。
以下のように [ログをsyslogへ送信] を有効化し、Syslog サーバの IP アドレス(ホストマシンの NAT アダプタのアドレス)を入力してください。

ただし、GUI では一つ目のログ転送先 Syslog サーバの IP アドレスしか設定できないため、以下の CLI での設定も覚えておいてください。
CLI でログ転送先 Syslog サーバの設定は config log syslog<id>
で設定します。以下の通り Syslog サーバは最大 4 サーバまで指定できます。
FortiGate01 # config log syslog
syslogd Configure first syslog device.
syslogd2 Configure second syslog device.
syslogd3 Configure third syslog device.
syslogd4 Configure fourth syslog device.
さらに、各 Syslog サーバ毎に filter
と setting
の設定があります。
FortiGate01 # config log syslogd
filter Filters for remote system server.
setting Global settings for remote syslog server.
filter
では転送対象のログレベル(severity
)などの設定ができ、setting
では転送先 Syslog サーバの設定ができます。
ログ転送先 Syslog サーバの設定(CLI)
ログ転送先 Syslog サーバの設定は config log syslogd setting
で行います(一つ目の Syslog サーバを設定する場合)。
最低限、status
を enable
にし、server
で IP アドレス
を指定します。
FortiGate01 # show log syslogd setting
config log syslogd setting
set status enable
set server "192.168.75.1"
end
その他、プロトコル (udp/tcp)、ポート番号 (デフォルトは 514)、ファシリティ (デフォルトは local7) などを設定することもできます。
FortiGate01 # show full-configuration log syslogd setting
config log syslogd setting
set status enable
set server "192.168.75.1"
set mode udp
set port 514
set facility local7
set source-ip ''
set format default
set priority default
set max-log-rate 0
set interface-select-method auto
end
転送対象のログレベル(severity)
転送対象のログレベル(severity
)の設定は config log syslogd filter
で行います(一つ目の Syslog サーバを設定する場合)。
デフォルトの severity
は information
です。
config log syslogd filter
set severity information
end
severity
の設定値は以下があります。指定したレベル以上のログが転送対象になります。
FortiGate01 (filter) # set severity
emergency Emergency level.
alert Alert level.
critical Critical level.
error Error level.
warning Warning level.
notification Notification level.
information Information level.
debug Debug level.
デフォルトの information
では debug
以外のすべてが対象になります。
ポリシー設定におけるログ設定
許可トラフィックのログ
許可されたトラフィックのログを Syslog サーバに転送するためには、ポリシー設定において、そのポリシーにて許可されたトラフィックのログを保存するよう設定する必要があります。
対象のログ設定画面の [ロギングオプション > 許可トラフィックをログ] の値を [すべてのセッション] にしてください。

なお、デフォルトではセッション終了時のログのみ保存されます。セッション開始時のログも追加的に保存したい場合は、CLI で対象ポリシーに対して以下の設定が必要です。
config firewall policy
edit <id>
set logtraffic-start enable
next
end
拒否トラフィックのログ
拒否トラフィックについてのログ設定は、アクションが拒否となっているポリシーがあればそのポリシーで、無ければ暗黙の拒否ポリシーの設定画面で設定します。

暗黙の拒否ポリシーの場合は、以下のように [IPv4違反トラフィックをログ] という項目があるため、これを有効化します。

Syslog サーバへのログ転送動作確認
ハンズオン[3]: 試験用の Windows 10 仮想端末をつくろう で構築した Windows 10 仮想端末があるかと思います。ここからインターネット宛に Web アクセスをして、そのトラフィックログが Syslog サーバで表示されるかを確認してみます。

Windows 10 仮想端末のブラウザ上で適当に Web アクセスしてから、ホストマシンで起動している Serva の画面を確認してみてください。
以下のように Serva 画面上にログが表示されていれば成功です。

ログ内容を少し確認してみましょう。
Sun May 29 16:37:49 2022: <189>date=2022-05-29 time=16:37:49 devname=”FortiGate01″ devid=”FGVMEV0DAGPMG6DB” eventtime=1653809868948594864 tz=”+0900″ logid=”0000000013″ type=”traffic” subtype=”forward” level=”notice” vd=”root” srcip=192.168.200.10 srcport=54922 srcintf=”port2″ srcintfrole=”undefined” dstip=52.137.106.217 dstport=443 dstintf=”port3″ dstintfrole=”undefined” srccountry=”Reserved” dstcountry=”United States” sessionid=17963 proto=6 action=”close” policyid=1 policytype=”policy” poluuid=”5cf8f232-de63-51ec-0516-da6e1fda7975″ policyname=”192.168.200.0/24_to_internet_web” service=”HTTPS” trandisp=”snat” transip=192.168.179.253 transport=54922 duration=1 sentbyte=2355 rcvdbyte=4530 sentpkt=13 rcvdpkt=10 appcat=”unscanned”
- devname=”FortiGate01″
- ログの転送元の FortiGate のホスト名です
- type=”traffic”
- トラフィックログであることを示しています
- subtype=”forward”
- 転送トラフィックであることを示しています
- action=”close”
- セッション終了時のログであることを示しています
- start であればセッション開始時のログ、deny であれば拒否のログであることを示します
- srcip=192.168.200.10 srcport=54922 srcintf=”port2″
- 送信元 IP、送信元ポート、着信インターフェースを示しています
- dstip=52.137.106.217 dstport=443 dstintf=”port3″
- 宛先 IP、宛先ポート、発信インターフェースを示しています
- policyname=”192.168.200.0/24_to_internet_web”
- ヒットしたポリシーの名前を示しています
HA 構成でログ転送する際の注意点
HA 構成で Syslog サーバへログ転送する場合、デフォルトでは送信元 IP が Syslog サーバへルーティングする際の発信インターフェース(サービス用ポートの何れか)の IP になります。

このため Syslog サーバ側で HA のメンバ別にログを管理したい場合でも、デフォルトのままでは Syslog 送信元機器を送信元 IP で区別ができない状況になります。
HA のメンバ別にログを管理したい場合は CLI で config system ha
の ha-direct
を enable
と設定する必要があります。
config system ha
set ha-direct enable
end
上記設定をすることで、Syslog パケットの送信元インターフェースを各 HA メンバの管理インターフェースにすることができます。これによって、Syslog パケットの送信元 IP が機器によって変わるため、Syslog 送信元機器を区別することができます。

ha-direct
を enable
にすると、Syslog だけでなく SNMP、リモート認証(RADIUS)、FortiAnalyzer、FortiSandbox、sFlow、および Netflow についても送信元が管理インターフェースになります。
今回のハンズオンは以上です

今回はトラフィックログを外部 Syslog サーバへ転送する機能について確認しました。トラフィックログを Syslog サーバへ転送する機能の使用頻度は非常に高いです。設定方法をマスターしておきましょう。
- ハンズオン[1]: FortiGate VM をインストールしよう
- ハンズオン[2]: 基本的なネットワーク設定をしよう
- ハンズオン[3]: 試験用の Windows 10 仮想端末をつくろう
- ハンズオン[4]: ファイアウォールポリシーを設定しよう
- ハンズオン[5]: HA 構成を構築して動作確認しよう
- ハンズオン[6]: トラフィックログを Syslog サーバに転送しよう ★現在地