起因#
(試験の勉強中にまた記事を書いてしまいましたが、これは基礎的な記事ではありません。ああ、この厄介な重力)
勉強中にパソコンを使っていると、本当にサボりやすいですね。自分のノートに保存されている記事を見ている最中に、以前から保存していた素晴らしいログ分析の記事を見つけました:シェルを手にしてサーバーログを分析する
今日はこの記事に基づいて、ウェブサイトのアクセスログとサーバーログを簡単に分析し、ウェブサイトのセキュリティ保護に不足している点を見てみましょう。
分析#
ログのダウンロード#
MobaXterm
を使用してサーバーのシェルに接続していると、操作しないとすぐに切断されることに気づきましたので、ログをダウンロードしてUbuntu
で分析することにしました。
ここで、Windows
のオールインワンターミナルツールであるMobaXterm
をおすすめします。私の入門記事はこちらです:Windows のオールインワンターミナルツール —MobaXterm
元々はこのツールについての記事をツール共有ディレクトリに書く予定でしたが、自分自身のサービスがそんなに多くないので、上記の入門記事を見てください。
もちろん、私のような初心者は吾爱破解
の「中国語版」を使用しています。現在のバージョンはhx77890
氏によるv11.1 Bulid 3860
の中国語版です。
ここをクリックして元の投稿をダウンロードし、できれば正規版をサポートしてください。中国語版は以下のように見えます:
ウェブサイトのアクセスログは通常/www/wwwlogs
ディレクトリにあります。ディレクトリを開くと:
ウェブサイトのログとaccess.log
という名前のファイルが表示されます。前者はウェブサイトのログで、後者はアクセスログです。
ウェブサイトのログは次のようになります:
分析#
(コマンドライン分析のパラメータの説明は後で補完します)
ログをダウンロードしてubuntu
に保存しました:
ウェブサイトのログを分析しましょう。
アクセスした IP アドレスの数を確認します:
awk '{print $1}' soapffz.com.log|sort|uniq|wc -l
各 IP がアクセスしたページ数を小さい順に並べ替え、最もアクセスの多い 30 個の IP を表示します:
awk '{++S[$1]} END {for (a in S) print S[a],a}' soapffz.com.log | sort -n | tail -n 30
次のスクリプトを使用して、上記を調べます:Python-- バッチで IP アドレスを検索する
もちろん、アクセス量が最も多いIP
を見る方法はこれだけではありません:
awk '{print $1}' soapffz.com.log |sort -n -r |uniq -c | sort -n -r | head -20
特定のIP
がどのページにアクセスしたかを確認します。ここでは、テンセントクラウドなどの企業以外で最もアクセスの多いIP
を選択します:
grep ^140.207.120.100 soapffz.com.log| awk '{print $1,$7}'
上海からのこの方は、/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
soapffz.com.log
はほぼ終わりましたので、access.log
を見てみましょう。
最もアクセスの多いIP
を確認します:
IP
の場所を確認します:
アクセス回数が最も多いIP
がどのポートにアクセスしたかを確認します:
ログをちょっと見てみてよかったです。先ほど言ったアクセスしたページは、URL:ポート
の後の内容だけを含んでいます。この59.36.132.140
は、広東省東莞市 電信
からの方が私の888
ポートを爆破し続けています。soapffz.com.log
を再度確認しましたが、この問題は見つかりませんでした。
888
ポートはphpMyAdmin
のポートですが、おそらく前に自分でポートを公開したため、狙われたのかもしれません。
この方が爆破が好きなようなので、私も(大きな GIF 警告):
::quyin:1huaji::
頑張ってください、大兄弟!
結論#
簡単にまとめると、必要なポートのみを開けます。
一般的な必要なポートの場合でも、セキュリティ対策を講じる必要があります。以下は私が行った対策です:
- ブログフレームワークをインストールした後、
install
フォルダーと他の設定ファイルを削除します。 - 不要なポートを閉じるか削除します。
- SSH はプライベートキーを使用して接続します。
- パネルツール(Baota など)は安全な入り口を使用してログインし、ログインパスワードを変更します。
- テンセントクラウドなどのウェブセキュリティ保護ツールを使用します。
- ウェブサイトの異常なアクセス
IP
を検出し、自動的にブロックします。
以上です。