質問

Shibboleth を使用してシングルサインオンログインページを作成しています。さまざまなWebアプリケーションに使用されます。フィッシング詐欺の影響を制限しながら、このページをできるだけ安全で使いやすいものにしたいのは明らかです。

ログインページを設計する際に留意すべきベストプラクティスは何ですか?

この問題に関するいくつかの質問:

  • ログインページがすべてのディスプレイで常に同じように見えることが重要ですか?
  • 逆に、ログインページがランダムなデザインを持つことは有益ですか?
  • ログインページが他のすべてのページと同じように見えるのが良いのですか、それとも独自のデザインが必要ですか?
  • ログインページに独自のデザインがある場合、サイトのデザインからの他の定数要素(グローバルナビゲーションなど)を組み込む必要がありますか?
  • ログインページは、ユーザーに追加のコンテンツ(最新ニュースなど)を提供するのに適した場所ですか?
  • 人を安全に保つために追加すべきセキュリティ機能はありますか?
役に立ちましたか?

解決

使用上の注意:

個人的には、サイトが「パスワードを忘れた」と言ったとき嫌い。または「ユーザー名を忘れた」または" help"パスワードフィールドとログインボタンの間のリンク。キーボードユーザーとして、送信ボタンに到達するためにTabキーを押す必要はありません。

さらに良いことに、Enterキーで自動送信できるように、パスワードフィールドでEnterキーを押してください。

他のヒント

ログインページで同じデザインを維持することで、デザインの変更がランダムに行われたり、サイトがフィッシングの犠牲になっているとユーザーが思う場合に、ユーザーがページにログインしようとしていることをユーザーに知らせます。そのため、コンテンツページと同じガイドラインを維持することをお勧めします

あなたがデザインしたものに関係なく、フィッシャーはそれを模倣することができます。フィッシングを完全に防ぐことは難しい問題です。基本的にユーザーがログインする前にユーザーを識別するための何らかの手段が必要になります。 ログインする銀行もあります。名前を入力すると、自分が選択した画像が表示され、同じ画像であることを確認したら、パスワードを入力します。これは、サイトが必要とするよりも複雑なレベルになる可能性があります。

技術面では、Bank Of AmericaはPassMarkと呼ばれるFlashローカル共有オブジェクトを使用してこれを実現しています。あなたのブラウザはあなた自身を識別するこのデータを静かに銀行に送り返します。 LSOを削除すると、BofAがあなたを識別できないため、画像は表示されません。これでさえ、man-in-the-middle攻撃に対して脆弱です。

もう1つの" no duh"指定した資格情報が無効である場合、私が行く多くのアプリケーションでまだ表示されるものは、どれが無効であるかを示しません。 「無効なユーザー/パスワードの組み合わせ」のようなことを言うだけです。 「無効なパスワード」の代わりにソーシャルエンジニアリングからそれらの人々があなたのサイトにアクセスするユーザーベースを知ることを防ぎます。

Smashing Magazineには、ログインフォームに関するかなり完全な概要があります。 Webフォームデザインパターン:サインアップフォーム

アプリケーションレベルのDos防止を含める

ログインの失敗については非特異的であること。一般的な「ログインに失敗しました」 " Unknown Username"の代わりに。

キャプチャまたはその他のチューリングテストを使用します。

簡単に思えますが、アプリで必要な場合はHTTPSを使用してください。確かに、人々が同じパスワードを再利用する傾向があるため、それを保証しなくても。最近では、SSL証明書を安く入手できます。彼らがあなたのサイトからパスワードを持ち上げた場合、彼らは他の場所でそれを試すことができます。多くの銀行でさえ、安全な行にログインページがありません。 HTTPSページに投稿しますが、中間者攻撃の保護はまだありません。

Omniwombatに同意します。フィッシングは、うまく解決するのが難しい問題であり、完全に解決することは不可能に思えます。

ユーザーおよびセキュリティガードのように考えてください。ログインするたびにキャプチャを行うようにすると、かなりうんざりしてしまいます。

サービス拒否を防止しようとしている場合、特定の期間内に十分な(失敗した?)ログイン試行がある場合にのみキャプチャを表示することができます。

NTLM、OpenID、またはShibbolethを使用して、ほとんどのユーザーのログインを可能な限り自動化することを検討してください。

他のページにアクセスして登録しないでください。おそらく、ユーザー名とパスワードのフィールドと、ログイン/送信ボタンがあるでしょう。 「新規ユーザーとして登録」を追加するだけです。また、新しいユーザーが既存のユーザー名/パスワードフィールドを使用できるようにします。新しいユーザーの追加の詳細を収集する必要がある場合は、フォームをポップアップ(ポップアップウィンドウではなくDHTMLを使用)して収集します。

今後の状況に役立つヒント: autocomplete =" off"を追加して、クライアント側のパスワード保存を無効にできます。パスワードフィールドに。

すべてのブラウザで動作しません(覚えていれば、IE 6+およびFirefox 3 +)

フィッシングを阻止するためにこれまでに見た中で最高ののは、銀行のログインインターフェースです。ログインは3つの部分で行われ、最初にユーザーがアカウント番号(デビットカード番号、クレジットカード番号...)を入力し、2番目のステップでユーザーが指定した3つの質問の1つをランダムにリストします(例:参加した高校グレード10)の場合、最初の2つが成功した場合の最後の部分は、サインアップ時にユーザーが指定した画像とテキストを表示することです。パスワードフィールドは下にあります。

ユーザーが一般にそのページで10秒すべてを費やすことを認識してください。ユーザーIDとパスワードをどこに置くかが明らかである限り、それがどのように見えるかは実際には関係ありません。それ以外は、パスワードを忘れた場合にパスワードをメールで送信するサイトの1つではありません。少なくとも、それを取得できない素敵なソルトハッシュに隠されていると信じさせてください。

@Joe Lencioni、およびShibbolethに関心のあるすべての人

サイトページは、各ページで全体的に同じルックアンドフィールを持つ必要があります。

ShibbolethおよびSSOについて。組織が関連付けられている役割に注意することが重要です。あなたはアイデンティティプロバイダー-IdP(ユーザーを認証してからSPに応答を送信)、またはあなたはサービスプロバイダー-SP(IdPによって送信された応答と属性に基づいて認証を付与します)

SPの場合、ユーザーがIdPにリンクしてログインできるようにする柔軟性があります。多くのSPは、IdPのログインページにユーザーをリダイレクトする独自のWAYF(Where Are You From)ページを作成します。

IdPの場合、ユーザーがログインし、SPが適切なアクセスを許可するために必要な属性を使用してSPにリダイレクトできるように、ユーザーに馴染みのあるログインページが必要です。

フィッシング詐欺に関する限り、Shibbolethメタデータを最新の状態に保つことが重要です。多くの連盟がメタデータを(1)時間ごとにダウンロードすることを推奨していると思います。

多くのShibbolethの質問に回答できます: https://spaces.internet2.edu/display / SHIB2 / Home

これがお役に立てば幸いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top