回答:
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からの保護を強化するためにいくつかの設定を構成できます。
ここでいくつかの良いヒント。私もこれを追加します:
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 ""}'
サーバーを保護するために、Fail2Banの単純なスクリプトを使用します
/ var / log / pwdfailや/ var / log / apache / error_logなどのログファイルをスキャンし、パスワードの失敗が多すぎるIPを禁止します。ファイアウォールルールを更新して、IPアドレスを拒否します。
どのディストリビューションですか?
ログはUbuntuでは/var/log/apache2/access.logの下にあると思います...おそらくDebianも同様です。
updatedbをsudoとして実行し、コマンドラインからaccess.logを見つけます。
編集:これは、ページをリクエストするか、ポート80を介して直接ヒットした場合にのみ発生します。他のポートにヒットした場合、必要な情報が表示されないため、どのプロセスがチェックされているかを確認する必要がありますそのポートで実行し、そのプロセスの接続ログを確認します。
分散DOSを使用している場合、ブロックするIPがはるかに多く、IPが偽造されている可能性があるので、mfinniが言ったようにISPに問い合わせた方が良いでしょう。また、これはサーバーに対するDOS以上のものである可能性がありますが、実際の攻撃が検出されないようにするためのおとりです。したがって、公開されているすべてのサービスが最新のソフトウェアで実行されていることを確認してください。mod_dosevasive for apacheにも興味があるかもしれません。
最初に、DOSのタイプを決定する必要があります。いくつかの攻撃は非常にステルスですが、効果的(スローロリス)であり、それらのいくつかは非常に重く、ISPをダウンさせる可能性があります(ISPソースよりも高い帯域幅からのICMPフラッド)。
DOSのタイプを決定したら、ISPに連絡して、トラフィックを除外できるかどうかを尋ねます。
ICMPフラッドが非常に多かったので、上流のISPにBGPコミュニティ経由で宛先IPを除外するように頼まなければなりませんでした。