現在のWPA2/PSKセットアップをWPA2 + 802.1xにRADIUS authenticationに置き換えます。そのために使用できるさまざまなアルゴリズムがあり、大きく2つのグループに分けられます。
ユーザーは証明書を使用してサーバーを認証します。
ユーザーには、認証用のユーザー名とパスワードがあります。
(1)はユーザーに証明書を配布する必要があるため、オプション(2)を使用します。
RADIUSのサーバー証明書をすべてのクライアントに配布できます。しかし、これはオプション(2)を実装したい理由全体を打ち消します。
自己署名証明書を使用する場合、ユーザーはこの自己署名証明書を手動で受け入れる必要があります。攻撃者は自分の自己署名証明書を使用して不正なAPを簡単にセットアップできるため、ユーザーの資格情報を非常に簡単に盗むことができます(ユーザーが指紋を確認することはありません)。
しかし、RADIUSサーバーにCA(Let's Encrypt、またはほとんどのデバイスにある他のCAなど)によって署名された証明書を使用するとどうなりますか?クライアントはそれを自動的に受け入れますか?
攻撃者が同じパブリックCAにアクセスして、自分の有効な証明書を取得するのを阻止するものは何ですか? (特定のドメインの証明書のみを受け入れるように指定する方法はありますか?)
前の質問への回答は、サーバー認証を提供するすべての802.1xメソッドに有効ですか?
WiFi-APとRADIUSサーバー間の通信をキャプチャおよび/またはスプーフィングする攻撃など、自分のネットワーク内に攻撃がある可能性があることを認識しています。私の設定では、この種の攻撃は直接(物理的に)接続されているか、直接のIPSec VPN接続があるため、無視できます。
RADIUSのサーバー証明書をすべてのクライアントに配布できます。しかし、これはオプションBを実装したい理由全体を打ち消します。
配布する必要があるRADIUSサーバーの証明書ではないことを言ってみましょう。これは、RADIUSサーバー証明書に署名したCAの証明書です。私は答えの少し後でこれに戻ります。
自己署名証明書を使用する場合、ユーザーはこの自己署名証明書を手動で受け入れる必要があります
一部のサプリカントは、証明書の検証が無効になっていない限り、自己署名サーバー証明書を受け入れません。
しかし、RADIUSサーバーにCA(Let's Encrypt、またはほとんどのデバイスにある他のCAなど)によって署名された証明書を使用するとどうなりますか?クライアントはそれを自動的に受け入れますか?
サプリカントによって異なります。一部はします、他はしません。なんらかの追加の構成(手動、GPO、MDMなど)がなければ、ほとんどの場合、それらの大部分が依然としてユーザーに証明書の承認を求めると言うこともできます。
攻撃者が同じパブリックCAにアクセスして、自分の有効な証明書を取得するのを阻止するものは何ですか? (特定のドメインの証明書のみを受け入れるように指定する方法はありますか?)
同じパブリックCAですか?証明書を生成する前に、ドメイン所有者であることを確認しようとする合理的な試みを行うものを1つ選択してください。
ただし、主要なCAからの有効な証明書は多くの場合、同じ「保証」を提供し(EAPサプリカントが既知の有効なCAを使用している場合)、攻撃者が別の有効な証明書を取得する方が簡単な場合があるので、それは重要な点です。取得したCAからのCA(CAがすでに組織の正当な連絡先を持っている場合は、それらを使用して要求を検証する可能性があります)。
前の質問への回答は、サーバー認証を提供するすべての802.1xメソッドに有効ですか?
802.1Xで何が行われているのかについての簡単な入門書が役に立ちそうです。
一般的に言って、EAPサプリカント(選択したEAPメソッドに関係なく)は、ユーザー名/パスワードまたはその他の資格情報を認証サーバーに送信するかどうかを決定する必要がありますネットワークに接続せずに。つまり、接続前に持っていた情報と、認証サーバーから提供された情報しか処理できません。 EAPサプリカントは認証された後になるまでインターネットに出て別のソースをチェックできず、資格情報を保留するには遅すぎます。
EAPサプリカントは、主に2つのことをチェックすることでこれを実行します(WindowsやOSXのネイティブサプリカントなど、多くのEAPサプリカントにいくつかのオプションが存在しますが、タブレットや電話などのモバイルデバイスにはありません)。
サプリカントは、上記の1と3を通過した場合、ユーザーに証明書の承認を求めることもできます。または、EAPサプリカントは上記をスキップして、OSに証明書の「確認と承認」を求めるプロンプトを表示する場合があります(悪い考え)、または資格情報を送信する前に証明書をまったく検証しない(悪い考え)ように構成されている場合があります。
A)はユーザーに証明書を配布する必要があるため、オプションBを使用します。
何らかの証明書の配布は避けられない場合があります。多くの場合、クライアント証明書も配布するかどうかだけの問題です。 (EAP-TLSなどのクライアント証明書を使用してEAP方式を選択する場合は、共有クライアント証明書ではなく、ユーザー/デバイスごとに個別のクライアント証明書を強くお勧めします。)
多くの組織は、独自のCAをセットアップしてRADIUSサーバー証明書(および該当する場合はクライアント証明書)を生成します。これには、クライアントにもCA証明書をインストールする必要があります。
なぜ彼らはこれをするのでしょうか?ここにいくつかの理由があります:
どうすればルージュAP攻撃を緩和できますか?
どのようにアプローチしても、802.1Xはワイヤレス接続により高いレベルのセキュリティを追加しますが、クライアントデバイスの安全な構成をより困難にするという犠牲を払います。
Active Directory環境でWindowsのみに関心がある場合は、グループポリシーを使用して、正しい構成を適用し、証明書をインストールできます。
それ以外の場合(そして、今日Windowsのみを心配している人は?)、この問題に対処する最良の方法は、クライアントの大多数を最高レベルのセキュリティで構成できる多くの802.1Xオンボーディングソリューションの1つを使用することです。ただし、これらは取得や運用にコストがかかり、市場にあるほとんどの製品は、CA、NAC、およびRADIUSソリューションの一部としてバンドルされています。
Cisco ISE、SecureW2、Ruckus Cloudpath、Aruba Clearpath/QuickConnect、Impulse SafeConnectなどのソリューションは、この目的のために導入されたソリューションの一部です。または、選択した検索エンジンを使用して、「802.1Xオンボーディング」または「BYODオンボーディング」を検索します。
注:この回答の一部は、このサイトまたは他のサイトの他の場所から得られた自分の回答から得られました。
サーバー証明書とクライアント証明書を混同しています。ユーザー名とパスワードの代わりにクライアント証明書を認証に使用できますが、RADIUSサーバーのサーバー証明書はサーバーで認証される前に検証され、他の誰かのAPが盗んでいないことを確認します認証情報。
ユーザーに決定を任せると、一般的なユーザーは接続を確立することを目的としているため、実際には確認せずに常に証明書を受け入れます。したがって、グループポリシーを使用して設定を適用することをお勧めします。同じGPOを使用して、サーバーの公開証明書を配布できます:署名に使用したCA証明書RADIUSサーバー証明書または自己署名、テスト中に学んだように RADIUSサーバー証明書がWindows 10で実際に検証される場合 なので、この答えはWindowsに適用されますActive Directory環境。
例としてradius.example.com
を使用してみましょうRADIUSサーバー。これに必要なすべての設定は、共通のグループポリシーパスの下にあります:コンピューターの構成>ポリシー> Windowsの設定>セキュリティ設定。
署名に使用するCA証明書またはRADIUSサーバーの自己署名証明書をグループポリシーを使用してすべてのクライアントコンピューターにインストールします。これは公開証明書である必要があります。サーバーキーをエクスポートしないでください!
セキュリティ設定>公開鍵ポリシー>信頼されたルート証明機関アクション:インポート...
Wireless Network(IEEE 802.11)Policiesに移動します
radius\.example\.com
。[x] radius.example.com
。 (certmgr.msc
を使用して個人の信頼されたルート証明機関ストアに証明書をインポートした後、証明書はリストに表示されますが、最終的にはストアからコンピューターアカウントに使用されます。)