ラップトップで1秒あたり30台のサーバーをいっぱいにしますか?

Slow Read DoS攻撃をサポートする新しいバージョンのslowhttptestをリリースすることで、複数のユーザーがサービスをテストできるようにしました。 私が伝えたいテストの1つで、有益な物語が起こりました。



slowhttptestを実行した結果を確認するように求める手紙を受け取りました。 報告によると、プログラムはほんの数秒でサービスを曲げたが、それはかなり信じられないように思われた。 アーキテクチャによれば、このサービスは世界中の何千もの顧客にサービスを提供することができ、slowhttptestは1000の接続によって制限されています。



サービスの概要を説明するために、組織にはクライアントアプリケーションがインストールされた約60,000人の登録ユーザーがいると言います。

各時点で、約2,000のクライアントアプリケーションが実行されており、それらの数百が同時にサーバーに接続されています。

最初は、1台のコンピューターで圧倒されるのではないかと疑っていましたが、冗談ではなく、アーキテクチャについて尋ねました。

システムは、よく知られた図面に従って構築され、システムコンポーネントが監視され、パッチが時間通りにインストールされたことが判明しました。



システムのアーキテクチャは次のとおりです。

-ラウンドロビンDNS、ロードバランサーとして機能し、1つまたは他のSquidのIPアドレスでリクエストに応答し、リバースプロキシとして機能

-割り当てられた強力なマシン上の2つのZafirevolnutny Squidサーバー

-Webサーバーのクラスター

-アプリケーションサーバーのクラスタ



画像



私は掘り始めました-DNSを照会し、ドメイン名に対応するIPアドレスのリストを取得し、/ etc / hostsにアドレスの1つを登録して1つのSquideに集中するのに役立つユーティリティ。



積極的にslowhttptestを設定し、ボスの1人の写真を含むURLを提供します。 1000接続は、接続ごとに10回画像を要求し、サーバーの応答を即座に読み取ります。

そして真実は嘘です! 私はブラウザからプロキシを介して二重にチェックし、私のIPが禁止されていないことを確認しました。ここで、この男は攻撃を削減するよう要求しました。



要するに、これは単純な構成エラーであり、1つのプロセスで開くことができるファイル記述子の数に対するオペレーティングシステムの制限(Enterprise RedHat)は1024であることが判明したため、Squidはこの制限にぶつかりました。



物語の教訓は、善悪に打ち勝つという事実に加えて、システムのセキュリティレベルは最も弱いリンクのセキュリティレベルによって決定されることであり、アーキテクチャの「正確性」に依存せずに、どこでもトリックを待つ必要があるということです。 また、パッチは時間どおりにインストールするのに十分ではないという事実もあり、外部からセキュリティの評価を行う必要があります。 特に、システムが1分間に10,000の接続に耐える場合、たとえば、接続の寿命が6秒であれば、6秒で1,000の接続に耐えることができるという意味ではありません。

まだ20,000人の顧客が同時に接続している場合の対処方法-別のディスカッションのトピック。



All Articles