API をどのように保護していますか?
デジタル経済が爆発的に発展する時代であり、大量のデータロードが API を介して転送されています。ビジネス、ゲーム、教育、天気、科学、芸術。 。 。あなたがそれに名前を付けます。すべてが API 上で動作します。基本的に API に依存している世界では、驚くほどセキュリティに重点が置かれていません。
開発者にとっては、フレームワークのデフォルトで十分です。さらに悪いことに、フレームワークが使用されていない場合、セキュリティ慣行に従っていると考えてしまいます。システム管理者にとって、インフラストラクチャまたはサービス プロバイダーが提供するデフォルトのセキュリティが頼りになります。
私に言わせれば、決して美しい光景ではありません。

言うまでもなく、多くの危機が迫っていますが、それは本当に恐ろしいことが起こったときに初めてわかります。
しかし、まず最初に。 🙂
API エンドポイントを保護する理由
これは簡単ですよね?
ビジネスはエンドポイントに依存しているため、エンドポイントを保護する必要があります。
これだけでも十分強力な議論ですが、視点を少し広げて、関連する、しかし同様に致命的な結果を強調したいと思います。

ビジネス上の損失 📉
これは明白なことです。誰かが API エンドポイントの改ざんに成功すると、すべてが金切り声を上げて停止します。セキュリティ侵害は回復するまでに長い時間がかかる可能性があり、これはビジネス用語で言えば自殺行為に相当します。確かに、ほとんどの企業はおそらく 1 ~ 2 時間のダウンタイムの影響を受けませんが、一部の企業にとってはそれが許容されません。
外貨両替が数分間停止していると想像してみてください。
コンプライアンスの問題
API を適切に保護しないと、相手とする地域や業界によっては、深刻な問題が発生する可能性があります。たとえば、銀行業界 (特に EU) にサービスを提供している場合、安全でない API を使用してサービスを提供していることが発覚すると、法的およびコンプライアンス上で大規模な問題が発生する可能性があります。それはあなたのビジネスに終止符を打つことさえあるかもしれません。
評判の低下
ハッキングされること自体は十分に苦痛ですが、ニュースが世間に知れ渡れば、ブランドイメージは取り返しのつかないほど失われることになります。たとえば、ソニーはこれまでに何度かひどいハッキングを受けており、セキュリティ業界ではある種の笑いものになっています。
実際にデータや金銭の損失が発生しない場合でも、難色を示す顧客を説得するのは頑張ってください。 🙂
インフラストラクチャ料金の高騰 💰
API がインフラストラクチャ上で実行されると、リソース (主に帯域幅、CPU、メモリ) が消費されます。たとえば、API が適切に保護されておらず、悪意のある部外者が API を操作できる場合、API に多くの無意味な作業 (たとえば、大量のデータベース クエリの実行) を強制的に実行させる可能性があり、これにより重大な問題が発生する可能性があります。何らかの理由で請求書を値上げします。
リソースの自動スケーリングが有効になっているプラットフォーム (AWS など) では、その結果は衝撃的なものになる可能性があります (話題から外れますが、AWS でこのような問題に巻き込まれた場合、AWS は状況を十分に理解しており、すぐに問題を放棄します)水増し請求書 — 少なくとも執筆時点では!)。
チームの士気
したがって、このような妥協を許したチームは、それに対して士気を失うだろうと考えているかもしれません。まあ、完全ではありません。インフラストラクチャのセキュリティが脆弱であることが侵害の原因である可能性があり、開発者が落胆することになるか、その逆の可能性があります。
これが十分に時間が経てば、発展させておくことを後悔する文化が手元に残ることになるでしょう。
競合他社の利益
したがって、侵害はあったものの、実際の損失はなかったとします。しかし、競合他社はこのインシデントを利用して自社の API を強化し、自社の API がいかに安全であるかを主張するでしょう (そうでない場合でも!)。もう一度言いますが、市場の説得に努めてください。 🙂
全体として、セキュリティ侵害には、金銭の損失以上の影響が生じます。
API エンドポイントを保護するためのベスト プラクティス
ありがたいことに、API エンドポイントを保護するために、API エンドポイントに適用できる、実装が簡単でよく理解されている特定のプラクティスがあります。ほとんどのセキュリティ専門家が推奨するのは次のとおりです。
常にHTTPS 🔒
API エンドポイントで API コンシューマーがhttp
またはその他の安全でないプロトコルを介して通信できる場合、彼らは大きなリスクにさらされることになります。パスワード、秘密キー、クレジット カード情報は、 中間者攻撃やパケット スニファー ツールによってプレーン テキストとして読み取られるため、簡単に盗まれる可能性があります。
したがって、常にhttps
使用可能な唯一のオプションにしてください。エンドポイントがどれほど些細なものに見えても、 http
経由で接続することは選択肢にすべきではありません。 TLS 証明書にはそれほど費用はかかりません。 SSL ストアからはわずか 20 ドルで購入できます。

一方向パスワードのハッシュ化
セキュリティ侵害が発生した場合、すべてのユーザー アカウントが危険にさらされるため、パスワードはプレーン テキストとして保存しないでください。同時に、対称暗号化は厳密に避けるべきです。巧妙で粘り強い攻撃者であれば、対称暗号化を破ることができます。
唯一推奨されるオプションは、パスワードを保存するための非対称 (または「一方向」) 暗号化アルゴリズムです。そうすれば、攻撃者も社内の開発者やシステム管理者も顧客のパスワードを読み取ることができなくなります。
強力な認証 💪
現在、ほぼすべての API に認証形式がありますが、私の意見では、OAuth2 システムが最もよく機能します。他の認証方法とは対照的に、アカウントをリソースに分割し、認証トークン ベアラーへの限定的なアクセスのみを許可します。
同時に、トークンを更新する必要があるように、たとえば 24 時間ごとに期限切れになるようにトークンを設定することも非常に良い方法です。こうすることで、たとえトークンが漏洩したとしても、24 時間の期限により侵害の影響が軽減される可能性があります。
レート制限を適用する
毎分何百万人ものユーザーが使用する API がない限り、クライアントが特定の時間枠内に API に対して実行できる呼び出し数の制限を強制することは非常に良い考えです。
これは主に、毎秒数百もの同時リクエストを送信し続け、API が理由もなくシステム リソースを使い果たす可能性があるボットを阻止するためです。すべての Web 開発フレームワークには、セットアップにわずか 1 分ほどかかるレート制限ミドルウェアが付属しています (そうでない場合は、ライブラリを介して追加するのが非常に簡単です)。
入力の検証
これは簡単なことのように思えますが、これに該当する API がいかに多いかに驚かれるでしょう。入力の検証とは、受信データが正しい形式であることを確認するだけでなく、予期せぬ事態が発生しないことを確認することも意味します。簡単な例は SQL インジェクションです。SQL インジェクションでは、クエリ文字列をほとんどまたはまったくチェックせずに放置すると、データベースが消去される可能性があります。
別の例は、POST リクエストのサイズを検証し、適切なエラー コードとメッセージをクライアントに返すことです。途方もなく大きな入力を受け入れて解析しようとすると、API がパンクするだけです。
該当する場合、IP アドレス フィルタリングを適用する
B2B サービスに興味があり、企業が一定の場所から API を使用している場合は、API にアクセスできる IP アドレスを制限する追加のセキュリティ層を追加することを検討してください。新しい場所と新しいクライアントごとに、受信リクエストに対して IP アドレスをチェックする必要があります。
はい、オンボーディングに煩わしさが加わりますが、最終的には、他の方法で達成できるよりもはるかに厳しいセキュリティが得られます。
API 保護を強化するツール
脆弱性のスキャンに役立つツール、あるいはさらに優れた、API のセキュリティ保護に関して防御の第一線を提供できるツールはありますか?
幸いなことに、そうです。使用できるツールはいくつかありますが、結局のところ、完璧なセキュリティ戦略はないことに注意してください。そうは言っても、これらのツールは API のセキュリティを何倍にも高めることができるため、お勧めします。

アプリトラナ
AppTrana の専用 API 保護機能は、OWASP API トップ 10、API ベースの DDoS およびボット攻撃、埋め込まれた脅威、データ漏洩など、幅広い API 脅威から保護する包括的なリスクベースのソリューションを提供します。無制限の自動 API スキャンがサポートされています。手動侵入テストにより、リスクスコアを継続的に監視してセキュリティ体制を強化します。
AppTrana の API 保護は、リスク検出、API 脅威検出、API ポジティブ セキュリティ ポリシー、API 固有の DDoS ポリシー、API 固有のボット モジュール、および API 検出機能を組み合わせた最も包括的なソリューションを保証します。

その API 検出により、文書化されていない API やシャドウ API を含む API 呼び出しを完全に可視化し、API の攻撃対象領域を把握できます。この専用の API 保護は、ユーザーの詳細、API の使用行動、脅威アクティビティ、API コール マップなどに関する情報を収集し、リアルタイム分析で保護ステータスを表示します。
Indusface AppTrana を使用すると、API に特化したカスタマイズされたポリシーを生成して、API に焦点を当てた不正行為をリアルタイムでブロックできます。
クラウドフレア
Cloudflareの高度なWebアプリケーションファイアウォール(WAF)は、安全で効率的なアプリケーションとAPIを確保するために非常に重要です。 DDoS 攻撃を防御し、不正なボット アクセスをブロックし、悪意のあるデータを検出し、ブラウザのサプライ チェーン攻撃をスキャンします。
Cloudflare の広範な世界規模のネットワークにより、API ゲートウェイを介した大量のトラフィックの送信が容易になります。 APIのセキュリティを確保するために、CloudflareはAPIの検出、統合されたAPI管理と分析、多層的なAPI防御を含む包括的なフレームワークを採用しています。
API Gateway は、検出、レイヤー 7 セキュリティ、相互 TLS、ポジティブ API セキュリティ、不正行為の検出、機密データの検出など、安全かつ効率的な API 管理を提供します。エンドポイントの識別と監視を容易にし、攻撃から保護し、認証を実装し、OpenAPI スキーマを検証し、データ漏洩を防ぎます。
Cloudflare API Gateway は OWASP API リスクから保護します。
インビクティ
Invictiには、「証拠ベースのスキャン」の USP が付属しています。簡単に言うと、不規則なネットワーク状態や、あまり知られていない API の動作がセキュリティの抜け穴として解釈され、後で間違いであることが判明することがよくあります。
報告されたすべての脆弱性は、誤検知ではないことを確認するために手動で再度スキャンする必要があるため、これはリソースを無駄にします。 Invicti によれば、このツールはレポートの十分強力な概念実証を提供し、見つかった脆弱なリンクについての疑念を取り除くことができます。

ソニー、リリガー、コカ・コーラ、ファーウェイなどの企業が顧客リストに名を連ねていることから、これらの企業が正しいことを行っていると確信できます。 🙂
オクタ

Oktaを試して、開発者がユーザー エクスペリエンスの向上と企業データの効率的な保護に集中できるようにします。 OAuth 2.0 認証を提供し、モバイル アプリケーションと Web アプリケーションの両方向けに設計されています。サードパーティの API 管理サービスとも互換性があります。
Okta を使用すると、カスタム コードを必要とせずに、ユーザーフレンドリーな専用コンソールを通じて API アクセスのすべてのポリシーを作成、監査、維持できます。これにより、追加のゲートウェイ インスタンスを使用して API を保護する必要がなくなるため、柔軟性がさらに高まります。
Okta には、さまざまなタイプのユーザーとサービスを 1 つ屋根の下で制御する ID 主導のポリシーが組み込まれています。ユーザー プロファイル、ネットワーク、グループ、同意、クライアントに応じてアクセスを定義します。内部システムからの動的データを使用してトークンを拡張し、より迅速な統合とシームレスな移行を実現します。
これにより、API の一元管理が容易になり、API リソースを保護できるようになります。 Okta は、異なるマイクロサービス間のアクセスを保護できるようにすることで、セキュリティに重点を置いています。
42クランチ
42Crunch は、開発者がセキュリティ対策を API 開発パイプラインにシームレスに統合し、開発から実行時までプロアクティブなテスト、修正、保護を保証するための API セキュリティ プラットフォームです。
このプラットフォームは、Verizon、Ford、Bridgestone、Allianz などのトップブランドから信頼されています。
同社は、設計から実行時までセキュリティガバナンスとコンプライアンスを保証する唯一のプラットフォームであると主張しています。
これは API Audit を通じて行われ、300 のセキュリティ チェックが実行されます。 API スキャン。テストおよび実行時に脆弱性を検出します。 API Protect は、コンテナ化された小型のマイクロ API ファイアウォールを使用してランタイム API セキュリティ ポリシーを強制します。
42Crunch の API セキュリティ テスト ツールは、API セキュリティの弱点を明らかにするのに役立ちます。また、API Protection は、コンテンツ検証、脅威検出、トラフィック制御、API マイクロファイアウォールによって実行時のセキュリティを確保します。 80 万人以上の開発者が 42crunch API ツールを採用しています。
おそらく
Probely は、SaaS ビジネス、開発者、セキュリティ チーム、DevOps、コンプライアンスの専門家が使用する脆弱性スキャナーです。 Web アプリと API をスキャンして脆弱性を見つけ、それらを解決する方法に関する詳細なレポートを提供します。
Olx、Trend Micro、Entertainment Partners などの一部のトップ企業は、OpenAPI (Swagger) 仕様または Postman Collection に準拠したマイクロサービスやスタンドアロン API を含む、さまざまな Web アプリケーションと API をサポートするこのプラットフォームを信頼しています。
Probely は文書化された API を提供し、状況に応じて脆弱性の重大度を調整します。 CI/CD パイプラインと統合し、Web アプリと API のセキュリティ テストを自動化し、問題追跡プラットフォームと同期します。
PCI-DSS、OWASP TOP 10、ISO27001、HIPAA、GDPR などの標準への準拠を保証します。 14 日間無料でお試しください。
APIsec
APIsec は、プロアクティブかつ継続的な API セキュリティ テストのための自動化されたプラットフォームを提供します。アップデートとリリースを徹底的にテストして安全な運用環境を確保することで、クライアントの信頼を築きます。
このプラットフォームは、ソフトウェア開発ライフサイクル (SDLC) を通じて API の包括的なセキュリティ テストを自動化します。これにより、運用前に API の検出、分析、カスタマイズされた攻撃シナリオの実行が可能になります。
APIsec は、API セキュリティ テストを自動化することで、サードパーティによる反復的な手動テストを排除するのに役立ちます。
APIsec は CI/CD、チケット発行、通信プラットフォームとシームレスに統合し、スムーズなワークフローを保証します。 API ペネトレーション テストとリスク評価を連携させることで、セキュリティの問題を早期に検出でき、アプリケーション開発における技術的負債を軽減できます。
このプラットフォームは、構成ミスやその他の基本的なセキュリティ上の欠陥を特定するための、未認証の API スキャナーを無料で提供します。また、API セキュリティの基礎やエキスパート API 侵入テストなどの無料コースも提供しています。興味があれば、 APIsec Universityにアクセスしてください。
シーケンス
Cequence は、API 検出、インベントリ、コンプライアンス、動的テストのための、複数の賞を受賞したプラットフォームです。このプラットフォームは、詐欺、攻撃、エクスプロイト、データ漏洩をリアルタイムで特定し、防止するのに役立ちます。
API の攻撃対象領域を特定し、脅威からの保護とコンプライアンスおよび規制を確保するための包括的なソリューションを提供します。このプラットフォームは、既存の API およびセキュリティ インフラストラクチャと簡単に統合できます。
Cequence は、トランザクションのセキュリティを確保しながら、数百万ドルと数十億人のユーザーを節約したと主張しています。このプラットフォームを使用しているトップ企業には、RBS、American Express、Ulta Beauty、PoshMark、T-mobile、Telstra などが含まれます。
API 検出とリスク評価、機密データ漏洩の修復、アカウント乗っ取り防止、API リスク評価は、その主要な機能の一部です。このプラットフォームでは、無料のAPI セキュリティ評価を提供しています。
結論
オープンソース、無料、商用、またはそれらの組み合わせにかかわらず、市場には API セキュリティ ツールが不足することはありません。
リストからいくつかを試して、要件に最も適したものを見つけてください。