のためのベスト-プラクティスを確保REST API/webサービス[定休日]
-
08-06-2019 - |
質問
設計の際は、REST APIやサービスが確立されたベストプラクティスの実践を扱うセキュリティ(認証、認可、アイデンティティマネジメント)とは
築する場合、SOAP APIいWS-Securityのガイドとして、多くの文献が存在する成長を続けていきます。私が見られなかった情報の確保休憩端.
しか休みを意図的にない仕様に類似WS-*したいと思って最良の慣行やオススメのパターンされるようになってきました。
問やリンクに関連する文書を非常によろしくお願いいたします。な事項は、お使WCFと天然痘/JSON直列化されたメッセージ当社のREST APIのサービスを利用v3.5。NET Framework.
解決
としてtweaktと、Amazon S3ルモンにするのに用いられております。その要求の署名ない特徴を取り入れるなど、タイムスタンプ)をガードの両方に対して偶発的、悪意のある要求再生.
にフォーカスをHTTP基本的にはほとんどすべてのHTTP図書館を支援します。おもちろん、必要SSLこの場合で送信平文パスワードの純額はほぼ普遍的に、悪いことであると考えていた。基本が好ましいをダイジェストの場合は、暗号化(SSL)を用いている場合でも、呼び出し側がすでに知っている資格が必要で、ダイジェストを要求に追加エコノミークラス往復交換のnonceの値です。基本の呼び出し側で送の資格。
一回のクライアントの情報を設立、認可およって本当は実装の問題です。しかし、委員の認定その他のコンポーネントの既存の認証モデルです。ものにフォーカスの基本はサーバー終了までを平文のコピーをクライアントのパスワードを入力してください能にするだけでなく他のcomponent内のインフラとして必要です。
他のヒント
ありません規格のための休息以外のHTTP.が確立して他のサービスがあります。ていただきたい見てやっています。
例えば、借り多くのアイデアからAmazon S3RESTサービスが独自に開発した.その選択を使用しない、より高度なセキュリティモデルに基づく要請フェースの通称です。をより簡単なアプローチは、HTTP基本認証の上のボタンを使用します。いう作品で最高のまま利用可能です。
また、私のおすすめの書籍 RESTful Webサービス からなっています。このコアコンセプトなどをベストプラクティスに関するでき、通常のモデルをご提供い、地図までも適用されます。
あるチェックリストから Github:
認証
な管理ソリューションを提供輪に認証トークンの生成、パスワードを保管します。使用します。
使用
Max Retry
および刑務所の特徴にログインします。利用暗号化全なデータです。
日本企業(JSON Webのトークン)
使用ランダムに複雑なキー(日本企業秘密)の総当たり攻撃のトークンのとてもつらいです。
なの抽出アルゴリズムからのペイロードを解釈する。力のアルゴリズムのバックエンド(HS256はRS256).
くトークンの有効期限(
TTL
,RTTL
)は出来るだけ短くしてください。保管しないでください機密データの
JWT
ペイロードできるので復号化されます。
OAuth
常に検証
redirect_uri
サーバ側だけを許可するといったようにwhitelisted Urlに対するものとなります。るようにしてい交流のためのコードなトークン(許可しない
response_type=token
).使用状態をパラメータとランダムハッシュを防ぐ
CSRF
のOAuth
認証プロセス。を定義するデフォルトの適用範囲および検証範囲のパラメータ々な用途に対応できます。
アクセス
制限をご希望の方は対側)を避けるDDoS/力攻撃であった。
HTTPSも一応使えるサーバ側を回避MITM(男性の中間者攻撃による)
使用
HSTS
ヘッダSSLを避けるSSLストリップ攻撃ができます。
入力
利用の適正なHTTPメソッドに従って操作:
GET
(read)POST
(作成),PUT/PATCH
(更新)DELETE
(歴の削)に対応405 Method Not Allowed
場合には、法な適切な要求された資源です。検証コンテンツタイプの要求
Accept
ヘッダー(コンテントネゴシエーションを可能にするだけご対応フォーマット(例えばapplication/xml
,application/json
, など)への対応として406 Not Acceptable
応答がない場合にはマッチング済み専用品です。の検証
content-type
掲載データとしての利用例application/x-www-form-urlencoded
,multipart/form-data
,application/json
, します。検証のユーザー入力を避ける共通脆弱性(例えばクロスサイト-スクリプティング、SQL注入し、リモートでコードが実行します。
使用しない他の機密データ(資格、パスワード、セト、またはAPIキーのURL、利用基準
Authorization
ヘッダを表します。利用APIゲートウェイサービスのキャッシュを有効にする,
Rate Limit
政策など定員内での需要が逮捕され、同時金制限なし)を展開Api資源ます。
処理
チェックすべてのエ護の背後に認証回避の壊れた認証プロセス。
ユーザー自身のリソースIDをすることは避けてください。使用/me/受注の代わりに/ユーザ/654321/です。
な自動インクリメントIdを持っています。利用UUIDです。
の場合の解析XMLファイルを確実体の解析が有効にならないなXXE(XML外部エンティティの攻撃).
の場合の解析XMLファイルは、エンティティの拡張は有効ではありません回避億笑/XML爆弾によ指数関数体の拡大に攻撃ができます。
使用CDNファイルの供します。
を取扱っている場合は膨大な量のデータを、利用者およびキュープに可能な限り背景を返し応答を高速回避HTTP遮断する
忘れずに デバッグ モードをOFFにします。
出力
送信
X-Content-Type-Options: nosniff
ヘッダを表します。送信
X-Frame-Options: deny
ヘッダを表します。送信
Content-Security-Policy: default-src 'none'
ヘッダを表します。削除指紋のヘッダー-
X-Powered-By
,Server
,X-AspNet-Version
など。力
content-type
ご応答を返却された場合は、そのapplication/json
しての応答コンテンツタイプapplication/json
.い返し機密データのような資格、パスワード、セキュリティトークン
戻り、適切なステータスコードに従って操作を完了します。(例:
200 OK
,400 Bad Request
,401 Unauthorized
,405 Method Not Allowed
, します。
私には驚か、SSLクライアント証明書な言及されています。付与し、このアプローチはかなければならないときに便利で数えることができるので、ユーザが利れています。しかし、政府-企業が発行しています。ユーザにな心配を他のユーザ名/パスワードの組み合わせ、アイデンティティーを確立し、接続で通信、サーバーとのできる全国の国籍法は、ユーザーセッションが必要です。ないことを意味するもの他/その他のすべての提言を必要とセッション)
皆様のこれらの答えは見逃真のアクセス制御/許可が必要になります。
場合のためのインスタンスごREST Api/webサービスの投稿について/ひ医療記録する場合がありますを定義するアクセス制御policie約者アクセスできるデータとする状況です。たとえば、次のようになります。
- 医師の診療録の患者にそのケアとの関係
- 誰も投稿できます医療データ以外の練習時間など9-5)
- ユーザーでの医療記録に自らの医療記録の患者さんのためには、リサーチペーパーをもって、保護者の方
- 看護師の更新が可能ですの医療記録の患者に所属している同ユニットとしての看護師です。
を定義するためには、実施方細粒承認が必要となりま使用属性に基づくアクセス制御言語と呼ばれXACMLの伸ばせるアクセス制御のマークアップ言語です。
その他の基準は以下:
- OAuth:idとなります。連盟代表団の認定などせサービスに関する法律自分に代わって他のサービス(Facebook投稿できます私のツイッター)
- SAML:認証システム/web SSO.SAMLは非常に多くのユーザーです。
- WS-Security/WS-*基準これらの間の通信SOAPサービス彼の特定のアプリケーション-レベルのメールフォーマット(石鹸)の扱っている側面のメール例信頼性、セキュリティ、機密性、完全性、atomicity,eventing...なカバーアクセス制御およびすべての特まさに日進月歩であります。
XACML技術-agnostic.に適用できるjavaアプリ.純、Python、Ruby...webサービスREST Apiを提供します。
以下は、興味深い資源
- のオアシスXACML webサイト
- の NIST ABACは標準
に使用しましたOAuthに数回程度するのに使用した、その他の方法(基本的な/ダイジェスト).私は心を込めて提案OAuth.以下のリンクは最高のチュートリアルなどの見をOAuth:
感謝の結果、優秀と認められる。しまいましたカスタムHTTPヘッダをパスアイデンティティトークンクライアントから本サービスおよびサービスの準備のための統合に当社のRESTful APIに今回のツェルマットティの枠組みからしまいました。以上述べてきた問題 こちらの および弊社のソリューション こちらの.けっこう気合いを入れました tweakt談を購入 RESTful Webサービス が良いので書いビルは、RESTful APIを利用できない。
OWASP(オープンなWebアプリケーションのセキュリティプロジェクト)がチシートカバ約すべての面でウェブアプリケーションを開発。このプロジェクトは大変貴重なものと信頼性を多くの情報を発信して行きます。に関するRESTサービスで確認できます: https://www.owasp.org/index.php/REST_Security_Cheat_Sheet
のものをお勧めしますOAuth2/3.また、この情報 http://oauth.net/2/
私について多くゆったws安全保障しても結を用いたトークン経由でクッキーをクライアントとサーバの認証を承りますのでご相談ください。使用した春のセキュリティ認証の要求をサービスのために認証と認可の申請ごとに基づく指定のセキュリティ方針としています。
このソープ世界はとも覆われたセキュリティ基準えてくるということではないので安全にデフォルトです。第一に、基準を 非常に 複雑です。複雑な非常に良い友達の安全性及び実装の脆弱性など XMLの署名攻撃の巻 が固有種です。
します。純環境が整っていないが、 "でもそのビジネス-金融街風のルサービスのJava" (レンガ~10著者)かこ 多く を理解するWS-*セキュリティアーキテクチャおよび、特に、その癖.
残りアクレディテーション団体なセキュリティ基準が、のようなOAuthとSAMLは急速に、基準をこの空間です。しかし、認証-認可のみの小さな部分に必要なものの考慮が必要となります。多くの既知の脆弱性に関するwebアプリケーションへの適用もREST apiを用意しています。えることを入力検証、セッションのひび割れは、不適切なエラーメッセージ、社内の従業員の脆弱性です。している。
付け加えておきたい(イstinkeymatt),単純ないSSLの証明書を追加します。つまり、urlがHTTPS://.をカバーするご輸送のセキュリティ(バーンの降圧).とゆったurlに、アイデアはそれがシンプルに保つためにはWS-security/SAMLできます。 oAuth2/openIDの接続 も基本的なAuth(シンプルにしている。いただいてSSL/HTTPS.ご確認くださいASP.NET Web API2セキュリティはこちら http://www.asp.net/web-api/overview/security (記事-動画)
として@Nathan結するHTTPヘッダの一部と言われていたOAuth2、クライアント側のSSL証明書の概要はこ---おREST APIってはいけない取り扱安全保障しているかどうかを調べるの範囲外のAPIとなります。
代わりにセキュリティ層しなければいけませんのであるか否かのHTTPヘッダの後に"webプロキシ(共通のアプローチのようにSiteMinder、ツェルマットでApache HTTPdが付いており、複雑なとOAuth2.
キーにあるこの要求はなくユーザーの相互作用することを確認することがでの接続のAPIは認証される。Java EEしての概念 userPrincipal
取得できる、 HttpServletRequest
.また、配備記述子がURLのパターンできるようにAPIのコードはチェックをする必要なくなった。
のWCF世界に混雑して待たされること ServiceSecurityContext.Current
を取得し、現在のセキュリティコンテキストを設定する必要がありますの申請を要求する認証を行います。
ある例外の一つ書いた上記のことになるのnonceの防止を再現できるものとします。攻撃や人だけでの提出と同じデータです。この部分でのみ取り扱いが可能で、アプリケーション層.
Webアプリケーションのセキュリティをクリックしてください見てOWASP(https://www.owasp.org/index.php/Main_Page の提供のcheatsheetsのための各種セキュリティます。を組み込むことができとして多くの対策としての確保が可能になります。関APIセキュリティ(認証、認証、アイデンティティ管理があり、複数の方法はすでに述べているように(Basic,Digest、OAuth).がループの穴OAuth1.0,利にご利用いただけますOAuth1.0a(OAuth2.0にはない広く採用に関する問題があるため、仕様)
微力ですが、応援させていただきものの問題はいまだに関連するものの、その答えが変わります。
APIの玄関口ような柔軟性、高度な設定が可能な解決策です。いたしまして使用 港 かなりの距離が大好ンネポムセノ教会などの見所も.港の提供と管REST APIの使用するユーザーの管理.
エクスプレスによって営業時間が異なります。io より最近のものは、APIによって営業時間が異なります。