
背景: Ubuntu で Apache 2 を実行しています。使用頻度は低く、主にモバイル アプリからの Web サービス URL にアクセスしています。SSL 証明書をインストールするまでは問題なく動作していました。現在は http と https の両方を使用しています。https を使用してサーバーにアクセスすると、応答がかなり速くなります (ただし、以前ほど速くはないかもしれません)。http を使用すると、非常に遅くなります。
私が試したこと: からこれ役職:
curl localhost
ホストから送信され、多少時間がかかりますが、ルーティングの問題はありません。- サーバーは Amazon EC2 インスタンス上で実行され、私だけが管理します。
また:
- Apache が一度実行されると、許可されている最大数のプロセスが作成されますが、これは以前は当てはまりませんでした。MaxClients を 20 に下げたところ、応答が速くなったと思いますが、それでも 1 分以上かかり、常に MaxClients 個の Apache プロセスがあります。
dmesg
多くを返す[ 1953.655703] TCP: Possible SYN flooding on port 80. Sending cookies.
- netstat を実行すると、 というエントリが多数表示されます
SYN_RECV
。DDoS 攻撃の可能性はありますか? - EC2 の監視図を見ると、2 日前から「最大ネットワーク入力 (バイト)」が高くなっていることがわかります。ちなみに、サーバーはまだテスト中なので、実際のトラフィックは非常に少なく、一貫性がありません。
- 私は一緒に行こうとしたこれを使用して着信接続を制限する解決策は
iptables
まだ見つかりませんが、試しています。
質問: 何が問題なのでしょうか? これは DDoS 攻撃でしょうか?
アップデート: 私はこの問題について議論したここそれは確かに DDoS 攻撃であり、いくつかの解決策も議論されています。
答え1
次回は、何が起こっているのかをよりよく理解するために、apachetop
または のようなものを使いtail -f /var/log/httpd/access_log
たいと思うかもしれません。おそらく、特定の IP 範囲、同じ URL、ログイン フォームでのブルート フォース攻撃など、認識可能なパターンを持つ大量のリクエストが来ていることに気付くでしょう。URL リクエストが一定時間内に十分に高くなった場合は、それらの IP 範囲を iptables ブロック ルールに入れて、これを自動化することもできます。