Qratorトラフィックフィルタリングネットワークログブックの以前の問題(必須の広告リンクはhttp://qrator.net/です )では、Runetでの重大なイベントを見越して、攻撃に対する保護を事前に行う方がよいことがわかりました 。 今日は、この要件を満たしたとしても、職場の管理者で眠れない夜を何回か稼ぐことができるかを説明します。
背景
CVKの従業員は、投票システムのフロントエンドのフォールトトレランスの問題にアカデミックな真剣さで取り組み、すべての卵を1つのバスケットに入れ始めませんでした。 投票システムの銃口は、Windowsベースのアプリケーションに推奨されるMicrosoft Azureクラウドでホストされていました 。 同時に、ドメインselection.cvk2012.orgは、説明されているイベントのほぼ1か月前にQratorに登録されましたが、今回は予防的保護下にあり、トレーニングに必要な基盤を蓄積することができました。 これにより、野党のサイトの効率性に関する選択的な週末は、以前のいくつかの会議と同じくらい穏やかに問題なく開催されると期待することができました。
10月18日
木曜日に最初の鐘が鳴りました。 この時点で、有権者登録サイトに対する低電力攻撃が3日間続いていましたが、その時点で初めて問題が発生しました。 攻撃スキームは典型的なJS LOICです。おそらく安定したホスティングには、攻撃されたサービスのURLから200ミリ秒ごとに擬似画像を更新するECMAScriptコードを含むページがあります。 4月に、 Vkontakteサービスがantigate.comサイトに「警告」するために同様のスキームを使用しました 。 この場合、最初は攻撃スクリプトはhellotesak.narod.ru Webサイトにありましたが、Yandexサーバーは攻撃に参加しませんでした-スクリプトはユーザーのブラウザーで実行されました。 このサイトは後でブロックされました。
特定の条件下では、攻撃コードがデータベースに深刻な問題を引き起こすことが判明しました。 DBMSとのフロントエンド通信を最適化する時間はなく、サイトにはすべての着信リクエストの履歴を分析する余地がなかったため、Qratorテクニカルサポートに相談した後、顧客はアプリケーションをフィルタリングシステムと密接に統合し、データベースリクエストの複雑さに関するフィードバックを提供することにしました。
したがって、サイトは土曜日まで逆境から保護されていました。
10月20日
土曜日の夜、攻撃者はMicrosoft Azureにある投票サイト-Election.democratia2.ruに注意を向けました。 クラウド自体は引き続き機能しましたが、他の場所にあるポーリングサーバーは、標的となるLOIC攻撃 (今回はcvkhello.do.am) によって正常に殺されました 。 最初、開発チームはアーキテクチャを変更して不幸を克服しようとし、キャプチャを導入しましたが、投票サイトは深夜0時にQratorの保護下に置かれました... HTTPSなし-彼らは急いでそれを忘れました。 さらに、QratorがSSLにアクセスしたときに、正当なユーザーの動作の履歴が蓄積されていないことが影響しました。
Election.democratia2.ruの作業は、フィルタリングシステムをトレーニングした後、10月21日日曜日の夜までに復元されました。
Meddy ( uCozの従業員)からの情報によると、 ウェブサイトcvkhello.do.amは2日間続きました。 このサイトは、ウクライナ最大のケーブルプロバイダーの1つに属するIPアドレスで登録されました。
10月21日
もちろん、Azureの緊急の放棄とコードの大規模な変更は、サイトの全体的なパフォーマンスに悪影響を与える可能性があります。 そして、日曜日に、攻撃者はついにLOICとともに、アジアおよびヨーロッパ諸国からのIPアドレスを持つ本格的なボットネットを使用するようになりました。 攻撃に関与したボットの総数は、NATを除いて13万を少し上回りました。 これらすべてが相まって、多くの潜在的に疑わしいIPアドレスを事前にブロックし、サイトに1つずつアクセスし、各IPアドレスの動作履歴を個別に分析する必要が生じました。 夕方にかけて、保護されたサイトのパフォーマンスのボトルネックが解消されると、すべての正当なユーザーにサイトへのアクセスが許可されました。
ドライテクニカルアタックの詳細
- 攻撃タイプ:組み合わせ、SYNフラッド+アプリケーションレベル攻撃(ボットネット+ LOIC)
- ピークSYNフラッド容量:15万パケット/秒
- ピークアプリケーションレベルの攻撃力:3.8千HTTP要求/秒
- 攻撃に関係するIPアドレスの数:約135千
道徳?
- クラウドアプリケーションアーキテクチャは、すべての病気の万能薬ではありません。 有利な状況でも、偽トラフィックの完全な処理のためにクラウドによって費やされるリソースに対する多額の請求書に直面しています。 楽観的ではない予測-安定性とパフォーマンスに関する重大な問題。その結果、最も重要な瞬間のダウンタイム。
- 負荷の高いアプリケーションは、負荷テストから解放できません。 クラウドへの配置も、サーバープラットフォームとフレームワークの評判も、購入済みのギガビットチャネルも、スクリプト、データベーススキーマ、またはクエリ処理ロジックのボトルネックを保証しません。 ロードされたアプリケーションには、パフォーマンスに余裕があり、計算された負荷または標準負荷の少なくとも115%に耐える必要があります。これだけで、誤検知を最小限に抑えた高品質のフィルタリングが保証されます。
- ところで、パフォーマンスについて。 サーバーが1秒以上答えをよく考えている場合、システムが実稼働する前に解決する必要がある大きな問題がある可能性が高くなります。
- サイトが外部からアクセスできなくなった場合は、落ち着いて自分の能力を冷静に評価してください。 本番環境でサイトにホットパッチを適用すると、1つの穴が閉じられる場合がありますが、3つの新しい穴が開いて元に戻ります。 利用可能なすべての救助の機会を考慮し、それらから価格と品質の面で最高を選択してください。
- 繰り返しますが、アプリケーションが保護されるのが早ければ早いほど、あなたとあなたのシステム管理者があなたの理想のために働き、リラックスし、戦うための自由時間が増えます。