2016-09-30 1 views
2

水曜日には、Webサーバー側でサービスが不安定になりました。私たちは一般的に、私たちのサイトに接続している2,000〜10,000人のユーザーに対処しており、水曜日15時35分ごろ、1つのIPアドレス(大学の顧客)からすべてのログインページに3万件以上の接続(5分以内)このページへのリクエストでは、460のHTTPコードが返されました。IISサーバーが中断しました - 何千ものhttp 460レスポンス - これを引き起こす可能性と防止方法

オンラインで3〜4,000人しかいないときに1人のユーザーがオンラインで気にすることがなくても、ログインページへのこの多くの接続の背後には他に理由がないため、これは悪意のあるものとみなします。

460エラーを引き起こすために誰かが達成しようとしていたことは、これを生成する既知の攻撃ですか?私はそれを月曜日にセキュリティテスターに​​渡して調べるつもりですが、私はそれを最初に置くと思っていました。

接続の状態はまだ変わっていませんが、接続はまだ完全には進行していませんが、CPUは少なくタイムアウトが発生しています。 ...

私たちは稼働しています12 Windows 2012 R2 IIS WebサーバーはAmazon ELBを通じて、私たちのWebサイトはASP.NETベースで、SQLサーバーのCPUとバッチ要求はありませんでした。これらの接続が発生したときに増加する。

ここ30K +ログから例行です:

RequestTime    RequestIPID  RequestProcessingTime  BackendProcessingTime  ClientResponseTime  ELBResponseCode  BackendResponseCode  ReceivedBytes  SentBytes  UserAgentID                          httpquerystring    httpmethod  Path   Domain 
28/09/2016 15:37:00  IP    0.002      0        -1      460      -      60      0    Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 OrgID=nameoforg    GET    Login.aspx   https://hiddendomain 

よろしく リアム

答えて

-1

あなたのウェブサーバーに中断サービスはサービス拒否(DoS)攻撃によって引き起こされているように見えます単一のIPアドレスから。自社のWebサーバーをホストする場合、問題のIPアドレスを手動で除外することは、ネットワークハードウェアおよび/またはソフトウェアを介して行うことができます。一部のネットワークハードウェアベンダーは、DoS攻撃を検出して適切なIPアドレスをブロックするための事前定義されたルールを使用して、このプロセスを自動化する特別な防御デバイスを販売しています。

Amazon ELBはWebサーバーをホストしているので、AWSからセキュリティオプションを強化することができます。 AWSのアイデンティティとアクセス管理(IAM)は、あなたの状況に適用できるもののようです。 AWSによれば、「IAMはAWSアカウントの機能で、追加料金なしで提供されます。

+0

こんにちはジョン、ご回答いただきありがとうございます。私はそれが単一のIPからのDoS攻撃だと理解しています。しかし、IAMはこのような保護を提供していない.IAMはAWS権利管理のためである。誰がAPIやコンソール内でアクセスすることができますか?アクセスキーなど。私たちはCloudflareも使用しますが、それは完全保護モードではありません。私は460 HTTPレスポンスの原因となるものの答えにもっと目を向けていたので、これを止めるためのテストを実行しました。また、完全なCloudFlare保護がこれを止める場合もありました。 Cloudflareは、100個のURLが必要で、現在テスト中であるため、完全に実装されていません。 –

+0

Webログを確認し、応答に460 HTTPステータスコードを生成した要求を調べることはできますか?次に、テスト中に同様の要求と応答を再現しようと試みることができます。 – JohnH

+0

こんにちはJohnさん、ログには上記の例よりも情報が表示されません。リクエストデータそのものだけが表示されるからです。どのようにして誰かがサーバを460にする方法を知りたいのですが、テストによってそれを防ぐ方法を見ていきたいと思います。 –

0

実際にこの問題は、接続ヘッダーのない多数の要求によって引き起こされる低速HTTP攻撃(slowloris)によって引き起こされると診断されています。これは、ロードバランサとのクライアントの切断を引き起こしますが、すべての接続がデフォルトの120秒のタイムアウトを受け取ると最大になります。現在、IISの制限を変更する作業を行っています。このような攻撃を軽減するのに最適な設定が見つかったら、さらに詳しく説明します。

私たちは、web.configファイルに以下の設定した

<system.web> 
    <httpRuntime requestValidationMode="2.0" targetFramework="4.5" maxRequestLength="50097151" maxUrlLength="2048" maxQueryStringLength="1024"/> 
</system.web> 
    <system.webServer> 
    <security> 
     <requestFiltering> 
      <requestLimits> 
       <headerLimits> 
        <clear /> 
        <add header="Content-type" sizeLimit="100" /> 
       </headerLimits> 
      </requestLimits> 
     </requestFiltering> 
     </security> 
    <httpProtocol> 
     <customHeaders> 
     <clear/> 
     <add name="X-Frame-Options" value="SAMEORIGIN" /> 
     <add name="X-XSS-Protection" value="1; mode=block"/> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 

よろしく

リアム

関連する問題