MAC 認証バイパス

この記事は、MAC 認証バイパスとは何か、MAB-to-EAP とどのように異なるか、どちらが RADIUSaaS と動作するかを明確にすることを目的としています。

triangle-exclamation

概要

MAC認証バイパス(MAB) は、標準的な802.1Xエンタープライズ認証を実行できない機器(レガシープリンタ、簡易センサ、組み込みシステムなど)が、その他は安全なネットワークに接続できるようにする機能です。MABは、デバイスの一意のMACアドレスをRADIUSサーバーで管理される承認リストに対する唯一の識別子として使用することでアクセスを付与します。

MABの旧来の実装は 認証デバイスとネットワーク機器間の接続上でも、 ネットワーク機器とRADIUSサーバー間の接続上でもMACアドレス偽装に対して脆弱です。後者の攻撃ベクトルを排除するために、 MAB-to-EAPと呼ばれるより強力なMAB実装を使用できます。これによりRADIUSサーバーに送信されるMACアドレスの整合性が実質的に保証されます(認証デバイスとネットワーク機器間のリンク上ではMACアドレスが依然として偽装され得ます)。

本ガイドは、安全でない旧来の方式である Pure MAB と、現代のトランスポートで保護された回避策との違いを詳述します。

MAB用語と実装

MAB: MAC認証バイパス

EAP: 拡張認証プロトコル

サプリカント(Supplicant): 認証器に対して認証プロセスを開始してネットワークへのアクセスを得ようとする主体(ノートPC、携帯電話、ネットワークインターフェースなど)。 ネットワークへのアクセスを得るために認証プロセスを開始する主体。

認証器(Authenticator): 認可を与える前に認証を強制するネットワーク要素(スイッチ、無線アクセスポイント、VPNゲートウェイなど)。 サプリカントにネットワークへのアクセスを与える前に認証を強制するネットワーク要素。

認証サーバー: サプリカントの資格情報(ユーザー名、パスワード、デジタル証明書など)を検証し、ネットワークへのアクセスが許可されるかどうかを判断する責任を持つ信頼されたネットワーク要素(RADIUSサーバーなど)。

Pure MAB (旧来の実装):この方法では認証器がクライアントのMACアドレスをRADIUSサーバーに送信します。通常は Calling-Station-Id というRADIUS属性に格納されます。RADIUSサーバーは単純な照合を行い、 Access-Accept または Access-Rejectを返します。MACアドレスは識別子として機能し、真の資格情報ではありません。

MAB-to-EAP (保護された実装):Pure MABは暗号的に安全なトランスポートを欠くため、多くの現代サービス(RADIUSaaSのような)はより強力なアプローチを要求します。この方法では、認証器がクライアントのMACアドレスをユーザー名とパスワードの両方として使用し、EAP-TTLS-PAPやPEAP-MSCHAPv2などの安全なEAPプロトコルを用いてRADIUSサーバーに対して認証を試みます。クライアントデバイスは認証が行われたことに気づきません。

Pure MABの動作(外部RADIUSデータベース)

MACアドレスデータベースが外部のRADIUSサーバーで管理されている場合(一般的な企業環境)、Pure MABには以下のシーケンスが適用されます:

  1. 非802.1Xクライアントが接続してネットワークアクセスを要求します。

  2. 認証器は接続を検知し、802.1Xのネゴシエーションが行われないのを確認して、MAB試行を開始します。

  3. 認証器はクライアントのMACアドレス(例: 00:11:22:33:44:55)を取得し、を Access-Request メッセージでRADIUSサーバーに転送します。MACアドレスは通常 Calling-Station-Id RADIUS属性に解析されます。

  4. RADIUSサーバーは設定されたデータベース内にそのMACアドレスが存在するかを確認します。

  5. MACが見つかった場合(一致)には Access-Accept メッセージを返し、見つからない場合(不一致)には Access-Reject を返します。

  6. が受信された場合、認証器はポートを認可しクライアントのネットワーク参加を許可します。 Access-Accept (訳注:前後の文脈に依存する応答受信の説明)

Drawing

セキュリティに関する考慮事項

一般に、 MABはほとんどまたは全くセキュリティを提供しません ので、極めて慎重に使用すべきです。

  • MACスプーフィング: MACアドレスはほとんどの現代のコンピュータやネットワークカードで容易に変更(偽装)できます。悪意ある者は承認されたデバイスのMACアドレスを観察して自身のデバイスに設定することで、無許可でアクセスを得ることができます。

  • 識別であり認証ではない: MABは単にデバイスの識別の一形態に過ぎません。どのユーザーが所有しているかや、そのデバイスが暗号的に安全かどうかは確認しません。

これらの弱点のため、多くの現代のクラウドベース認証サービス(RADIUSaaSのような)はPure MABやPAPやCHAPのような旧来プロトコルをサポートしていません。代わりに、MACアドレスが暗号的に強力なEAPトンネル内の資格情報として使用されるMAB-to-EAP方式を要求します。

EAPを用いたMABの実装(RADIUSaaSによるMABアプローチ)

認証器上でMABが構成され、802.1Xをサポートしないレガシーデバイスがネットワークアクセスを要求すると、スイッチやAPはそのデバイスになりすましてクライアントに代わって認証を引き継ぎます RADIUSaaSに対してサポートされるEAPのいずれかを使用して認証することで プロトコルarrow-up-right:EAP-TTLS-PAPまたはPEAP-MSCHAPv2。このプロセスの一環として、RADIUSaaSはMACアドレスが手動で追加された形式のRADIUSaaSデータベースに記載されているかをチェックします(ユーザー名 = パスワード = MACアドレス)。もし一致すれば、 ユーザーはメッセージが返され、EAPベースの認証が完了してレガシーデバイスにネットワークアクセスを与えます。認証器がRADIUSaaSへTLS接続を確立するため、認証器は Access-Accept を信頼しなければなりません。 サーバー証明書 RADIUSaaSが使用する証明書を信頼する必要があります。

MACアドレスをユーザー名/パスワードとして使用してEAPを起動する手法は、認証器がより強力なEAPプロトコルを利用しつつMABをシミュレートするために実装する特定の回避策です。

MABはRADIUSaaSで動作しますか?

PAPやCHAPを使用する元来のMAB実装はRADIUSaaSでは動作しません。上記の定義を念頭に置くと、現在のRADIUSaaSの実装は、認証器が前述のいずれかのプロトコルで認証できる限りMABをサポートできます。これらのサポートされたプロトコルが認証に使用されるとき、もはや認証をバイパスしているわけではなく、この場合により具体的な用語であるMAB-to-EAPが用いられます。

構成

MABは 認証器と認証サーバーの両方で構成が必要です。

認証器(Authenticator):

  • 非802.1Xデバイス向けに想定された特定のアクセスポート/SSIDで802.1XとMAC認証バイパス(MAB)を有効にします。

  • を信頼する: RADIUSサーバー証明書.

  • 注:設定手順はベンダーごとに異なります。機器のドキュメントを参照してください。

認証サーバー:

  • MAB-to-EAPを実装する際は、RADIUSaaS上でこの方式で認証するすべてのデバイスを最小限のネットワークアクセスを持つフォールバックVLANに割り当てる明示的な承認ルールを作成する必要があります。これは最小権限の原則を強制し、有効なMACアドレスを偽装した悪意ある者が重要なネットワークリソースへアクセスするのを防ぐために不可欠です。ルールは環境の認証ポリシーに基づいて設定してください:

    • ユーザー名/パスワードベースの認証がMAB-to-EAPのみに使われる場合:この資格情報タイプを使用する任意のデバイスをフォールバックVLANに割り当てる広範な承認ルール(LAN/Wi-Fi)を作成してください。

    • ユーザー名/パスワードが他のクライアント(例:ユーザー)にも使用される場合:このルールは正規表現を用いてユーザー名フィールド内のMACアドレスのパターン(例: 00:11:22:33:44:55)にのみ特に一致するよう慎重に調整する必要があります。これによりMAB-to-EAPトラフィックのみがフォールバックVLANに隔離されることが保証されます。

  • MAB-to-EAPをサポートするには、次を行う必要があります: 追加する ユーザーを次の形式で追加します:Username = Password = MACアドレス。例: 00:11:22:33:44:55 = 00:11:22:33:44:55.

  • MACアドレスの形式(コロン、ハイフン、または区切りなし)は、認証器がEAP資格情報で送信する形式と正確に一致している必要があります。整合性のためにコロン表記(例: 00:11:22:33:44:55)の使用を推奨します。

  • 複数のユーザーがいる場合は、 CSV ファイルを使用して一括でインポートできます。

最終更新

役に立ちましたか?