DDOS攻撃を受けているサーバー-IPを見つける方法


20

私のサーバーはDDOS攻撃を受けており、それを実行しているIPをブロックしたいのですが、攻撃者のIPを特定するためにどのログを検索する必要がありますか?


2
サーバーが攻撃を受けていると判断したことはどうですか?この決定を行うために何らかのタイプのTCPセッションテーブル(Windowsではnetstat)を調べる必要があり、そうすることであなたのサーバーに接続しているホストのIPアドレスが表示され、それがあなたの質問をするでしょう論争。
-joeqwerty

回答:


43
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

上位のIPアドレスを見てください。他のものより際立っているものがあれば、それらはファイアウォールにとってのものでしょう。

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

これは、現在アクティブな接続を調べて、ポート80に接続しているIPがあるかどうかを確認します。IPアドレスが45桁目で始まらない場合があるため、cut -c 45-を変更する必要があります。あなたのウェブサーバー、これも同様にそれを拾います。

これらのいずれも過度に標準外のIPを表示しないという偶然の機会に、あなたはあなたを攻撃するボットネットがあると仮定する必要があり、それらが何をしているかを見るためにログで特定のパターンを探す必要があります。ワードプレスサイトに対する一般的な攻撃は次のとおりです。

GET /index.php? HTTP/1.0

Webサイトのアクセスログを調べると、次のようなことができる場合があります。

cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more

最もよくヒットするURLが表示されます。サイト全体をロードするのではなく、特定のスクリプトをヒットしていることに気付くかもしれません。

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

共通のUserAgentを表示できます。攻撃で単一のUserAgentを使用している可能性があります。

秘Theは、通常のトラフィックには存在しない攻撃トラフィックと共通するものを見つけて、それをiptables、mod_rewrite、またはアップストリームを介してWebホストでフィルタリングすることです。Slowlorisに見舞われている場合、Apache 2.2.15にはreqtimeoutモジュールがあり、Slowlorisからの保護を強化するためにいくつかの設定を構成できます。


どうもありがとう、私はこの週末に間違いなく調べます。
Webnet

優れた。非常に便利で、単に素晴らしい....それを維持し、神のご加護を。Allinonescript.com(allinonescript.com)世界中の開発者の知識は知識を獲得します。
ヴァディベルS

access_logを正しく設定している限り:tail -n 10000 / var / log / httpd / access_log | cut -f 1 -d '' | sort | uniq -c | sort -nr | moreこれは動作するはずです。私のために働いた
ダストバスター

7

参考-ISPと協力して、上流でブロックできるかどうかを確認してください。


4

ここでいくつかの良いヒント。私もこれを追加します:

netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''

これをエイリアス(たとえば、nn)の下に置きます。これにより、より確立された接続を持つipsの「グラフィカル」な視点が得られます。

お役に立てれば。

これを動作させることができなかった人のために、構文を修正し、Ubuntuの下で実行されるようにしました。

netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'

3

DOS攻撃をチェックするための私のお気に入りのログファイルは、/ var / log / secure(Redhat / Centos / Fedora ....の下)および/var/log/auth.log(ubuntu、debian ...の下)です。ほとんどの場合、辞書ベースの攻撃である攻撃者のソースIPからのログイン試行の失敗が表示されます。


1

サーバーを保護するために、Fail2Banの単純なスクリプトを使用します

/ var / log / pwdfailや/ var / log / apache / error_logなどのログファイルをスキャンし、パスワードの失敗が多すぎるIPを禁止します。ファイアウォールルールを更新して、IPアドレスを拒否します。

http://www.fail2ban.org/wiki/index.php/Main_Page


0

どのディストリビューションですか?

ログはUbuntuでは/var/log/apache2/access.logの下にあると思います...おそらくDebianも同様です。

updatedbをsudoとして実行し、コマンドラインからaccess.logを見つけます。

編集:これは、ページをリクエストするか、ポート80を介して直接ヒットした場合にのみ発生します。他のポートにヒットした場合、必要な情報が表示されないため、どのプロセスがチェックされているかを確認する必要がありますそのポートで実行し、そのプロセスの接続ログを確認します。


0

特定のポートが疑われる場合は、tcpdumpを使用して$ tcpdump -vv port Xであるアドレスを確認できます。


0

分散DOSを使用している場合、ブロックするIPがはるかに多く、IPが偽造されている可能性があるので、mfinniが言ったようにISPに問い合わせた方が良いでしょう。また、これはサーバーに対するDOS以上のものである可能性がありますが、実際の攻撃が検出されないようにするためのおとりです。したがって、公開されているすべてのサービスが最新のソフトウェアで実行されていることを確認してください。mod_dosevasive for apacheにも興味があるかもしれません。


2
IPはWeb攻撃に対して偽造するのが非常に困難です。有効なWeb接続にはsyn / ackハンドシェイクが必要であるため、偽造された攻撃サイトからのペイロードが正しく機能するためには、偽造IPアドレスackに正しいシーケンス番号が割り当てられていることが幸運です。UDP / ICMPトラフィックはコネクションレスであり、偽造パケットを許可しますが、ほとんどのホストはそれらのパケットをブロックします。
user6738237482

0

最初に、DOSのタイプを決定する必要があります。いくつかの攻撃は非常にステルスですが、効果的(スローロリス)であり、それらのいくつかは非常に重く、ISPをダウンさせる可能性があります(ISPソースよりも高い帯域幅からのICMPフラッド)。

DOSのタイプを決定したら、ISPに連絡して、トラフィックを除外できるかどうかを尋ねます。

ICMPフラッドが非常に多かったので、上流のISPにBGPコミュニティ経由で宛先IPを除外するように頼まなければなりませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.