Duo Authentication Proxyを利用してRADIUS認証を導入する際に「不正なRADIUSクライアントIP」というエラーが表示されると、原因を特定するのが難しく戸惑いがちです。しかし、基本的な設定項目やネットワーク構成を丁寧に確認することで、多くの場合は問題の解決に至ります。この記事では、Duo Authentication ProxyとRADIUSクライアント間で「不正なRADIUSクライアントIP」が表示される際の原因と対処法を、具体例や表を交えて詳しく解説していきます。
「不正なRADIUSクライアントIP」エラーの概要
RADIUS認証を用いた多要素認証やVPNなどの環境で、Duo Authentication Proxyを設定していると、「不正なRADIUSクライアントIP」というメッセージがログやエラーメッセージに表示される場合があります。これは、Duo Authentication Proxyが送信元IPアドレスを正しく認識できず、設定ファイルに記載された許可リスト(RADIUSクライアント)と合致しない場合に起こるエラーです。
このエラーが発生すると、RADIUS認証要求がDuoサーバー側へ正常に送信されず、結果的に認証に失敗してしまいます。一見、単純に「IPが違う」という問題にも思えますが、ファイアウォールやルーティング、VPNの通過設定など多岐にわたる要因も関わってきます。そのため、可能性を一つひとつ潰していくことで最終的に正しい解決策を導くことが重要です。
主な原因と対処法
原因1:RADIUSクライアントIPの誤設定
Duo Authentication Proxyの設定ファイル(通常はauthproxy.cfg
)には、RADIUSクライアントとして許可するIPアドレスを指定する必要があります。これが誤っている場合、クライアントが送信したRADIUSリクエストを「不正なRADIUSクライアントIP」として認識してしまいます。
具体例
[radius_server_auto]
ikey=<Duo Integration Key>
skey=<Duo Secret Key>
api_host=<Duo API Host>
radius_ip_1=192.168.10.5
radius_secret_1=例示用のシークレット
client=ad_client
port=1812
上記のradius_ip_1
として設定した192.168.10.5
と、実際にRADIUSリクエストを送信しているサーバーIPアドレスが一致しない場合、「不正なRADIUSクライアントIP」と認識されます。
もしクライアントIPが192.168.10.10
などであれば、authproxy.cfg
のradius_ip_1
を192.168.10.10
に修正しなければなりません。
対処法
- Duo Authentication Proxyの
authproxy.cfg
ファイルを開き、radius_ip_1
やradius_ip_2
の値を実際のRADIUSクライアントIPに合わせて修正する。 - クライアントIPに誤りがないか、サブネットマスクの設定ミスやインターフェースの切り替えによるIPの不一致がないかも確認する。
- RADIUSクライアントが複数ある場合は、誤って同じIPを使っていないかもチェックする。
原因2:ネットワーク接続やルーティングの問題
クライアントとDuo Authentication Proxyサーバーの間にVPNやロードバランサー、NAT装置、ファイアウォールが存在する場合、実際の送信元IPアドレスとDuo Authentication Proxyが認識するIPアドレスが変わる可能性があります。
具体例
- VPN越しにクライアントからDuo Proxyへアクセスする場合、本来のクライアントIPではなくVPNゲートウェイのIPが送信元IPとなってしまう。
- NATを設定している環境では、内部ネットワークのIPがグローバルIPに変換されてDuo Proxyへ届くため、設定ファイルに内部IPのみ記載していると不一致が起こる。
- ロードバランサーでソースIPアドレスが変わる設定になっている場合、Duo Proxy側ではロードバランサーのIPしか受け取れない。
対処法
- ネットワーク経路を一度整理し、クライアントからDuo Proxyに到達する際の送信元IPがどのアドレスに変換されるかを把握する。
- 実際の送信元IP(Duo Authentication Proxyが認識するIPアドレス)を、
authproxy.cfg
に正しく記載する。 - ルーティングテーブルやVPN/NATの設定を見直し、想定外の経路変更やIP変換が行われていないかチェックする。
- 必要に応じてパケットキャプチャツール(Wiresharkなど)を用いて、Duo Proxyが受信している実際のソースIPを確認する。
原因3:ファイアウォールやポート設定の不備
RADIUSは一般的にUDPポート1812(古い実装では1645)を使用します。環境によっては1813(1646)も用いる場合があります。ファイアウォールやセキュリティグループの設定でこれらのポートがブロックされている場合、正しい認証要求が届かずにエラーが生じることがあります。
RADIUS通信でよく使われるポートの一覧
プロトコル | ポート番号 | 用途 |
---|---|---|
UDP | 1812 | RADIUS認証要求 |
UDP | 1813 | RADIUSアカウンティング |
UDP | 1645 | 古いRADIUS認証要求 |
UDP | 1646 | 古いRADIUSアカウンティング |
対処法
- ファイアウォールのインバウンド/アウトバウンドルールでUDP 1812, 1813(必要に応じて1645, 1646)が許可されているか確認する。
- ネットワーク機器のACL(アクセスコントロールリスト)やセキュリティグループ(クラウド環境の場合など)にも例外設定を入れる。
- パケットがドロップされていないか、ファイアウォールのログも併せて確認する。
原因4:Duo Authentication Proxyのログ上に示される詳細エラー
Duo Authentication Proxyにはログファイルが存在し、通常log
ディレクトリ配下にエラーや警告、デバッグ情報が記録されます。ここに「Invalid RADIUS client IP」や「Received request from unauthorized IP」などの具体的なメッセージが表示される場合があります。
ログを活用したトラブルシュートの流れ
authproxy.log
やauthproxy.cfg.log
など、関連しそうなログファイルを探す。- 該当時刻付近のログを詳細に確認し、「どのIPアドレスからのRADIUSリクエストを拒否したか」を特定する。
- エラー文言やログレベル(ERROR, WARN, DEBUGなど)も注目し、設定ファイルのどのパラメータと矛盾が生じているかを推測する。
- 必要に応じて
debug=True
のようにDuo Proxyのデバッグモードを有効化し、より詳細なログ出力を得る。
原因5:Duo Authentication Proxyのバージョン不整合
Duo Authentication Proxy自体にもバージョン差による不具合や動作仕様の変更がある場合があります。古いバージョンだと、特定のOS環境でRADIUSリクエストの処理に問題が生じるケースも報告されています。
対処法
- 公式ドキュメントやリリースノートを確認し、最新版で修正された不具合が該当しないかチェックする。
- 新しいバージョンにアップデートした際は、再起動後に動作テストを実施し、ログを再度確認する。
- 互換性のない設定項目が追加・削除されていないか、アップデート時の移行ガイドも参照する。
原因6:共有シークレットの不一致
RADIUS認証ではクライアントとサーバー(ここではDuo Proxy)で共有シークレットを一致させる必要があります。もし一方がsecret123
、もう一方がsecretABC
など異なる設定であれば、認証リクエストの整合性が取れずに拒否されます。
共有シークレット設定例
[radius_server_auto]
ikey=<Duo Integration Key>
skey=<Duo Secret Key>
api_host=<Duo API Host>
radius_ip_1=192.168.10.10
radius_secret_1=secret123
port=1812
RADIUSクライアント側(Cisco ASAやWindows NPSなど)でもsecret123
を設定しておく必要があります。
対処法
- Duo Proxyの
authproxy.cfg
で設定しているsecret
と、RADIUSクライアントで設定しているshared secret
が一致しているか確認する。 - コピー&ペースト時のスペース混入や大文字・小文字の違いにも注意する。
- セキュリティの観点から、安易に推測できない長めのシークレットを使用する。
原因7:設定ファイルの文法エラーや構文ミス
authproxy.cfg
はセクション単位(例:[radius_server_auto]
など)で設定を行いますが、セクションの綴りや改行、インデントの誤り、余計な空白などでエラーを引き起こすことがあります。また、同じセクション内で重複パラメータや誤ったキー名を記載した場合もトラブルにつながります。
対処法
- 設定ファイルをテキストエディタやIDEで開き、不要なスペースや改行がないか目視またはツールで確認する。
- セクションごとにパラメータを整理し、必要なものだけを記述する(例:
[radius_server_auto]
と[radius_server_challenge]
を混同しない)。 - 公式ドキュメントにある設定例と比較し、全角文字や誤字・脱字がないか確認する。
原因8:既存の正常動作環境との設定比較
同一のネットワークや同様のシステム構成で、既にDuo Authentication Proxyが正常動作している環境がある場合は、その設定ファイルと問題の環境を比較することで原因特定が早まります。
対処法
diff
コマンドや差分比較ツールを使い、2つのauthproxy.cfg
の差異をチェックする。- IP、ポート、シークレット、セクション名の指定など、細かい違いをリストアップし、一つずつ検証する。
- 別環境特有のVPN設定やロードバランサー設定などが影響していないかも考慮する。
トラブルシューティングの進め方:総合的なアプローチ
ここまで紹介した原因をまとめると、以下の手順で総合的に対処していくと効率的です。
- ネットワークの可視化
- クライアントPC(または認証デバイス)からDuo Proxyまでの経路を図示し、どの機器を通過するかを明確にする。
- VPN・NAT・ロードバランサーの有無や設定内容を確認する。
- 疎通確認
- PingやtracerouteでクライアントとDuo Proxyサーバー間に到達性があるかチェックし、通信障害がないかを調べる。
- ファイアウォール&ACLの確認
- RADIUSで用いるUDPポート(1812, 1813, 1645, 1646など)がブロックされていないか、ネットワーク機器の設定を見直す。
- Duo Authentication Proxy設定ファイルの精査
radius_ip_1
が誤っていないか、shared secret
は一致しているか、セクションやキーワードに文法ミスがないかをチェックする。
- ログ確認
authproxy.log
などを参照し、どのIPを「不正」と判断しているか、追加で出力されているエラー文言は何かを探る。
- バージョン確認・更新
- Duo Authentication Proxyが最新バージョンであるか確認する。更新可能であればアップデートを検討する。
- テスト環境や既存の正常動作環境と比較
- 同様の構成で成功している設定ファイルと差分を比較し、問題箇所を特定する。
補足:VPNやロードバランサー環境での注意点
VPNやロードバランサーを挟む場合、送信元IPアドレスが書き換えられたり、ヘルスチェックのために異なるIPからのアクセスが発生する可能性もあります。これが想定外のトラフィックとして扱われ、「不正なRADIUSクライアントIP」エラーを招くことがあります。
特にロードバランサーを導入している場合は、ソースNAT機能を有効にしているかどうか、どのIPでDuo Proxyへ接続するのかを明確に設定しておく必要があります。VPNについても同様に、リモートアクセス用のIPプールやトンネルインターフェースIPが、実際にDuo Proxyに到達するソースIPとなるケースがあります。
パケットキャプチャ例:ソースIPの確認
問題解決のためには、パケットキャプチャツール(Wiresharkやtcpdumpなど)を使って、実際にDuo Authentication Proxyサーバーで受信しているUDPパケットのソースIPを確認すると効果的です。
# tcpdumpコマンドの例(Linux環境でDuo Proxyが動作している場合)
sudo tcpdump -i eth0 host 192.168.10.10 and udp port 1812
上記コマンドは、eth0
インターフェースに届く「ホスト192.168.10.10からのUDP 1812番ポート通信」をキャプチャする例です。実際にキャプチャを見たときに送信元IPが想定と異なっていれば、authproxy.cfg
に記載すべきradius_ip_1
も異なる値になる可能性があります。
まとめ:正しいクライアントIPを把握して、適切な設定を
Duo Authentication Proxyにおける「不正なRADIUSクライアントIP」エラーの多くは、設定ファイルと実際の送信元IPアドレスの不整合によって起こります。ファイアウォールやNAT、ロードバランサーを挟む複雑なネットワーク環境では、どのタイミングでIPが書き換わるかを正確に把握することが重要です。
また、共有シークレットやバージョンの整合性も忘れてはいけません。ログをこまめに確認しながら、一つひとつ要因を取り除いていく姿勢が、こうしたトラブルシューティングで成功を収める秘訣となります。セキュリティ強化を目的とした多要素認証は、組織のIT基盤を堅牢にする大切な仕組みです。ぜひ正しい設定と理解をもって導入を成功させてください。
コメント