banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban
tg_channel

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

起因#

(試験の勉強中にまた記事を書いてしまいましたが、これは基礎的な記事ではありません。ああ、この厄介な重力)

勉強中にパソコンを使っていると、本当にサボりやすいですね。自分のノートに保存されている記事を見ている最中に、以前から保存していた素晴らしいログ分析の記事を見つけました:シェルを手にしてサーバーログを分析する

今日はこの記事に基づいて、ウェブサイトのアクセスログとサーバーログを簡単に分析し、ウェブサイトのセキュリティ保護に不足している点を見てみましょう。

分析#

ログのダウンロード#

MobaXtermを使用してサーバーのシェルに接続していると、操作しないとすぐに切断されることに気づきましたので、ログをダウンロードしてUbuntuで分析することにしました。

ここで、WindowsのオールインワンターミナルツールであるMobaXtermをおすすめします。私の入門記事はこちらです:Windows のオールインワンターミナルツール —MobaXterm

元々はこのツールについての記事をツール共有ディレクトリに書く予定でしたが、自分自身のサービスがそんなに多くないので、上記の入門記事を見てください。

もちろん、私のような初心者は吾爱破解の「中国語版」を使用しています。現在のバージョンはhx77890氏によるv11.1 Bulid 3860の中国語版です。

ここをクリックして元の投稿をダウンロードし、できれば正規版をサポートしてください。中国語版は以下のように見えます:

image

ウェブサイトのアクセスログは通常/www/wwwlogsディレクトリにあります。ディレクトリを開くと:

image

ウェブサイトのログとaccess.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がどのページにアクセスしたかを確認します。ここでは、テンセントクラウドなどの企業以外で最もアクセスの多いIPを選択します:

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

image

上海からのこの方は、/wp-login.php/store/wp-includes/wlwmanifest.xmlなどの一般的なWordPressのセンシティブなページにアクセスしようとしているようで、これらの 2 つだけをアクセスしているため、スキャナーのようには見えません。

アクセス回数が最も多い 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のポートですが、おそらく前に自分でポートを公開したため、狙われたのかもしれません。

この方が爆破が好きなようなので、私も(大きな GIF 警告):

image

::quyin:1huaji::

頑張ってください、大兄弟!

結論#

簡単にまとめると、必要なポートのみを開けます。

一般的な必要なポートの場合でも、セキュリティ対策を講じる必要があります。以下は私が行った対策です:

  • ブログフレームワークをインストールした後、installフォルダーと他の設定ファイルを削除します。
  • 不要なポートを閉じるか削除します。
  • SSH はプライベートキーを使用して接続します。
  • パネルツール(Baota など)は安全な入り口を使用してログインし、ログインパスワードを変更します。
  • テンセントクラウドなどのウェブセキュリティ保護ツールを使用します。
  • ウェブサイトの異常なアクセスIPを検出し、自動的にブロックします。

以上です。

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