私は自分のアプリケーションに2 POST、1 PUT、1 DELETE APIを持っています。私のアプリケーションはHerokuにデプロイされています。私はこれらのAPIを制限したいと思いますが、DOS攻撃や誤って誰かがAPIを無限ループで呼び出すことを防ぐためにのみ制限します。このシナリオの理想的なレート制限はいくらですか?例えば。 1分あたりのx、1時間あたりのy。 xとyのアイデア番号は何ですか?DOS攻撃(Heroku)を防止するためのレート制限
答えて
これは実際にあなたのアプリに依存します。
1)それはあなたのアプリケーションがどのように「重い」に依存します、
ご要望の各プロセッサ-重いおよび/またはデータベースがたくさんヒットした場合、その後、あなたが下限を設定することをお勧めします各リクエストは「高価」であるためです。あなたのアプリが速くて効率的な場合は、より多くの機動力があり、より高いAPI制限を設定することができます。
2)アプリの使用状況によって異なります。
あなたのアプリは、使用するには多くのAPIヒットが必要ですか? APIの制限は、アプリが提供する機能にどのように影響しますか?
3)使用しているプロセッサの数によって異なります。
ヘロクでは、ウェブダイナモとワーカーダイノスを設定することでアプリを拡大縮小できます。より多くのAPIを使用すれば、APIの上限を上げることができます。
いずれにしても、あなたがDOSを実行したり、APIを無限ループで呼び出されないようにしたい場合、APIの制限が悪い人だけでなく悪い人にも影響するため、これは間違ったアプローチです。より良い方法は、不正な動作を検出し、適切に対応することです(制限されたIPアドレスを制限時間内に拒否する)。
3scale APIプラグイン(https://github.com/3scale/3scale_ws_api_for_ruby)をドロップする方法の1つは、レート制限を適用したり、外部インフラストラクチャを使用して分析などを行うことです。
このようにして、個々のユーザーを制限することができ、それぞれのユーザー(およびすべてのサインアップなど)に異なるクォータを割り当てることができます。
未認証のリクエストであってもまだあなたに届くので、真のDOSを厳密に阻止することはできませんが、ダメージを最初にやっている人々をあなたのスタックに落として+止めるでしょう。
- 1. 悪意のあるリクエスト - DOS攻撃を防止する
- 2. XSS攻撃防止
- 3. Java/AMFアプリケーションでのフラッディング/ DOS攻撃の防止
- 4. クリックジャック攻撃の防止
- 5. OAuth攻撃を防止する方法(攻撃シナリオを参照)
- 6. Djangoでサービス拒否攻撃を防止するためのベストプラクティス
- 7. MDXインジェクション攻撃を防止する
- 8. フィッシング攻撃を防止する
- 9. XSS攻撃を防止する
- 10. XXE攻撃を防止する方法
- 11. WCFコールでのXSS攻撃の防止
- 12. JavascriptとXSS攻撃の防止
- 13. 重複ブロックチェーン攻撃の防止
- 14. リプレイ防止REST URLのリプレイ攻撃
- 15. ウェブAPIのハック/ DOS攻撃を停止する方法
- 16. WebWorkersを使用したJavaScript DoS攻撃
- 17. 防御攻撃
- 18. 多くのサーブレットセッションでDOS攻撃を防ぐ方法は?
- 19. 非同期セッションレスコントローラのDos攻撃を防ぐ方法
- 20. PHPでURLエンコードされたXSS攻撃を防止する
- 21. ネットワークパケットを追跡するための最適化アルゴリズム(リプレイ攻撃防止)
- 22. node.jsで書かれた私のhttpサーバ上のDOS攻撃を防ぐには?
- 23. このコードでXSS攻撃を防止できましたか?
- 24. XSS攻撃を防ぐ
- 25. 静的サイトからのクロスサイトスクリプティング攻撃を防止する
- 26. asp.netでのクロスサイトスクリプティング攻撃を防止するC#
- 27. C#のXSS攻撃防御
- 28. DDoS攻撃を防ぐためにプロジェクトをプログラムする方法
- 29. C#MVC:ASP.NETサイトに対するサービス拒否攻撃(DOS)を防ぐための良い方法は何ですか?
- 30. request.getHeader( "Origin")がクロスサイトリクエスト偽造攻撃を防止する方法は?