【Fortigate】プロキシ認証(Explicit Proxy+NTLM認証) FortiOS7.0

Active Directoryドメインのログインしているユーザが、そのログインユーザ情報で、プロキシの認証も行いたい場合、NTLM認証を使用することができます。

NTML認証では、認証する側と認証される側の間でチャレンジ、レスポンスによりパスワードのハッシュを送信します。認証される側のレスポンスのハッシュ値と認証する側が保持しているパスワードのハッシュ値が一致すれば、認証成功となります。

この記事では、FortigateをExplicit Proxyとして動作させ、ドメイン参加しているユーザがNTLM認証により、インターネットへ接続する動作を確認します。

Fortigateのプロキシ認証は以下の記事もあわせて参考にしてください。

>> 参考記事 : プロキシ認証(Explicit Proxy+ローカルユーザによるBasic認証)FortiOS6.2.4
>> 参考記事 : プロキシ認証(Explicit Proxy+LDAPによるBasic認証)FortiOS6.2.4

また、インターネットへのローカルブレークアウト(クラウドプロキシ)SWG(Secure Web Gateway)を併用する場合は、以下の記事もあわせて参考にしてください。

>> 参考記事 : クラウドプロキシ(Explicit Proxy+ローカルブレークアウト)FortiOS6.2.4
>> 参考記事 : セキュアWeb ゲートウェイ(SWG : Explicit Proxy+SSLインスペクション+UTM) の設定と動作確認 FortiOS6.2.4
スポンサーリンク

Active Directoryの準備

ホスト名:ad-1、ドメイン:hirotanoblog.localとしてドメインコントローラを準備します。

また、ドメインユーザ ntlm-user01 にてログオンのうえ、IEのプロキシ設定をFortigateのport2である10.0.1.99:8080とし、NTLM認証も有効化しているものとします。

スポンサーリンク

DNSサーバの設定

まず、FortigateのDNSサーバをADサーバに設定します。また、ローカルドメイン名として、ADドメインを設定します。

FortigateからADサーバ(ad-1)の名前解決&疎通ができることを確認します。

FortiGate # execute ping ad-1
PING ad-1.hirotanoblog.local (10.0.1.25): 56 data bytes
64 bytes from 10.0.1.25: icmp_seq=0 ttl=128 time=0.4 ms
64 bytes from 10.0.1.25: icmp_seq=1 ttl=128 time=0.4 ms
64 bytes from 10.0.1.25: icmp_seq=2 ttl=128 time=0.5 ms
64 bytes from 10.0.1.25: icmp_seq=3 ttl=128 time=0.4 ms
64 bytes from 10.0.1.25: icmp_seq=4 ttl=128 time=0.4 ms


--- ad-1.hirotanoblog.local ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.4/0.5 ms


FortiGate #
スポンサーリンク

LDAPサーバの設定

ユーザ&認証 >> LDAPサーバを選択し、新規作成をクリックします。

LDAPサーバの編集 画面が表示されます。ADサーバを登録します。

  • 名前ad-1  と設定
  • サーバIP/名前 : ADサーバのIPアドレスである10.0.1.25を設定
  • バインドタイプレジュラー を選択
  • ユーザ名パスワード:Active Directoryにアクセスできるユーザ。今回は、administratorとそのパスワードを設定

上記まで入力して識別名のブラウズをクリックします。LDAPのツリーが表示されるので、cn=users,dc=hirotanoblog,dc=local を選択します。

下記のように、識別名が登録されます。

接続をテストをクリックし、接続ステータスが成功になることを確認してください。

ユーザクレデンシャルをテストをクリックし、ユーザの認証が可能か確認します。

ADサーバには今回、ntlm-user01をいうユーザを登録しています。 ユーザ名、パスワードを入力後、テストをクリックし、接続ステータス、ユーザクレデンシャルともに成功であることを確認します

スポンサーリンク

Explicit プロキシの設定

ネットワーク >> Explicit プロキシ へ移動し、プロキシ機能を有効にします。

  • Explicit Web プロキシ有効にします。
  • リッスンするインタフェースport2を選択
  • HTTPポート:任意の値。今回は8080とします。
スポンサーリンク

認証ルールの設定

認証方式

ポリシー&オブジェクト >> 認証ルール へ移動し、新規作成より認証方式を選択します。

新規認証方式の画面が表示されます。

名前を任意の名前(今回はNTLM)とし、方式として、NTLMを選択します。

選択後、ドメインコントローラなどの設定画面が表示されます。 ドメインコントローラの設定項目を選択し、新規作成をクリックします。

ドメインコントローラを設定します。

  • 名前ad-1と設定 
  • IPアドレス : ADサーバのIPアドレスである10.0.1.25を設定
  • LDAPサーバ:リストより、ad-1を選択
  • ドメイン名hirotanoblog.local を設定

OKをクリックすると、ドメインコントローラが登録されるので、OKをクリックします。

OKをクリックすると、以下のようなリストが表示されます。

認証ルール

ポリシー&オブジェクト >> 認証ルール へ移動し、新規作成より認証ルールを選択します。

新しいルールの追加 が表示されます。

  • 名前:任意。今回は、NTLM-Ruleとします。
  • 送信元アドレスall を選択
  • 認証方式:有効にし、先に設定したNTLMを選択。

OKをクリックすると、以下のとおり表示されます。

スポンサーリンク

ユーザ設定

ユーザ&認証 >> ユーザグループへ移動し、新規作成をクリックします。

新規ユーザグループを設定する画面が表示されます。

  • 名前:任意の名前。今回は、NTLM-User-Groupとします。
  • タイプファイアウォールを選択

リモートグループで追加をクリックすると、グループ一致の追加 が表示されます。 リモートサーバでad-1を選択し、OKをクリックします。

リモートサーバのad-1が追加されていることを確認し、OKをクリックします。

新しいNTLM-User-Groupが追加されました。

スポンサーリンク

プロキシポリシーの設定

ポリシー&オブジェクト >> プロキシポリシー へ移動し、新規作成をクリックします。

プロキシポリシーを設定します。

  • 名前:任意の名前。今回は、NTLM-Proxyとします。
  • プロキシタイプExplicit Webを選択
  • 発信インタフェース:インターネット接続向けであるport1を選択
  • 送信元:送信元アドレスは制限せずにallとし、送信元ユーザとして、NTLM-User-Groupを選択
  • 宛先allを選択
  • サービスwebproxyを選択
スポンサーリンク

動作確認

ドメインユーザ ntlm-user01でログインし、ブラウザ(IE)を開くと、インターネットサイトへアクセスできることが確認できます。

ユーザは特にユーザ情報などを入力する必要はありません。

ユーザ認証ログを確認するため、ログ&レポート >> イベント からユーザイベントをクリックします。

ユーザ ntlm-user01の認証が成功していることが確認できます。

ログ&レポート >>  転送トラフィック よりトラフィックログを確認すると、プロキシポリシーNTLM-Proxyで、ntlm-user01がインターネットへアクセスしていることが確認できます。

ユーザの認証状況は diagnose wad user list で確認できます。

FortiGate # diagnose wad user list

ID: 1, VDOM: root, IPv4: 10.0.1.51
  user name   : ntlm-user01
  worker      : 3
  duration    : 880
  auth_type   : IP
  auth_method : NTLM
  pol_id      : 2
  g_id        : 2
  user_based  : 0
  expire      : no
  LAN:
    bytes_in=608236 bytes_out=7890660
  WAN:
    bytes_in=7901810 bytes_out=558730

コメント