問題タブ [ws-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
web-services - Rampart WS Security モジュールを使用して Axis2 Web サービスを使用するためのセキュアな WS クライアントを開発していますか?
Rampart を使用して保護された Axis2 Web サービスがあります。できればJAX-WSベースの安全なクライアントを開発したいと思っています。私は多くのチュートリアルを試しましたが、クライアント側に Axis2 ライブラリを含めるなど、互いに密接に結びついています。サービスは .NET ベースのクライアントまたは PHP ベースのクライアントで使用できるため、クライアントは WS サービス フレームワークから完全に独立している必要があります。
前もって感謝します...
ejb-3.0 - EJB3 で WS-Security を使用するには?
私たちのプロジェクトの 1 つで、WS-Security を使用する Web サービスを呼び出すことができるはずです。つまり、SOAP 要求は X.509 証明書で署名されている必要があります。WebServiceRef アノテーションを使用して Web サービスを呼び出すいくつかのテストを行ってきましたが、WS-Security なしで Web サービスを呼び出すことができます。
私の質問は、WebServiceRef アノテーションを使用するときに WS-Security をアクティブ化および/または構成するにはどうすればよいですか?
よろしく、ステファン・レチョ。
java - Spring-WS: 事前生成された SOAP エンベロープで WebserviceTemplate を使用する方法
Spring-WS WebserviceTemplate を使用して Web サービスを呼び出し、SOAP エンベロープが生成されるのを回避できますか? つまり、メッセージには既に SOAP エンベロープが含まれており、WebserviceTemplate が別のエンベロープをラップすることは望ましくありません。:-)
これが必要な理由は、ws-security を使用する Web サービスを呼び出したいが、ws-security のものを WebserviceTemplate に入れたくないが、事前に生成された ws-security でメッセージをフィードしたいだけだからです。 SOAP エンベロープの情報。メソッドsendSourceAndReceiveToResultを呼び出してみましたが、Source には既に WS-Security を含む Soap-Envelope が含まれており、Web サービス テンプレートは別の Soap-Envelope をラップしてメッセージを破棄します。
.net - RESTful WCF と Windows フォームを使用したユーザー/パス認証
IIS でホストされている RESTful WCF サービスと通信する Windows フォーム アプリの承認/認証を実装するための最良の方法は何ですか?
私が尋ねる理由は、さまざまな方法を表現するさまざまな記事や投稿をふるいにかけ、最終的に WCF セキュリティのベスト プラクティスに関する約 650 ページのドキュメントにたどり着いた後、非常に混乱しているためです」( http://www.codeplex.com/WCFSecurityGuide ) 私は私のシナリオを考えると、どのアプローチを採用するのが最適で、実装を開始する方法がわかりません。
この記事「A Guide to Designing and Building RESTful Web Services with WCF 3.5」( http://msdn.microsoft.com/en-us/library/dd203052.aspx ) と RESTful WCF サービスに関する PDC ビデオから始めました。私にとって初めての REST フレンドリーな WCF サービスを実装するのに役立ちました。
サービスが機能するようになった後、セキュリティの実装に戻りました。「セキュリティに関する考慮事項」(ページの 4 分の 1) を参照し、指示に従って HTTP Authorization ヘッダーを実装しようとしましたが、コードが不完全であることがわかりました (「UserKeys」変数が宣言されていないことを確認してください)。これは、これを行う方法についてさらに調査しようとしたポイントです(「Authorization」HTTPヘッダーでHMACハッシュを使用しましたが、Googleであまり見つけられませんでしたか?)メッセージレベルのセキュリティに関する他の記事にたどり着きました。フォーム認証とカスタムバリデーターを使用していますが、率直に言って、どちらが今取るべき最善かつ最も適切なアプローチであるかはわかりません.
以上のことを踏まえて (そして今まで聞いてくれてありがとう!)、主な質問は次のとおりだと思います。
- どのセキュリティ実装を使用すればよいですか?
- すべての WCF 呼び出しでユーザー名/パスワードを送信しないようにする方法はありますか? 接続が最初に確立されている場合は、これらの余分なバイトを送信しないことをお勧めします。これは、ログイン後に後続の呼び出しが許可される前になります。
- SSL を使用している場合、プレーン テキスト以外のことを本当に心配する必要がありますか?
前述のように、.NET 3.5 はフォーム アプリ、IIS がホストする WCF サービスを獲得しますが、重要なことは、すべての WCF サービスがこの承認手順を必要とすることです (ただし、セッション、http ヘッダーなどである必要があります)。誰でもこれらのサービスに Web からアクセスできるようにしたいと考えています。
上記の投稿が大きいことは承知していますが、すでに行ったルートと達成する必要があることを表現する必要がありました。
PS: この投稿についても認識しています ユーザー名/パスワード + SSL を使用して WCF で安全な RESTful サービスを構成する方法コミュニティが WCF サービスの REST から離れることを提案している場合は、これを行うことができますが、一貫性を保つためにこれから始めましたパブリック API が来るように。
WCF サービスにアクセスする方法を述べることが重要だと思います (サービスへの接続は機能していますが、資格情報を検証してから Member オブジェクトを返す最善の方法は何ですか?)。
MSの記事から半分実装されたコード(およびテスト用に私自身のもの):
web-services - セキュリティ UserNameToken を使用する Web サービス
セキュリティ上の理由から、単純な UserNameToken を使用して単純な Web サービスを公開するために glassfish V2 を使用している問題を解決しようとしています。これをアーカイブするために Netbeans 6.5 を使用していたので、このチュートリアルを検討していました。
したがって、次の手順が実行されました。開発環境では、Sun Java(TM) System Access Manager をインストールし、Netbeans IDE だけでなく管理コンソールからもこれを管理できます。すべて良い。チュートリアルの例は完璧に機能したので、先に進むのに適した立場にあると考えました。
Web サービスのセキュリティ オプションを変更した後、Netbeans をインストールせずにテスト環境でこれを公開しました。
その後、次の手順を実行しました。
- サービスのデプロイ
- Access Manager で IP アドレスのレルムを構成する
- Web サービスにアクセスする予定のユーザーをセットアップします。
パートナーが現在 Web サービスにアクセスしている場合、実際の Web サービス コードにはアクセスされず、セキュリティ ヘッダーが理解されていないことが常にサーバーのログに記録されます。
これは、サーバーで受け取るメッセージです。
wsit.xml は次のようになります。
ここでどの構成が欠落している可能性があるか、誰にもわかりませんか?
また、セキュリティ (AM セキュリティ) を有効にした後、IDE で構成ファイル/amserver の下に amconfig.xml というファイルが作成されていることにも気付きました。
このファイルは、サービスをデプロイした後でも、Web サーバー上でも、*.war 内でも、addons/amserver などの下でも見つかりません。
ファイルは内部的に次のようになります。
情報は既にsun-web.xml
サーバーに公開されているため、問題にはならないと思いますが、参考になるかもしれません。
java - Web サービスへの CXF クライアントで TLS/SSL Http 認証をどのように使用しますか?
証明書で保護された Web サービスにアクセスしようとしています。セキュリティは IIS でセットアップされ、Web サービスはその背後にあります。
WS-SECURITY がこの種の認証を行うとは思えません。Web サービスを呼び出すときにクライアント証明書を渡す方法はありますか?
「このページにはクライアント証明書が必要です」という IIS エラー ページが表示されます。
CXF 2.1.4 を使用しています
ant - WLS Ant タスクを使用して、ポリシー ファイルが含まれる EAR をどのように構築しますか?
私は Weblogic Server で JAX-WS を使用しており、Ant タスクを使用して、サーバーにデプロイできる EAR ファイルを作成しています。JAX-WS で動作する基本的な SOAP 呼び出しを取得しましたが、WS-Security を介してメッセージ レベルのセキュリティを追加しようとしています。
ドキュメントによると、Web サービスにセキュリティ ポリシーを追加するには 2 つの方法があります。1 つは、Java ソース自体にアノテーションを使用することですが、ポリシーが永久に設定されることを意味します。2 番目の方法は、ポリシー ファイルを EAR ファイルに追加し、管理者がデプロイ後の Web サービスのポリシーを設定できるようにすることです。
ドキュメントには、ポリシー ファイルを配置する必要がある場所が記載されていますが、Ant でビルドを行うときにこれらのポリシー ファイルを自動的に追加する方法については説明されていません。EAR をビルド/再デプロイするたびにポリシー ファイルを手動で追加するのは、テストで非常に面倒です。EAR ファイルを作成するために現在使用している Ant コードは次のとおりです。
ポリシー ファイルを含む EAR を適切な場所に自動的にビルドするにはどうすればよいですか? Java WAR ファイルの WEB-INF/policies に組み込むことに最も関心があります。ポリシー ファイルが手元にあり、ビルドする前にそれらを参照できると想定できます。
.net - .Net を使用して安全な Web サービスを構築するにはどうすればよいですか?
インターネット経由で HR システムにデータを出し入れするための単純な Web サービスを構築する必要があります (これはホストされたソリューションです)。IIS と ASP.Net を .Net 2.0 で使用しています。
それを調べたところ、Webサービスを安全にする方法がいくつかあります.どの方法を選択するかについて、長所と短所についていくつかの見解を示してアドバイスを求めています.
これらは私が知っている方法です:
SSL 経由の SoapHeaders
UID/PWD を SOAP ヘッダーにポストし、SOAP 拡張機能を実装します (リンク)。
実装は非常に簡単で、SSL 経由で非常に安全です。これは、比較的単純であるため、私の好みのオプションです。また、歴史的な理由から、すべての VBScript から Web サービスを使用する必要があるため、単純な SOAP を処理できることはおまけです。
ただし、注意点はありますか?これはセキュリティ上のリスクであるとクライアントから不満を言われることはありますか?
TransportWithMessageCredential での WCF の使用
WS に言及している古い記事をたくさん見つけました。間違いでなければ、これが現在 WCF で提供されているものですか? この Microsoft リンクには入門書があります。
私が正しく理解している場合、これはクライアントとサーバー間の認証に証明書ベースのセキュリティを使用します。これは正しいですか、それとも完全に間違っていますか?
少なくとも実装に関しては、これははるかに大きな仕事になると思います。また、VBScript から Webservice に直接アクセスすることはできないので、それが呼び出す dll を作成し、それをローカルに展開する必要があります - 正しいですか?
これは.Net 2.0でも利用できますか?
その他の方法
- asmx ファイルへの匿名アクセスを禁止し、IIS に依存してチャレンジ/レスポンスによる認証を行うことができます。これは私のシナリオでは実際に実用的ですが、非常に洗練されていないように感じます (VBScript からそれを機能させる方法もわかりません)。
- メソッド呼び出しに UID を渡すことは、SoapHeader とは相性が悪いので、使用しません。
この問題に対する最善のアプローチについてアドバイスをいただければ幸いです。Soap ヘッダーが安全である理由について誰かが十分な議論をしている場合は、「十分に安全」である限り、それが最も簡単に使用できるように思われるので、ぜひ聞いてください。
java - WS-Security および WS-Addressing を使用した JAX-WS Consuming Web サービス
ユーザー名トークン認証 (パスワード ダイジェスト、ナンス、タイムスタンプ) とタイムスタンプ検証を備えた WS-Security と SSL 経由の WS-Addressing を使用する JAX-WS (Metro) を使用して、スタンドアロンの Java Web サービス クライアントを開発しようとしています。
私が扱う必要のある WSDL には、セキュリティ ポリシー情報が定義されていません。WSDL にこの情報が含まれていない場合に、このヘッダー情報を追加する方法 (正しい方法) を正確に理解することができませんでした。Metro を使用して見つけたほとんどの例は、Netbeans を使用して WSDL からこれを自動的に生成することを中心に展開していますが、これはまったく役に立ちません。私は WSIT や XWSS などを調べましたが、明確さや方向性はあまりありませんでした。JBoss WS Metro もまだあまり運が良くないように見えました。
誰でもこれを行った経験があるか、このタスクを達成する方法について提案がありますか? 私を正しい方向に向けることさえ役に立ちます。Java ベースでなければならないということを除いて、私は特定の技術に制限されていません。