banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban
tg_channel

ウェブサイトnginxアクセスログ分析

起因#

(三つの試験を復習している私はまたサボって記事を書いていますが、しかも基本的な記事の更新ではなく、ああ〜このくそったれの重力)

復習中にパソコンを持っていると本当にサボりやすい。。サボりながら私のためにメモを保存した記事を見ていると

長い間保存していたとても良いログ分析の記事を見つけました:shell を使ってサーバーログを分析するのは心配ない?

今日はこの文章に基づいてウェブサイトのアクセスログとサーバーのアクセスログを簡単に分析し、ウェブサイトのセキュリティ対策が不十分な点を見てみましょう。

分析#

ダウンロードログ#

私がMobaXtermを使ってサーバーのshellに接続していると、少し操作しないとすぐに切断されてしまうので、ログをダウンロードしてUbuntuで分析することにしました。

ここでMobaXtermというWindowsの万能ターミナルツールをお勧めします。私の入門記事:Windows の万能ターミナルツール —MobaXterm

本当はこのことについてツール共有ディレクトリに記事を書こうと思っていましたが、自分にはそんなにサービスがないので、皆さんは上の入門記事を見てください。

もちろん、私のような初心者が使っているのは吾爱破解の「漢化版」で、今使っているバージョンはhx77890大佬が漢化したv11.1 Bulid 3860です。

こちらから原帖をダウンロード、能力があるなら正規版をサポートしてください。漢化版はこんな感じです:

image

ウェブサイトのアクセスログは一般的に/www/wwwlogsディレクトリにあり、ディレクトリを開くと:

image

ウェブサイト名で命名されたlogaccess.logが見えます。前者はウェブサイトのログで、後者はアクセスログです。

ウェブサイトのログは大体こんな感じです:

image

分析#

(コマンドライン分析のパラメータの説明は後で補足します)

ログをダウンロードしてubuntuに置きます:

image

ウェブサイトのログを分析し始めます。

どれだけの IP がアクセスしたかを確認します:

awk '{print $1}' soapffz.com.log|sort|uniq|wc -l

image

各 IP がアクセスしたページ数を小さい順に並べ、最もアクセスの多い 30 の IP を確認します:

awk '{++S[$1]} END {for (a in S) print S[a],a}' soapffz.com.log | sort -n | tail -n 30

image

私の前回の記事:Python--バッチでIPアドレスを照会するのスクリプトを使用して、以下のように照会します:

image

もちろん、アクセス量が最も多いipを確認する方法はこれだけではありません:

awk '{print $1}' soapffz.com.log |sort -n -r |uniq -c | sort -n -r | head -20

image

特定のipがどのページにアクセスしたかを確認します。ここでは、Tencent Cloud などの企業を除いて最もアクセスの多いipを選びます:

grep ^140.207.120.100 soapffz.com.log| awk '{print $1,$7}'

image

この上海からの兄弟が/wp-login.php/store/wp-includes/wlwmanifest.xmlなどの一般的なwordpressの敏感なページにアクセスしようとしたことがわかります。そして、彼はこの二つだけにアクセスしたようで、スキャナーによるものではないようです。

アクセス回数が最も多い 20 のファイルまたはページを確認します:

cat soapffz.com.log|awk '{print $11}'|sort|uniq -c|sort -nr | head -20

image

soapffz.com.logはほぼ見終わったので、access.logを見てみましょう。

アクセスが最も多いipを確認します:

image

ipの住所を確認します:

image

アクセス回数が最も多いipがどのポートにアクセスしたかを確認します:

image

幸い、ログを一目見たおかげで、前述のアクセスしたページはURL:ポートの後の内容だけを含んでいます。この59.36.132.140

広東省東莞市 電信からの兄弟が私の888ポートをずっとブルートフォース攻撃しているのです。soapffz.com.logを再度見たところ、この問題は見つかりませんでした。

888ポートはphpmyadminのポートで、前に私が自分でpoしたポートが狙われたのかもしれません。

この兄弟がブルートフォース攻撃を好むなら、私は (大きな gif 警告):

image

::quyin:1huaji::

頑張れ、兄弟!

総括#

簡単にまとめると、自分が必要なポートだけを開くこと。

もし一般的に開かなければならないポートであれば、安全対策を講じる必要があります。以下は私が行った対策です:

  • ブログフレームワークをインストールした後、installフォルダやその他の設定ファイルを削除する。
  • 不要なポートを閉じるまたは削除する。
  • SSH は秘密鍵で接続する。
  • 宝塔などのパネルは安全な入口でログインし、ログインパスを変更する。
  • Tencent Cloud などのウェブセキュリティツールを使用する。
  • 異常なアクセスipを検出し、自動的に禁止する。

この記事は以上です。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。