2013-02-20 9 views
5

Java開発者として私はWebプロジェクトに参加します。だから、私はWebセキュリティのさまざまな側面について情報を得ようとしています。DoS攻撃の開発者またはシステム管理者が発行します

私はDoS攻撃の主題に遭遇しました。私はJava開発者として何ができるべきか/それを理解しています。または、システム管理者の仕事になるかもしれません。

最初に私の頭に浮かぶのは、一度のリクエストであまり時間とリソースを取ることができないように機能を実装することです。例えば、処理されたデータの量にある程度の制限を設ける。しかし、これがすべての場合に適用可能かどうかはわかりません。

多くのリクエストのためにDoSを気にする必要がありますか?

アドバイスをいただければ幸いです。 事前に感謝します!

答えて

3

通常、DoS攻撃がITの関心事です。 Webアプリケーションを開発している場合、通常はアプリケーションコンテナ(Tomcat、Railsなど)に要求を転送するフロントコントローラ(Apache、nginxなど)の後ろにあります。フロントコントローラは、通常は/いつもあなたがアプリケーション開発者であればそれは私がいることを言うと思います

2

アプリケーション開発者のresponsabilities以内に完全であるとして、その後、XSS攻撃(http://en.wikipedia.org/wiki/Cross-site_scripting)に集中

この問題に対処するためのロジックを持っています主にシステム管理者の懸念事項ですが、開発者がシステム管理者を回避するための対策を講ずるべきではありません。サービス拒否攻撃に対する防御

DoS攻撃は、通常、それが本当の要求(サービス拒否)を扱うことができないように要求して、あなたのシステムを停滞についてですので、wikipediaは、DoS攻撃防御について言うためにこれを持っています通常、攻撃検出、トラフィック分類、および対応ツールの組み合わせを使用して、不正と判断されたトラフィックをブロックし、合法であると識別したトラフィックを許可します。

私の意見で

これらの彼らはファイアウォールを設定しなければならないものであるため、システム管理者の作業は、ルータ、スイッチなど

4

まず、あなたのいずれかがDoS攻撃を防ぐためにできることは何もありません。

あなたのコードを分かりやすくする(開発者)と、あなたのアーキテクチャを強く(SysAdmin)することができます。それは共同努力です。

開発者は、DoS攻撃だけでなく、リソースの使用をジョブの一部として最小限に抑える必要があります。

開発者は、データベースを保護するためにキャッシュを使用する必要があります。すべてのリクエストが国のリストを参照する必要がある場合は、毎回データベースからそのリストを要求することは、とにかく良い方法ではありません。

開発者は、悪いリクエストができるだけ早く失敗するようにする必要があります。例えば。自分のアカウント番号が実際に存在することを確認するまで、国リストには一切問い合わせをしないでください。

開発者は、RESTのようなアプローチを採用する必要があります。セッションをメモリに保持するのではなく、個々に処理することです。これにより、攻撃中にメモリ使用量が急増するのを防ぐことができます。メモリの問題やネットワークの浸水を避けたい!

開発者はアプリケーションをスケーラブルにする必要があります。繰り返しますが、メモリに記憶されたものに縛られていないので、RESTはここで役立ちます。要求のサブセットを処理するアプリケーションのインスタンスを一度に10個実行することができれば、DoS攻撃の方がはるかに長くなります(とにかく、よりスムーズなWebエクスペリエンスを提供することができます)。

SysAdminsは、このスケーラビリティを管理するための負荷分散、フェールオーバーなどのフレームワークを提供する必要があります。また、インスタンスのハードウェアも管理します。オンデマンドで自動的にインスタンスを追加することもできます。つまり、サーバーの自動作成と展開が重要になります。物理的なボックスではなくVMを使用すると、これを手助けすることができます。

SysAdminsは、攻撃が行われたときにREALトラフィックを通過させ、攻撃トラフィックを停止できるように、ファイアウォールとプロキシを設定できます。疑わしいIP範囲でトラフィックをフィルタリングしたり、疑わしいリクエストをブロックしたり、トラフィックレベルを緩やかなフローに絞り込んだりすることができます。

全体として、DoSは単に「トラフィック量が多い」と見ることができます。アプリケーションコードとアーキテクチャが「通常のユーザー」からのトラフィックの増加に対処できない場合、DoS攻撃に関係なく、とにかく運命づけられます。 FacebookがDoSに脅かされたとき、私は「EverydayはFacebookのためのDDoS攻撃です...」と指摘した人を覚えています。しかし、それはそれが対処するような方法で開発され構造化されている。

関連する問題