がらくたネット


FortiGate

FortiGate

fortinet社のFireWallアプライアンス FortiGate のこと

FortiGuardのWEBフィルタテスト

WEBフィルタ設定を行った時にテストできるサイト
FortiGuard Labs

ここにカテゴリ毎にテストリンクがあるので、踏めば挙動が分かりますね

FortiOSのアップグレード

FortiOSのアップグレードにはパスがある upgrade-path

ここをよくみて、自分のFortiOSのバージョンを見比べて 必要なFortiOSのFirmwareを用意してから実行する
FortiGateの管理画面からfortinetサイトを通じてアップグレードする場合は パスに従ったアップデートになっているので最新にするには 何度かアップグレードして再起動ってな処理が必要になる

FortiOS 5.4からは画面カラーがグリーンになってタイル状に見た目が変わった!

10443ポートで嵌った

FortiGateのポート番号を変更しようとしてはまった。
どうしても443番ポートを10443番に変更したがらないらしい。
別の番号には設定できる。なんで??

CLIで変更すると
SSL VPNで使ってます…
ってちゃんとエラーで言うてます

SSL VPNの設定から変更が可能
でもね。
トランスペアレントモードで設定してたらSSL VPNの設定が出来ないの…orz

CLIでもコマンドは許可されないってオチ

設定ファイルを一度バックアップして、ここにSSL VPNのポート番号変更分を投入してから
設定復元を利用すると…ポート番号が変更できるんですね。

(追記 2014/04/16)
NATモードの場合は
「VPN」-「SSL」-「設定」
ここ、変更すればOK

忘れてしまいそうなので、備忘録します。

初期化

Fortigateの初期化

コンソールポートからmaintainerでログイン
パスワードはbcpbシリアル番号
起動後30秒以内に実行しないと有効にならないので注意!
シリアル番号は大文字ですよ!

初期化はexecute factoryreset

初期化後は、internalが192.168.1.99/24に設定されるよ

Adminのパスだけ変更する場合

config system admin
edit admin
set password 新しいパスワード
end

PPPoEで静的ルーティング情報を設定

PPPoEを使用していて、そのインターフェースから デフォルトゲートを受信せずに特定の宛先アドレスのみの 静的ルーティングテーブル(Static Routing Table)を追加する方法

GUIからはできない。CLIからのみ可能。ここがポイント!

config router static
edit 1
 set device wan1
 set dst 10.0.20.0 255.255.255.0
 set dynamic-gateway enable
 next
end

set dynamic-gateway enableってのがポイント
デバイスで指定したインターフェース配下にルーティングテーブルが作成される

メモリログ

メモリログが取得されない場合の対処
CLIからぢゃないとダメ

config log memory setting
 set status enable
end

show log memory setting
 set status enable
end

これでメモリログが出るはず

追記
どのファームウェアからかまだ不明だけど
v5.4系ではGUI設定にローカルログとしてメモリが選択できる
GUI表示もメモリが選択できる

ログの話

どうもv5.0以降、ディスクロギングが無効になる方向となっている
ログはメモリかFortiCloudに投げてちょーだいって方向
FortiCloudはデフォルト1GBまで無料で利用できて、ライセンスを購入すれば200GB/台になる。

シスログへの出力設定もGUIからは無くなってた(FG-60Dの話ね)
メモリログは既定でwarningレベル以上しかでないので、何かとログのお世話になっている私は 非常に焦りましたわ。CLIでしかレベルが変えられないのですね。
syslogのファシリティがデフォルトでlocal7になってます。要注意。

config log memory filter
  set severity information
end
config log syslog setting
  set status enable
  set server syslog.e-garakuta.net
  set facility local6
end

DDNS

FortigateにはDDNSの機能がある
システム→ネットワーク→DNSに「DDNSを有効」っての。

FW4.xで選択できるのは次の通り

  • members.dhs.org
  • dipdnsserver.dipdns.com
  • members.dyndns.org
  • dnsalias.com
  • ip.todayisp.com
  • ods.org
  • rh.tzo.com
  • Peanut Hull
  • members.easydns.com
  • Generic DDNS

で、ポイントはGeneric DDNS
設定項目としては

サーバーIP IPアドレスを入力
ゾーン なんか文字列
ドメイン なんか文字列
TTL デフォルト300が設定
認証 DisableかTSIG(RFC2845)

TSIGを選択すると

鍵名 なんか文字列
なんか文字列

の画面が開く

これは通常のDynamicDNSプロトコルを利用してupdateしている
対象サーバでは、ゾーンに指定したドメインゾーンでアップデートを有効にしておき
ドメインに指定した名前で登録がかかるようになる

HAで嵌った

ササッとHAの設定を行って検証しようとしたときにはまった
HAの構成画面は表示されるものの、モードをActive-Passiveに変更して 設定してもエラーなく、元の画面に戻る現象に遭遇

よくよく調べると、v4のFirmwareではどれかのインターフェースが PPPやPPPoE、DHCP等になっているとHAの設定ができないとあった

CLIで確認すると、設定できない条件の時にはCLIオプションに modeが表示されない!

ある意味よくできてる…

追記 2015/10/28 v5.2からPPPやDHCPのインターフェースがあってもHA構成ができるようサポートされた

追記 2016/04 v5.4からHAを組むとき、switch-controllerを無効にしておかないといけない
Please disable switch-controller firstと怒られる
CLIでのみ設定可能

config system global
set switch-controller disable

トランスペアレントで嵌った

FG-60Dのv5.2でトランスペアレントモードに変更した時の話
初期化したFGを元にGUIで接続して、モードをトランスペアレントに変更する
ManageIPを設定する画面になるので、適切に設定してSaveする

管理画面に待てど暮せどつながらない。pingも返ってこない。

結論。
トランスペアレント化した場合、Internal側のポート全てが スイッチポートとしてまとめられていた状態が解消されて それぞれ個別のポート設定となる
その際、各ポートの管理アクセスACL(Administrative Access)が全て無くなる
CLIでポートの管理アクセスACLを追加すればOK
ちょっとWebGUI不親切すぎませんか???

結論(2016/09/26)
dmzインターフェースにhttp/httpsのACLが設定されているので 管理端末をdmzに接続して設定をするのが正式な手順
こうしないと、Internal側のポートが操作できないからね!

dmzはデフォルトで10.10.10.1/24が割り振られているので
最初からこのインターフェースを利用して設定するのがベター
当然ACLも設定されているから安心!

追記 2015/10/28
v5.2でもトランスペアレントでのPPPoEはダメですね。
そら考えたらそうですよね。

再起動で嵌った

File System Check Recommended…とかでるし。
電源ぶち切りによる再起動で警告がでる
v5.2 patch3よりちゃんとシャットダウンしない場合に出るようになった
CLIからシャットダウンをちゃんとしようね

execute shutdown

設定ファイルの移動

FortiGateの新しいのを購入して設定したいと思いましたが
旧FortiGateの設定をどうやって新しいのにもっていくの?
configのバックアップとリストアでできると思ってたらエラー発生

Fortinet KBによると旧configファイルの先頭と新configの最初の一行目と置き換える必要があったんですね!

そして起動すると…

The config file may contain errors,
Please see details by the command 'diagnose debug config-error-log read'
だって。そらそうですよね。かなり変わっているから。

でもね、maintanerはそんなコマンドないんだよ
ちゃんとadminになってね

このコマンドでも見れるね

get system startup-error-log