タグ付けされた質問 「authentication」

認証は、身元を確認するプロセスです。

5
なぜAPIキーとシークレットを使用するのですか?
ユーザーにAPIキーとシークレットの両方を提供する多くのAPIに出くわしました。しかし、私の質問は、両方の違いは何ですか? 私の目には、1つのキーで十分です。私が鍵を持っていて、私とサーバーだけがそれを知っているとしましょう。このキーを使用してHMACハッシュを作成し、API呼び出しを行います。サーバー上で、HMACハッシュを再度作成し、送信されたハッシュと比較します。同じ場合、通話は認証されます。 では、なぜ2つのキーを使用するのでしょうか。 編集:またはそのAPIキーはAPIシークレットを検索するために使用されますか?

11
Webサイトの管理セクションを保護するためのベストプラクティスは何ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Stack Overflowのトピックとなるように質問を更新します。 8年前に閉鎖。 この質問を改善する 特に認証/アクセスの観点から、ウェブサイトの管理セクションを保護するためのベストプラクティスを人々がどのように考えているかを知りたいのですが。 もちろん、SSLを使用したり、すべてのアクセスをログに記録したりするなど、明らかなことはありますが、これらの基本的な手順の上のどこに人々がバーが設定されていると考えているのでしょうか。 例えば: 通常のユーザーに使用するのと同じ認証メカニズムに依存していますか?そうでない場合、何ですか? 同じ「アプリケーションドメイン」で管理セクションを実行していますか? 管理セクションを未発見にするためにどのような手順を踏んでいますか?(または「あいまいな」こと全体を拒否しますか) これまでのところ、回答者からの提案は次のとおりです。 ブルートフォース攻撃を防ぐために、各管理者パスワードチェックに人工的なサーバー側の一時停止を導入します[開発者向けアート] ユーザーと管理者が同じDBテーブルを使用して別々のログインページを使用する(管理エリアへのアクセスを許可するXSRFとセッション盗用を停止するため)[Thief Master] Webサーバーのネイティブ認証を管理領域に追加することも検討してください(例:.htaccess経由) [Thief Master] 多数の管理者ログイン試行の失敗後にユーザーのIPをブロックすることを検討してください[Thief Master] 管理者のログイン試行が失敗した後にキャプチャを追加する[Thief Master] ユーザーと管理者に(上記の手法を使用して)同等に強力なメカニズムを提供します(たとえば、管理者を特別に扱いません)[Lo'oris] 2番目のレベルの認証を検討してください(クライアント証明書、スマートカード、カードスペースなど)[JoeGeeky] 信頼できるIP /ドメインからのアクセスのみを許可し、可能であれば、基本的なHTTPパイプラインに(たとえば、HttpModulesを介して)チェックを追加します。[ジョーギーキー] [ASP.NET] IPrincipalとPrincipalをロックダウンします(それらを不変で列挙できないようにします)[JoeGeeky] フェデレート権限の昇格-たとえば、管理者の権限がアップグレードされたときに他の管理者にメールを送信します。 [ジョーギーキー] 管理者にきめ細かい権限を検討します。たとえば、役割ベースの権限ではなく、管理者ごとに個別のアクションの権限を定義します[JoeGeeky] 管理者の作成を制限-たとえば、管理者は他の管理者アカウントを変更または作成できません。これには、ロックダウンされた「superadmin」クライアントを使用します。[ジョーギーキー] クライアント側のSSL証明書、またはRSAタイプのキーフォブ(電子トークン)を検討する[Daniel Papasian] 認証にCookieを使用する場合は、たとえばadminセクションを別のドメインに配置するなどして、adminページと通常のページに別々のcookieを使用します。[ダニエルパパシアス] 実用的な場合は、管理サイトをプライベートなサブネット上に置いて、パブリックインターネットから切り離すことを検討してください。[ジョンハートソック] Webサイトの管理/通常の使用コンテキスト間を移動するときに認証/セッションチケットを再発行する[Richard JP Le Guen]

17
サブドメイン間のPHPセッション
以下を設定しようとしています: auth.example.com sub1.example.com sub2.example.com ユーザーが訪問した場合、sub1.example.comまたはsub2.example.comauth.example.comアクセスしたり、ログインしていなかっと、リダイレクトされてログインできます。 sub1.example.com そして sub2.example.comは2つの別個のアプリケーションですが、同じ資格情報を使用します。 私のphp.iniに以下を設定してみました: session.cookie_domain = ".example.com" しかし、あるドメインから別のドメインに情報を渡していないようです。 [編集] 私は以下を試しました: sub1.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Regsitered'] = 1; echo '<a href="http://auth.example.com/test.php">Change Sites</a>' auth.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Checked'] = 1; print_r($_SESSION); セッションIDはまったく同じですが、$_SESSION変数をダンプすると、両方のキーが表示されず、各ドメインで設定したキーだけが表示されます。

5
.NET Core Identity Server4認証VSID認証
ASP.NETCoreで認証を行う適切な方法を理解しようとしています。私はいくつかのリソースを見てきました(そのほとんどは時代遅れです)。 Simple-Implementation-Of-Microsoft-Identity ASP.Coreによる認証の概要 アイデンティティのMSDN入門 一部の人々は、Azure ADなどのクラウドベースのソリューションを使用すること、またはIdentityServer4を使用して独自のトークンサーバーをホストすることを示す代替ソリューションを提供しています。 古いバージョンの.Netでは、認証のより単純な形式の1つは、カスタム原則を作成し、その中に追加の認証ユーザーデータを格納することです。 public interface ICustomPrincipal : System.Security.Principal.IPrincipal { string FirstName { get; set; } string LastName { get; set; } } public class CustomPrincipal : ICustomPrincipal { public IIdentity Identity { get; private set; } public CustomPrincipal(string username) { this.Identity = new GenericIdentity(username); } public …

6
OpenIDプロバイダーのURLのリストはどこにありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 4日前休業。 この質問を改善する OpenIDをウェブサイトに実装しましたが、OpenIDプロバイダーのURLのリストを見つけるのに苦労しています。これは簡単に見つけられるだろうと思っていましたが、Webを精査したところ、ほんの一握り、ほとんどは偶然でした。 利用可能なプロバイダーとその認証URLをリストするリソースはありますか? 編集:ここに私がこれまでに見つけたものがあります。私はそれらのすべてを試したことはないので、それらのいずれかが間違っているかどうかを知らせてください。 StackExchange https://openid.stackexchange.com Google https://www.google.com/accounts/o8/id-2014年 5月に廃止-2015年4月に終了 Yahoo https://me.yahoo.com Flickr http://www.flickr.com/username AOL http://openid.aol.com/username Blogspot https://www.blogspot.com/ LiveJournal http://username.livejournal.com/ ワードプレス https://username.wordpress.com/ VerisignLabs https://pip.verisignlabs.com/-2016年 9月閉鎖 MyOpenID https://www.myopenid.com/-2014年 2月にシャットダウン予定 MyVidoop https://myvidoop.com/ Technorati https://technorati.com/people/technorati/username/ PayPal https://www.x.com/developers/paypal/documentation-tools/quick-start-guides/standard-openid-integration-paypal-access

14
ソースツリーリモート:無効なユーザー名またはパスワード
sourcetreeを使用してgithubにプッシュしようとしていますが、次のエラーが発生します。 git -c diff.mnemonicprefix = false -c core.quotepath = false push -v --tags origin live_version:live_version remote:無効なユーザー名またはパスワード。致命的:認証に失敗しました ' https://github.com/myname/myrepo/'https://github.com/myname/myrepoにプッシュしてい ます エラーで完了しました。上記を参照してください。 しかし、私が行くとき ツール>認証>私のgithubアカウント [編集]> [oauthトークン の更新]をクリックします 。ページが開き、次のように表示されます。 認証に成功しました SourceTree has been successfully authenticated. You may now close this page. 常に機能していましたが、突然停止しました。2要素認証がありません。アカウントを削除して、もう一度追加しようとしましたが、役に立ちませんでした。プロジェクトをgithubにプッシュできるように、接続を再び機能させるにはどうすればよいですか。 Sourcetreeバージョン2.1.8.0

9
認証プロキシの背後にあるWindowsでPIPを使用する方法
私のコンピューターはWindowsサーバーのプロキシの背後で(Active Directoryを使用して)Windowsを実行しており、それをpip(python3で)実行する方法がわかりません。を使用してみました--proxyが、それでもタイムアウトします。私も長いタイムアウト(60秒)を設定しようとしましたが、違いはありませんでした。私のプロキシ設定は正しいので、TortoiseHGで正常に使用しているものと比較して確認しました。 私が試すことができることを誰かが知っている他のトリックはありますか、またはpipWindowsプロキシに関していくつかの制限がありますか? 更新:私の失敗した試みには、pypiの検索が含まれていました。実際に何かをインストールしてみましたが、うまくいきました。それでも検索は失敗します。これはバグを示していますか、pipそれとも動作が異なりますか?

9
パスワードハッシュのランダムでないソルト
更新:私は最近この質問から、以下の全体の議論で私(そして他の人もそうだったと確信しています)は少し混乱していることを学びました:私がレインボーテーブルと呼んでいるものは実際にはハッシュテーブルと呼ばれます。レインボーテーブルは、より複雑な生き物であり、実際にはヘルマンハッシュチェーンのバリアントです。解答は同じであると私は信じていますが(解読には至らないため)、一部の議論は少し歪んでいる可能性があります。 質問:「レインボーテーブルとは何ですか。どのように使用されますか?」 通常、Rainbow Tableの攻撃から保護するなど、ハッシュ関数(パスワードなど)と共に使用するために、暗号として強力なランダム値をソルトとして使用することを常にお勧めします。 しかし、実際にはソルトがランダムであることは暗号的に必要ですか?これに関して、一意の値(userIdなどのユーザーごとに一意)で十分でしょうか?実際には、単一のRainbow Tableを使用してシステムのすべて(またはほとんど)のパスワードをクラックする ことはできません... しかし、エントロピーの欠如は、ハッシュ関数の暗号強度を本当に弱めるのでしょうか? ソルトを使用する理由、それを保護する方法(保護する必要はない)、単一の定数ハッシュを使用する(しない)、または使用するハッシュ関数の種類については尋ねていません。 塩がエントロピーを必要とするかどうかだけです。 これまでの回答に感謝しますが、私が(少し)あまり慣れていない領域に焦点を当てたいと思います。主に暗号解読への影響-誰かが暗号数学PoVから何らかの入力を持っている場合、私は最も感謝します。 また、考慮されていなかった追加のベクトルがある場合、それも素晴らしい入力です(複数のシステムでの@Dave Sherohmanポイントを参照)。 それ以上に、理論、アイデア、またはベストプラクティスがある場合は、証明、攻撃シナリオ、または経験的証拠のいずれかでこれをバックアップしてください。または、許容できるトレードオフについての有効な考慮事項...私はこのテーマのベストプラクティス(大文字のBの大文字P)に精通しています。これが実際に提供する価値を証明したいと思います。 編集:ここでいくつかの本当に良い答えがありますが、@ Daveが言うように、それは一般的なユーザー名のレインボーテーブルに帰着します...そしてあまり一般的ではない名前も考えられます。ただし、ユーザー名がグローバルに一意である場合はどうなりますか?必ずしも私のシステムで一意である必要はありませんが、ユーザーごとに-たとえば、電子メールアドレス。 (@Daveが強調しているように、saltは秘密にされていないため)シングルユーザー用のRTを作成するインセンティブはなく、これはクラスタリングを妨げます。唯一の問題は、別のサイトで同じメールアドレスとパスワードを使用している可能性があることです。 それで、それは暗号解読に帰着します-エントロピーは必要ですか、それとも不要ですか?(私の現在の考えでは、暗号解読の観点からは必要ではありませんが、他の実際的な理由からです。)

11
Python + LDAPを使用してActive Directoryに対して認証する
Python + LDAPを使用してADに対して認証するにはどうすればよいですか。私は現在python-ldapライブラリーを使用しており、それが生み出しているのは涙だけです。 バインドして簡単なクエリを実行することもできません。 import sys import ldap Server = "ldap://my-ldap-server" DN, Secret, un = sys.argv[1:4] Base = "dc=mydomain,dc=co,dc=uk" Scope = ldap.SCOPE_SUBTREE Filter = "(&(objectClass=user)(sAMAccountName="+un+"))" Attrs = ["displayName"] l = ldap.initialize(Server) l.protocol_version = 3 print l.simple_bind_s(DN, Secret) r = l.search(Base, Scope, Filter, Attrs) Type,user = l.result(r,60) Name,Attrs = user[0] if …

2
ASP.NET Core 2.0認証ミドルウェア
Core 1.1では、@ blowdartのアドバイスに従い、カスタムミドルウェアを実装しました。 https://stackoverflow.com/a/31465227/29821 それはこのように機能しました: ミドルウェアが実行されました。リクエストヘッダーからトークンを取得しました。 トークンを検証し、有効な場合、HttpContext.User.AddIdentity();を介して追加された複数のクレームを含むID(ClaimsIdentity)を構築しました。 services.AddAuthorizationを使用するConfigureServicesで、ミドルウェアによって提供される要求を要求するポリシーを追加しました。 コントローラ/アクションでは、[Authorize(Roles = "ミドルウェアが追加した役割")]を使用します。 これは2.0で多少機能しますが、トークンが無効で(上記のステップ2)、クレームが追加されない場合は、「authenticationSchemeが指定されておらず、DefaultChallengeSchemeが見つかりませんでした」というメッセージが表示されます。 だから今私は2.0で変更されたauthを読んでいます: https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x ASP.NET Core 2.0で同じことをするための正しい方法は何ですか?本当にカスタム認証を行う例は見当たりません。


3
node-jwt-simpleを使用したpassport-local
認証が成功したときに、passport-localを組み合わせてJWTトークンを返すにはどうすればよいですか? node-jwt-simpleを使用してpassport.jsを確認したいのですが、どうすればよいかわかりません。 var passport = require('passport') , LocalStrategy = require('passport-local').Strategy; passport.use(new LocalStrategy( function(username, password, done) { User.findOne({ username: username }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Incorrect username.' }); } if (!user.validPassword(password)) { return done(null, false, { message: 'Incorrect …

3
認証にFacebookを使用するWebサイト用のRESTAPI
ログインしてサイトで自分自身を認証する唯一の方法がFacebookを使用するWebサイトがあります(これは私の選択ではありませんでした)。Facebookに初めてログインすると、アカウントが自動的に作成されます。 ここで、私たちのサイト用のiPhoneアプリケーションと、他の人が私たちのサービスを使用するためのパブリックAPIを作成したいと考えています。 この質問は、アプリ/ APIから当社のWebサイトで認証する方法に関するもので、2つの部分に分かれています。 APIからFacebookOAuthのみを認証方法として使用するWebサイトへのREST認証を処理する正しい方法は何ですか? 私はRESTAPIの標準的な認証方法について多くのことを読み、調査しました。ユーザーの資格情報がないため、HTTPS経由の基本認証などの方法を使用することはできません。このようなものは、APIを使用してアプリケーションを認証するためだけのもののようです。 現在、私が考える最善の方法は、APIで/ authorizeエンドポイントに到達し、Facebook OAuthにリダイレクトしてから、サイトにリダイレクトし、APIのユーザーが後続の認証に使用できる「トークン」を提供することです。リクエスト。 私たちが作成する公式アプリケーションの場合、必ずしも同じ方法でパブリックAPIを使用する必要はありません。それでは、当社のWebサイトに話しかけてユーザーを認証するための最良の方法は何でしょうか? API(公開)キーと秘密(プライベート)キーを使用して、APIを使用しているサードパーティアプリケーションを認証する方法を理解しています(私は思います)。ただし、アプリを使用しているユーザーの認証に関しては、ユーザーを認証する唯一の方法がFacebookである場合、その方法についてかなり混乱しています。 非常に明白なものが欠けている、またはパブリックREST APIがどのように機能するかを完全に理解していないように感じるので、アドバイスやヘルプをいただければ幸いです。

11
SVNはユーザー名を変更します
特定のリビジョンのユーザー名を変更する方法など、多くの例を見つけました。 しかし、必要なのはこれです。同僚の認証資格情報を使用してチェックアウトを行い、将来のコミットのためにそれを自分の資格情報に変更する必要があります。 すでに多くの変更が行われているため、資格情報だけでチェックアウトすることはできません... これに精通している人はいますか?

5
ドメイン資格情報を検証する方法は?
ドメインコントローラーに対して一連の資格情報を検証したいと思います。例えば: Username: STACKOVERFLOW\joel Password: splotchy 方法1.偽装を使用してActiveDirectoryをクエリする 多くの人が、ActiveDirectoryに何かを照会することを提案しています。例外がスローされた場合は、資格情報が無効であることがわかります-このstackoverflowの質問で提案されているように。 ただし、このアプローチにはいくつかの重大な欠点があります。 ドメインアカウントを認証するだけでなく、暗黙的な承認チェックも実行します。つまり、偽装トークンを使用してADからプロパティを読み取っています。それ以外の場合は有効なアカウントにADから読み取る権限がない場合はどうなりますか?デフォルトでは、すべてのユーザーが読み取りアクセス権を持っていますが、ドメインポリシーを設定して、制限されたアカウント(またはグループ)のアクセス許可を無効にすることができます。 ADに対するバインドには重大なオーバーヘッドがあり、ADスキーマキャッシュをクライアントでロードする必要があります(DirectoryServicesが使用するADSIプロバイダーのADSIキャッシュ)。これはネットワークとADサーバーの両方であり、リソースを消費します。また、ユーザーアカウントの認証などの単純な操作にはコストがかかりすぎます。 例外ではない場合の例外の失敗に依存しており、それが無効なユーザー名とパスワードを意味すると想定しています。その他の問題(ネットワーク障害、AD接続障害、メモリ割り当てエラーなど)は、認証障害として誤って解釈されます。 方法2.LogonUser Win32 API 他の人が使用して示唆されているLogonUser()API関数を。これは良さそうに聞こえますが、残念ながら、呼び出し元のユーザーは、通常、オペレーティングシステム自体にのみ付与されるアクセス許可を必要とする場合があります。 LogonUserを呼び出すプロセスには、SE_TCB_NAME特権が必要です。呼び出しプロセスにこの特権がない場合、LogonUserは失敗し、GetLastErrorはERROR_PRIVILEGE_NOT_HELDを返します。 場合によっては、LogonUserを呼び出すプロセスで、SE_CHANGE_NOTIFY_NAME特権も有効にする必要があります。それ以外の場合、LogonUserは失敗し、GetLastErrorはERROR_ACCESS_DENIEDを返します。この特権は、ローカルシステムアカウントまたはadministratorsグループのメンバーであるアカウントには必要ありません。デフォルトでは、SE_CHANGE_NOTIFY_NAMEはすべてのユーザーに対して有効になっていますが、一部の管理者はすべてのユーザーに対して無効にすることができます。 「配っオペレーティングシステムの一部として、 Microsoftがで指摘するように- 」権限は行き当たりばったりやりたいものではありませんナレッジベースの記事: ... LogonUserを呼び出すプロセスには、SE_TCB_NAME特権が必要です(ユーザーマネージャーでは、これは「オペレーティングシステムの一部として機能する」権限です)。SE_TCB_NAME特権は非常に強力であり、 資格情報を検証する必要があるアプリケーションを実行できるようにするためだけに、任意のユーザーに付与しないでください。 さらに、LogonUser()空白のパスワードが指定されている場合、への呼び出しは失敗します。 ドメイン資格情報のセットを認証する適切な方法は何ですか? 私は起こるのマネージコードから呼び出すことが、これは、AA、一般的なWindowsの質問です。お客様には.NETFramework2.0がインストールされていると想定できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.