「FortiGate」カテゴリーアーカイブ

セキュリティ関連の内、FortiGateに関連する部分を対象としたカテゴリ。

FortiGateでFortiTokenのアクティベーション期限を調整

FortiGateでユーザ認証にFortiTokenを設定すると、QRコードが発行されます。
QRコードを利用して有効化(アクティベーション)を行うことで、ユーザに紐付けされたFortiTokenが有効になります。

この配信されたQRコードは、デフォルトで3日(72時間)有効なのですが、土日などを挟むと操作できる時間が非常に限られます。
それもセキュリティ対策なんでしょうけどね。。。

そこで、この有効期限を延ばす方法を以下に記します。

GUIでは操作できず、CLIでの操作になります。

以下のコマンドを実行することで、最大7日まで有効期限を延長することが可能です。

ちなみに、FortiGateでCLIコマンドを利用することでメールによる二要素認証も可能になります。
詳しくは別の機会に。

FortiSwitchの基本設定

FortiSwitchを初期段階でL2スイッチと同じレベルまで使えるようにしておこうと思います。

デフォルトのままでは、ハブとしても使えなかったので、最初にデフォルトのVLANを作成します。

Network→Interface→VLAN→add VLANで新規のVLANを作成します。

デフォルトVLAN作成

設定内容は概ねこんな感じです。
IP Configuration → IP/NetworkはFortiSwitchに割り当てるIPアドレスになります。

次に、ポートへVLANを適用します。

ポートへのVLAN割当て

今回は、VLAN IDを1として作成したので、デフォルトで設定が反映されています。
1以外のVLAN IDを使用した場合には、適宜ポートへVLAN IDを設定することになります。

後は、VLANを適当に作ってゲートウェイを設定すれば動いてくれそうです。

ここからは、余談になりますが、FortiLinkを設定すれば、FortiGateの画面から設定を行うことが出来る様になるのでしょう。

その設定は、また後日やってみたいと思います。

FortiSwitch初期化後のアクセス方法

FortiSwitch 448Eが発注から10ヶ月程掛かって、やっと届きました。
電子部品が不足している昨今とは言え、辛かったです。
発注後のキャンセルは基本的にダメということだったので、そこそこ厳しかったです。

FortiSwitch 448Eの設定を行おうと付属の英文マニュアルを片手に、接続を試みました。
英文マニュアルでは、IPアドレスだけが記載されていますが、頭にhttps://を付けてあげないと接続出来ません。

https://192.168.1.99/

初期状態でのID/PWは英文マニュアルに記載がある通りになっています。

ID : admin
PASSWORD : password

いきなりFortiLinkに接続したためか設定が上手く行きませんでした。

FortiLinkで一度FortiGateとFortiSwitchを接続してしまうと、FortiSwitch側のGUI管理画面やSSHでの接続が出来ませんでした。
これは、後の設定で解決されることを祈るのですが、何も設定せずにいきなりFortiLinkに接続すると痛い目をみたというかんじです。

仕方がないので、一度工場出荷状態に戻す方法を調べて、前面の小さな穴をクリップの先で押し続けてイニシャライズします。
初期化は短時間で完了している様です。

さて、ここからが大変でした。

ログイン画面へ接続

MGMTポートにLANケーブルを接続します。
マニュアルなどの記載に従い、192.168.1.99へブラウザで接続します。
ブラウザから反応がありません。接続出来ないのです。

原因は、ブラウザでIPアドレスを指定するのではなく、下記のURLを指定する必要があります。

https://192.168.1.99/

これで接続出来ます。
最初からHTTPSでの接続が必要です。

これでも上手く接続出来ない場合は、試しにSSHで192.168.1.99へ接続すると、パスワードの更新を要求されます。
この状態になっている場合、PC側の設定などに問題があると考えられます。

入荷時のパスワードと工場出荷状態(初期化後)のパスワードは異なります!

マニュアルでは、
ID:admin
PW:password
となっていますが、工場出荷状態に初期化した場合のパスワードは異なります。
ID/PWを正しく指定してもログイン出来ません!!

実は、FortiSwitchの本体上部に貼られているシールに記載がありました。
「no password」と記載があります。
工場から出荷されて届いているはずの製品は、一度パスワードが「password」と設定されていて、初期化するとパスワードが無くなるんですね。
マニュアル記載内容は、工場出荷状態とは異なるということですね。

よって、工場出荷状態とはIDはadminのままなのですが、パスワードは無しになっています。

これが解らなくて、今時のPCからシリアル通信・・・ケーブルも無いしどうしようかと悩んでいたのですが、パスワード無しでログインすることで後の作業が元に戻りました。

以下のサイトを参考にさせて頂きました。
https://infosecmonkey.com/basic-fortiswitch-set-up/

ここを読んでいる人はほとんどいないと思いますが、ここにたどり着いた人は私と同じく苦労されているのだろうと思います。
日本語の情報がほとんどないので、ハードル高いですね。
がんばりましょう!

インターネットからのアクセス認証にFortigateを利用してみた。

公開サーバにアクセス認証をしようと思うと、BASIC認証が比較的簡単に設定出来て便利ですよね。
ただ、今時ではありますが、HTTPプロコルにおけるBASIC認証は脆弱性が指摘されていて、あまり使いたくはない方法です。
HTTPSでSSL暗号化されていれば良いのですが、未だにHTTPプロトコルしか使えない状況では不便でなりません。
そこで、Fortigateを使ってもっとセキュリティの高い認証を試みてみようと思い立った次第です。
サーバ側に認証機能を持たせたくない場合などでも、この方法で認証すれば便利です。

更に、この方法を使うと、通常のSSHなどでアクセスする際に、直接サーバにログインを試みようとすることも遮断できます。
詳しくは後ほど説明しますね。

目的

公開サーバへのHTTP/HTTPS/SSH等によるアクセス時に、一度認証を行ってからしか接続出来なくします。

サーバ本体側の認証もあるのですが、その前に一度Fortigate側で認証を行わないと、サーバ本体へのアクセスもログインを行う行為すらも出来ないということです。

具体的には、以下の流れになります。

①Webブラウザで対象アドレスへアクセスします。
②Fortigateが準備したログイン画面が表示され、認証を求められます。
 認証方式は、Fortigate側で選択出来ます。
 今回は単純にIDとパスワードだけで説明します。
③認証が完了すると、通常通りサーバへアクセス出来ます。
 WebサーバへのHTTP/HTTPSアクセスであれば、目的のホームページが表示されます。
これだけだと、BASIC認証と変わらないと思いますが、実はこれだけではありません。
SSHによるアクセスも、②の認証を行わないとアクセス出来ないのです。
SSHのID/パスワードによるログインに至る前に、一度Web画面上でログインを行わないとSSHのログインにも進まないということです。
更にセキュリティを高めたい人には、二要素認証なども取り入れることが可能です。

ぐっとセキュリティ効果が高まりますよね。
機械的なログイン操作を用いたい場合には容赦なく壁になってしまいますので、システム的な使い方をする場合には向きませんが、通常利用時のセキュリティ効果を高めたい場合には便利です。
BruteForce攻撃等には効果てきめんじゃないかな?と思っています。

設定方法

概要

まずは流れを説明します。

Fortigate側で新たにユーザを作成します。
IDとパスワードを設定します。
次に、ユーザグループを作成し、先ほど作ったユーザを追加します。
このユーザグループをFortigateで設定する通常のポリシーにおいて、送信元アドレスと共に登録するだけです。

サポートに確認したら古いインタフェースの英文による説明が送付されてきて、その内容も若干微妙な設定内容だったので、ここに現状の設定方法を記録しようと思いました。
滅多にやらないことなので、次やる時に思い出さないと思ったので(^^ゞ

でも、やってみるとすごく簡単な設定ですね。

手順1:ユーザ作成

ユーザ&デバイス→新規追加→ローカルユーザ→次へと進みます。

画面はこんな感じになっていると思います。
ここで、ユーザ名とパスワードを変更して、新たなユーザ名とパスワードを設定します。

ここで必要に応じてEメールアドレスを登録します。
また、SMSや二要素認証の項目も必要に応じて設定します。

特に問題なければ、このまま「サブミット」を押して登録完了です。

手順2:ユーザグループ作成

ユーザデバイス→ユーザグループ→新規作成と進めます。

ユーザグループの名前(英数字のみ)を作成します。
タイプはファイアウォールです。

メンバーに先ほど作成したユーザを登録して完了です。

手順3:ポリシー設定

通常通りポリシーを作成します。

送信元にインターネット側からの送信元を通常通り設定します。
全て許可する場合はallですね。

更に、この送信元に先ほど作成したユーザグループを追加します。

終わりです。

これで後はブラウザでアクセスしてみましょう。

画面にForigateのログイン画面が表示され、先ほど作成したユーザ名とパスワードでログインを行います。

この後は、SSHなども利用できるようになります。

細かな設定は端折りましたが、これをやりたい人は既にポリシー設定などやったことがある方だと思いますので、十分に判って頂けると思っています。

この設定も凄く簡単ですね。

最後に

SSHでインターネット側からサーバへアクセス出来る様にすると、SSH BruteForce攻撃に会って面倒なんですよね。IPS攻撃もガッツリやってきます。

この方法では、通常のブラウザで一度認証を行ってから、SSHによるアクセスを行います。

その為、ポートフォワーディングなどでデフォルトポートを変更して逃げているだけではポートスキャンされて見つかってしまう・・・という悩みにも、対処が出来るということになります。

いや~実際、この方法を探し回っていたのですが、なかなかネットで見つからなくて、サポートに聞いたら英文の古いインタフェースマニュアルが・・・何やってるのか良く分からない感じだったのですが、やってみるとこれで良いんか?
すっげー楽でした。

このページを見ている方は、セキュリティ関連で苦労されている方だと思いますが、お互い大変ですね。
頑張ってセキュリティ対策しましょう!

FortiGateでポートフォワーディング

セキュリティの観点から、ポートフォワーディングを行いたい時があります。
サーバ側でポートを変更する対策も考えられるところなのですが、イントラ環境ではデフォルトポートで、外部とはポートフォワーディングしたいという時があります。
そういう時は、ルータでポートフォワーディングすることもありますが、今回はUTM(FortiGate)側で対応を行います。

「ポリシー&オブジェクト」→「バーチャルIP」で、バーチャルIPを編集します。

「ポートフォワード」を有効にします。
「Externalサービスポート」に外部からアクセスするポート番号を指定します。
「ポートへマップ」にフォワードする先のポート番号を指定します。