セキュリティ:2025年のWindowsアプリケーションにおける2FAとSSO

最終更新日
2025年10月22日
エンジニアリング・ディレクター

セキュリティ:2025年のWindowsアプリケーションにおける2FAとSSO

このブログでは、Windowsアプリケーションへのアクセスを保護するために、2FA、SSO、両方、またはどちらも有効にすることを選択する状況について説明します。議論の中心は、GraphOn GO-Globalでこれらのセキュリティ対策を構成する方法です。GO-GlobalはWindowsアプリケーションパブリッシングツールで、ユーザーがどこにいても、ブラウザをサポートするデバイス(Surface Pro、Dell XPS、MacBook Air、Samsung Galaxyなど)を使用して、Windowsアプリケーションへのセキュアなアクセスを可能にします。(GO-Global固有のセキュリティ機能の詳細については、「セキュリティを考慮した設計」をご覧ください)。

IDおよびアクセス管理(IAM)のベストプラクティスを調べ始めると、評判の高い情報源から豊富な推奨事項が見つかるだろう。しかし、中小企業(SMB)、企業、クラウド・サービス・プロバイダーが保護する資産に関係なく、同様に適用できるいくつかの共通項も見つかるだろう:

- ユーザーのデジタルアカウントは、パスワードなどのクレデンシャルで保護されなければならない。理想的には、ポリシーが強力なパスワードの基準を指示し、クレデンシャルを秘密かつ安全に保つことの重要性を強調する。

- 機密情報を公開するアプリケーションへのアクセスを許可するクレデンシャルは、二要素認証(2FA) などの何らかの形式の多要素認証(MFA)で検証する必要がある。2FA は、ユーザがそのクレデンシャルが示すユーザであることを確認するのに役立つ。

- シングルサインオン(SSO)は、(パスワードを忘れたり再利用したりするような)人間の欠点からクレデンシャルをよりよく保護し、2FAの不便さを緩和する。

どの原則をいつ採用するかは、いくつかの変数に依存します。とりわけ、ユーザが権利を持つアプリケーションによって公開される情報を考慮する必要があります。また、ユーザーがどのようにアプリケーションにアクセスするかも考慮する必要があります。ユーザーはオフィスにいるのか、それともリモートで仕事をしているのか。アプリケーションは企業のデータセンターにあるのか、それともクラウドにあるのか。リモート・ユーザーはインターネット経由でアプリケーションにアクセスするのか?VPNによる暗号化の有無?

インターネットはあなたが犬であることを知らない

高度化するサイバーセキュリティ対策にもかかわらず、基本的な認証方法は依然としてパスワードである。携帯電話を使うにせよ、仕事の電子メールにアクセスするにせよ、ビジネス・クリティカルなアプリケーションにログインするにせよ、ユーザーは自分で考案した文字、数字、特殊文字の組み合わせを入力する。

パスワードで困るのはユーザーだ。短いパスワードは覚えやすいので好まれるが、短いパスワードは推測されやすい。そのため、管理者やアプリケーションは、クラックされにくいが覚えにくい、より長いパスワードを作るようユーザーに要求する。(参照:「新しい強力なパスワード:覚えやすく、クラックされにくい」)。

ユーザーは、複雑なパスワードを必要とするアカウントを何十個も持っている場合、安全とは言えないやり方に頼る傾向がある。パスワードを書き留めるか、より悪く、より一般的なのは、パスワードを再利用することだ。少なくとも65%のユーザーがパスワードを再利用し、13%がすべてのアカウントとデバイスに同じパスワードを使用している。

驚くことではないが、パスワードは悪名高く一般的な攻撃ベクトルである「漏洩した認証情報」の元凶である。実際、IBMとPonemonによる最近のレポートによると、「漏洩した認証情報」は2021年に最も一般的な最初の攻撃ベクトルであり、最終的に全データ侵害の20%につながった。

どんなに「安全な」パスワードであっても、攻撃者はそれを暴露することができる。たとえサリーBが、コンピュータが解読するのに23兆2000億年かかるようなパスワードを作ったとしても、それは彼女がそれを秘密にしている場合にのみ当てはまる(図1参照)。(図1参照)しかし、サリーBは知らず知らずのうちに、パスワード再設定の質問に対するすべての答えをフェイスブックのアカウントに入力しているかもしれない。あるいは、彼女が電子メールを受け取って埋め込まれたリンクをクリックすると、サインイン用のドッペルゲンガー・サイトに飛ばされ、そこで攻撃者が彼女の認証情報を捕らえるかもしれない。

認証情報だけでは、システムは「サリーB」が実際にサリーBであるかどうかを知ることはできない。コンピュータには見えないからだ。

2FA:もしシステムにビジョンがあれば

2FAを有効にすることは、システムにビジョンを与えるようなものだ。2FAは、認証のために2つの異なる形式の識別を必要とする。最初の形式は、一般的にユーザーが知っているもの(例えばパスワード)である。もう1つは、テキストで送信されるコードや、より安全なオプションとして、ユーザーの携帯電話にインストールされた認証アプリによって生成されるコードなど、一般的にユーザーが持っているものです。

このようなコードに依存する2FAを妨害するには、攻撃者はユーザーの認証情報だけでなく、そのユーザーの電話も必要とする。この追加のセキュリティ層は非常に効果的である。実際、2019年のグーグルの調査によると、デバイス上でプロンプトを表示する2FAを使用することで、自動ボット攻撃の100%、一括フィッシング攻撃の99%、標的型攻撃の90%を防ぐことができる。

驚くことではないが、2FAはリモート・アクセスの安全性を確保するためのベスト・プラクティスと広く考えられており、ゼロ・トラスト・アーキテクチャの要件となっている。

2FAを有効にするタイミング

どのような状況で2FAを有効にすべきでしょうか?簡単な答えはこうだ:機密情報や特権情報を公開するすべてのシステムで2FAを有効にする。

すべてのシステムで2FAを有効にすることが最良の選択とは限らない。例えば、携帯電話の電波が怪しいとか、携帯電話を紛失したり盗まれたりした場合などだ。しかし、ほとんどの2FAシステムには、このような状況に対する回避策がある。例えば、GO-Globalでは、ユーザーが携帯電話を紛失しても2FA対応ホストにアクセスできるように、管理コンソール内からコードをリセットすることができます。とはいえ、2FAの認識される不便さと、ユーザーがアクセスする権利を持つものとを天秤にかけるべきである。

例えば、すべての人が利用できる共通のアプリケーションセット(Office 365、タイムキーピングソフト、Adobe製品など)を考えてみよう。これらのアプリケーションがファイアウォールの内側で実行されている場合、オンプレミスのユーザーには認証情報だけで十分です。リモート・ユーザーであっても、非機密データにアクセスできる一般的なアプリケーション・セットだけの権限を持っていると仮定すれば、資格情報だけで十分であることは間違いない。しかし、「もし "SallyB "が "SallyB "ではなく攻撃者だとしたら、何が危険なのか」と自問する必要がある。

機密データを公開する可能性のあるアプリケーショ ンでは、2FAが時折引き起こすかもしれないわずかな不都合は、多少の苦情に 対して対処する価値がある。例えば、この種のアプリケーションにアクセスするこの種のユーザーに対しては、2FAを有効にすべきである:

- コーディング・ソフトウェアにアクセスできる開発者

- ネットワーク・スニッファーにアクセスできるエンジニア

- ファイアウォールとルーターの設定ソフトウェアにアクセスできるIT管理者

- 給与計算アプリにアクセスできる会計士

- 顧客関係管理(CRM)システムにアクセスできる営業チームメンバー

- 人事管理ソフトウェアにアクセスできる人事担当者

上記のユーザーがVPN経由でこれらのアプリケーションにアクセスしている場合はどうでしょうか?VPN はインターネット上に一種のトンネルを作り、ユーザーと彼らがアクセスするシステムとの間でやり取りされる情報を暗号化します。しかし、VPN は「サリーB」に対して正しい認証情報を入力したエンティティが「サリーB」であるかどうかを判断すること はできません。したがって、VPNの有無にかかわらず、ユーザーの役割によって機密データへのアクセスが許可されている場合は、それを保護するために2FAを有効にする必要があります。

{CTAEMBED_IDENTIFIER}}。

GO-Globalで2FAを設定する

図2.GO-Globalホストで2FAを有効にするには、"Require two-factor authentication "をクリックします。

WindowsアプリケーションをホストするGO-Globalサーバーで2FAを有効にするのは簡単なプロセスです。まず、管理コンソールの[ツール]メニューから[ホストオプション]を選択し、[認証]タブをクリックします。その画面から "Require two-factor authentication" をクリックします。OK "をクリックすると、2FAが有効になる。(図2を参照)。

図3.GO-Global Sign Inダイアログはカスタマイズできます。特に、ロゴ、言語、フィールドラベルを変更できます。

ユーザーが2FA対応のGO-Globalホストに接続するたびに、システムはまず、「サインイン」ダイアログを通 じてユーザー名とパスワードを入力するよう求める(図3を参照)。(図3を参照。) ユーザーが初めて "Sign In "をクリックすると、システムは2FAの登録を促し、そのために必要な2つのステップを説明する。

- ステップ 1 では、ユーザは携帯電話に認証アプリをダウンロードするよう促される。ユーザーは選択したアプリ(Google Authenticator、Authy、Duo Mobile、LastPass Authenticatorなど)をインストールできます。

- ステップ2では、ユーザーにアプリを開き、「追加」または「+」をクリックし、表示されたQRコードをスキャンするよう促す(図4参照)。(スキャンされたQRコードは、このユーザーとこの電話をGO-Globalに結びつける。(ユーザーは、管理コンソールで「ローミングプロファイル」を有効にしている限り、アクセスする2FA対応GO-Globalホストの数に関係なく、QRコードを一度だけスキャンする必要があります)。

図4.GO-Globalユーザーは2つの簡単なステップで2FAに登録する。

スキャンされたQRコードを受信すると、GO-Globalホストは認証アプリから6桁のコードを入力するよう促すダイアログを表示し、"OK "をクリックする。アプリは自動的に60秒ごとにこれらのコードを更新する。ユーザーが正しい現在のコードを入力すると、GO-GlobalホストはApp Controllerを開き、公開されているWindowsアプリケーションを表示する。

このプロセスを文章で説明すると数百字かかるが、ライブで実施すると数秒で終わる。

SSO:パワー・オブ・ワン

2FAを有効にすると、システムは "SallyB "が彼女のクレデンシャルを表す本人であることを確認できる。しかし、2FAはサリーBがパスワードを覚えている助けにはならない。

アクセス管理ソリューション・プロバイダーのOneLoginによると、68%のユーザーが1時間に10個のアプリケーションを切り替えて使用しているという。もしユーザーがセキュリティに徹底しているのであれば、1時間に最大10個のユニークなパスワードを入力している可能性があることになる。しかし、ほとんどのユーザーは徹底していないため、同じパスワードを再利用したり、他の安全性の低いオプションに頼ったりしている。

その解決策は、シングルサインオン(SSO)を有効にすることである。SSOはユーザー認証ツールであり、ユーザーは一元管理された1セットの認証情報だけを使って、複数のアプリケーション、ウェブサイト、データ、ワークステーションにログインし、アクセスすることができる。SSOは、アクセス・セキュリティのベスト・プラクティスと考えられている。実際、英国国立サイバー・セキュリティ・センター(NCSC)は、ゼロ・トラスト・アーキテクチャの重要な原則に「ユーザーIDの単一の強力なソース」を挙げている。

SSOを実装するために、組織はIDプロバイダ(IdP)と提携する。IdPはOpenID Connectのようなプロトコルを使用して、組織のユーザーとSSO統合アプリケーション間の信頼を確立する。ユーザーはIdPにログインし、IdPは一意のアクセストークンを生成する。IdPはこのトークンを使用して、ユーザーが権利を持つ統合アプリケーションへのアクセスを許可する。

ユーザーがアプリケーションごとに異なる認証情報を入力する必要がなくなるため、誰もがハッピーになる。ユーザーは、通常IdPに1日1回ログインするだけなので、ハッピーです。SSOは、ユーザーの監査と管理のプロセスを簡素化します。セキュリティチームは、より厳格なパスワード要件を定義し、実施することができます。そして、ヘルプデスクはパスワードリセットの問い合わせを減らすことができます。

WindowsアプリのSSO

残念なことに、SSOは歴史的に、Windowsアプリケーションではなく、 Webベースのアプリケーションでのみ利用可能であった。問題は、Windowsでは、ユーザがユーザ名とパスワー ドでOSに直接ログオンし、その後Winlogonがユーザのプロファイルをロード することである。Windows OSはユーザ名とパスワードを必要とするため、通常、カスタムのクレデンシャル・プロバイダなしでは、クラウドSSO実装にWindowsアプリケーションを含めることはできない。

Citrix Hypervisorと統合されたCitrix NetScaler Unified Gatewayのような、利用可能なWindowsアプリケーションのためのSSOソリューションは、高価で複雑であるという評判がある。

GO-Globalはその評判を変える態勢を整えている。

アドオンオプションとして利用可能なGO-GlobalのOpenID Connect認証機能は、Windowsアプリケーションのための他のSSOソリューションの何分の一かのコストで簡単なセットアップでSSOを提供します。GO-Globalは、Okta、OneLogin、Microsoft Active Directory Federated Services、およびMicrosoft Azure AD Seamless SSOを含む、OpenID ConnectをサポートするIdPを介したWindowsアプリケーションのSSOを可能にします。設定されると、GO-Global OpenID Connectは、IdPにサインインしたユーザーが認証情報を再入力することなく、ブラウザからGO-Globalホスト上のWindowsアプリケーションにアクセスすることを可能にします。

GO-GlobalでSSOを設定する

GO-Globalホストをお客様の組織のIdPと統合するには、GO-Globalを認識し動作するようにIdPを設定することから始めます。特定の設定は当然特定のIdPに依存します。例えば、Oktaの場合、とりわけ、プロトコル(すなわち、OpenID Connect)、GO-GlobalホストへのリダイレクトURL、およびホストへのアクセスを制御したい程度を指定する必要があります。(例えば、特定のグループにアクセスを制限したり、すべてのアクセスを有効にしたりできます)。

便宜上、IdP設定のいくつか(例えば、クライアントID、クライアントシークレット、リダイレクトURL)をメモ帳にコピーし、後でGO-Globalの管理コンソールに貼り付けられるようにすることをグラフオンは推奨します。(図5を参照)。

IdPを構成したら、GO-Globalホストを構成します。これを行うには、GO-Global Admin Consoleに移動し、ToolsメニューでHost Optionsを選択し、Authenticationタブをクリックします。ここから、お客様のIdPを使用するようにGO-Globalホストを構成するには、適切なフィールドに前述の設定を貼り付けるだけです。

GO-Global ホストが IdP と統合されている場合、ユーザーは(プロンプトが表示 されたら)IdP 認証情報を入力して、Web ブラウザーからホストにアクセスしま す。認証情報とホストの URL を入力すると、ユーザーには App Controller が表示され、公開されている Windows アプリケーションが表示されます。

ユーザーがOpenID Connectを介してIdPに認証されると、選択したオプションに従ってWindows上で自動的に認証されます。例えば、IdPが組織のActive Directoryと統合されている場合、ユーザーを自動的にユーザードメインに署名するようにGO-Globalを設定できます。

より良いセキュリティとアクセスの容易さのために、可能な限りSSOを活用すべきです。GO-GlobalはWindowsアプリケーションをSSOオプションに含めることをより簡単に(そしてより安価に)します。

図 5.GO-GlobalホストのSSOを有効にするには、Okta(ここに示す)などのIdPを設定することから始めます。

2FAとSSOの両方が必要な場合とは?

2FAとSSOの両方を導入したいのはどんな時だろうか?単純な(しかし必ずしも実用的ではない)答えは、"可能な限りいつでも "だ。より現実的で常に賢明な答えは、不正アクセスから機密情報を保護するために、2FAを有効にするべきだということだ。その際、NCSCは、2FAがもたらす「摩擦」を軽減するためにSSOも活用することを推奨する。2FAは、アクセスを試みているユーザーが、その認証情報が示すユーザーであることをシステムが確認するのに役立ち、SSOは、情報漏洩につながりかねないずさんなパスワードの使い方を防ぐ。

GO-Globalを使用すると、GO-Globalホスト上で公開するすべてのWindowsアプリケーションで2FAとSSOの両方を有効にする手段があります。

詳細については、こちらから デモをリクエストするか、30日間の無料トライアルをダウンロードしてください。

安全で便利なアプリケーションをお探しですか?

GO-Globalがどのようにシンプルで費用効果の高いソリューションを提供するかをご覧ください。