質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.02%

Apacheでプロセス数が急増しサーバをダウンさせる攻撃

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 10
  • VIEW 417

kitamura472

score 3

Apacheのプロセス数が急増し、DISKのREAD値が異常に跳ね上がり(平常時200kb→攻撃時60Mb)、Apacheがダウンします。

サーバはCentOS7、Apache2.4.6です。

この攻撃はerror_logが残らず、mod_dosdetectorも反応せず、mod_limitipconnでの制限も無視し、Timeoutも効かず、いきなりApacheのプロセス数上限に達しパンクします。

対処方法がわからず途方に暮れている状態でございます。お力添え頂けないでしょうか。

アクセスログには以下のような記録が大量に残ります(1万行くらい)。1分くらい攻撃を受けると408が400に変わります。(※IPやドメイン名は例です)

123.456.789.12 - - [26/Oct/2019:13:11:37 +0900] "GET http://exsample.com HTTP/1.1" 408 221 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
123.456.789.12 - - [26/Oct/2019:13:11:37 +0900] "GET http://exsample.com HTTP/1.1" 408 221 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
123.456.789.12 - - [26/Oct/2019:13:11:37 +0900] "GET http://exsample.com HTTP/1.1" 408 221 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
123.456.789.12 - - [26/Oct/2019:13:11:37 +0900] "GET http://exsample.com HTTP/1.1" 408 221 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
123.456.789.12 - - [26/Oct/2019:13:12:37 +0900] "GET http://exsample.com HTTP/1.1" 400 226 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
123.456.789.12 - - [26/Oct/2019:13:12:37 +0900] "GET http://exsample.com HTTP/1.1" 400 226 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
123.456.789.12 - - [26/Oct/2019:13:12:37 +0900] "GET http://exsample.com HTTP/1.1" 400 226 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
123.456.789.12 - - [26/Oct/2019:13:12:37 +0900] "GET http://exsample.com HTTP/1.1" 400 226 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"

---------------------- ご質問に関しての追記 ---------------------
犯人が攻撃している部分はindex.htmlであり、ただの静的なページになります。パラメータも付いていない点、PHPなども含まれておらず、apacheかそれよりも前の脆弱性を狙っているものと推測しております。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • t_obara

    2019/10/29 11:37

    https://www.ipa.go.jp/security/vuln/vuln_contents/dos.html
    DoS/DDoS攻撃でしょう。専門家に相談するか、それに対応したサービスに加入するか、IPAさんを含め専門的な情報を参考にされるとよろしいかと。あとは、警察に届けましょう。

    キャンセル

  • CHERRY

    2019/10/30 10:01

    (回答欄のコメントに対してのコメントですが...)

    > この攻撃を受ける前に犯人から犯行予告および金銭の請求があったため、海外からのIPは全て遮断していました。

    という状況であれば、ちょっとした対策で回避したとしても、また狙われると思うので、警察&専門のコンサルタントに依頼するのがいいのではないかと思います。

    キャンセル

  • kitamura472

    2019/10/30 17:38

    既に被害届も出しており、犯人も結構有名な方だったようで身元も特定できている状況です。放っておいても検挙されると思います。日本の法律上逮捕まで相当時間がかかるようで、ひとまず自己防衛するしか無いようです。

    キャンセル

回答 3

checkベストアンサー

+3

Apacheではなくiptablesレベルで制限をかけるとどうでしょう?

参考:Limit max connections per IP address and new connections per second with iptables

- the maximum connections per IP address to httpd to 10
- the maximum new connections per second to httpd to 150

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/10/29 16:53

    ご回答ありがとうございます。この発想はありませんでした。調べてみます。

    キャンセル

+1

Microsoft Edgeから来てるんですね(出た、変態UA)
サービスの規模にもよりますが以下の対象はいかがでしょうか?

  • 1, 海外IPの場合、その国からのアクセス遮断
  • 2, VPNからの接続遮断
  • 3, 特定IPからのアクセス遮断

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/10/29 14:44

    ちなみに平常時のアクセス数とサーバーのスペックを教えていただけませんか?

    キャンセル

  • 2019/10/29 16:51

    ご回答ありがとうございます。vpnのみを弾くという処理を組んだことが無いのですが、犯人が使用しているIPは一般プロバイダやキャリア携帯のIPも多く使用しており、普段からそういったクラッキングを行っている業者のようです。
    平常時のアクセス数は月2000万程、金銭的な事情でサーバのスペックはそもそも非常に低いです。

    キャンセル

  • 2019/10/29 22:50

    外部の対処サービスを利用してみるのも手かもしれません(もし、料金が損害額を上回りそうだったら)

    キャンセル

+1

CDNを使用してはいかがでしょうか?
今はリクエストが全てサーバーまで来ていてレスポンスを行なっているようですが、静的ページなのであればCloudFrontやCloudFlareなどを用いることで大幅にオリジン(サーバー本体)へのリクエストを減らすことができます。
CloudFlareはDDosなどをブロックする機能もあるので利用可能そうであれば使用するのも手です

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/10/29 14:50

    どっちかっていうとDoS攻撃ですけどね

    キャンセル

  • 2019/10/29 16:42

    ご回答ありがとうございます。index.html自体に意味がなく、javascriptでちょっとしたサービスを提供している形でございます。

    キャンセル

  • 2019/10/29 20:07

    cloudFlareは無料で使用可能であったりもするので活用してみる価値はあるとおもいます
    なんでもキャッシュするとこんなことにもなるので、ユーザーのクリティカルなデータを扱っている場合は気をつけてください
    https://tech.mercari.com/entry/2017/06/22/204500

    キャンセル

  • 2019/10/30 09:24

    ご回答ありがとうございます。これは盲点でした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.02%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる