FortiGateでのもっとも基本的なログの取得設定


このページの作成理由

FortiGateのもっとも基本的なログの取り方を教えてもらった。
きっとそのうち忘れちゃうから、忘れないうちにメモ。

ここにはこんなことを記載しているよ

 ・FortiGateでのもっとも基本的なログ取得のための設定方法。
 ・欲しいログがうまく取得できないときの確認ポイント。

今回の確認で使用した機器

FortiGate 60E

設定/確認手順

FortiGateでログが取りたい!もしくは、欲しいログがなぜか出て来ない!と言った場合、
設定/確認するポイントは以下の3点。

①全体的なログの取得設定は実施しているか?
②ポリシー毎のログ取得設定を実施しているか?
③取得するログのレベルは適切な設定か?

番外:
④それでも見たいログが表示されない場合の確認ポイント

①全体的なログの取得設定は実施しているか?

 設定する箇所は、以下。

 「ログ&レポート」→「ログ設定」→「ログ設定」→「イベントロギング」

 ここで、「すべて」を選択して、「適用」ボタンを押下する。
 

②ポリシー毎のログ取得設定を実施しているか?

 設定する個所は、以下。

 「ポリシー&オブジェクト」→「IPv4ポリシー」→
 「(ログを見たいポリシーを編集)」→「ロギングオプション」

 ※該当のポリシーを選択後、右クリックして「編集」でも可。
 
 ここで、「許可トラフィックのログ」を"有効"にして、 「すべてのセッション」を選択後、
 「OK」ボタンを 押下する。
 
 

③取得するログのレベルは適切な設定か?

 ForitiGateでは、ロギングレベルの確認/変更をGUIで実施することができない。

 このため、CLIを利用して設定を確認/変更する。

 1. 画面内の「>_」を選択し、CLIの画面を表示する。
  (TeraTerm等でのアクセスでもOK)

 2. 以下のコマンドで現在のロギングレベルを確認する。

  show full-configuration log memory filter

  ※"set severity" 欄を確認する。
 
 3. 以下のコマンドを続けて入力して、ロギングレベルを変更する。

  ※一例として、ここでは"informatin"レベルに変更してみる。

  configl log memory filter
  set severity information
  end

  ※最後に必ず"end"を打ち変更を保存すること。

 4. 設定値がちゃんと変更されたか確認する。

  show full-configuration log memory filter

  ※"set severity" 欄を確認する。
 
 もっとも基本的な方法としては、以上で設定完了。

 あとは、「ログ&レポート」→「転送トラフィック」と
 選択肢して、ログの結果を確認する。

  ※「許可」ログも、「拒否」ログも同じくこの「転送トラフィック」内に表示される。

④それでも見たいログが取得できていない場合は?

 パッと思いつく原因としては、以下の2点。

  ・ロギングレベルが適切ではない。
  ・ポリシー毎のログ取得設定が正しくない。
  ・セッションタイムアウト値の問題。

ロギングレベルについては、とりあえず一旦、下げてみることをおすすめしたい。
下げ方については、「③」の手順を参照。

私が調査でやったときは、"infomation"レベルに下げることで
欲しいログが出てきたが、Web上の情報とか見ていると"notification"レベルでも
良いっぽい。

ポリシー毎のログ取得設定については、特に「拒否」ログを
見たい場合に、ハマることが多いかもしれない。

ポリシーで明示的に「拒否」ポリシーを入れている場合は、
そのポリシーでログを取得するようにすれば良いので分かりやすいが、
そうでない場合は、最後の「暗黙のDENY」で通信が拒否されている
はずなので、「暗黙のDENY」でもログを取得するように設定すると
いうことを気を付ける必要がある。

セッションタイムアウト値の問題については、私も完全には
把握できていないけれども、FortiGateのログは、「セッションが閉じた」
タイミングで記録される模様。

このため、セッションが継続したままで放置されてしまうと
FortiGateの「セッションタイムアウト値」の設定により
セッションが閉じられるまでログが出て来ないらしい。

ちなみに、デフォルトのセッションタイムアウト値は以下となる。

TCP :3,600秒
UDP : 180秒
ICMP : 60秒

つまり、例えば端末がどっかのWebサイトを開いてから、閉じずに
そのまま放置してしまうと、3,600秒後のセッションタイムアウトまで
そのログは表示されてこない、となる模様。

すぐに端末側から切断する等して、すぐにセッションが閉じられた
場合は、3,600秒待たずともそのあとすぐにログが表示される。(たぶん)