Diary

Diary

日々学んだことをアウトプットする場として初めてみました

apache のアクセスログを linux コマンドでチョット確認してみた

自宅のラズパイ上に apache でサーバーを立てており、Android アプリのバックエンドとして利用しています。

今回はそのログを少し覗いてみたところ、個人的に面白い結果が得られたので共有をしたいと思います。

HTTP ステータスコード集計

$ cat `ls access.log* | grep -v "gz"` <(zcat `ls access.log* | grep "gz"`) |\
 awk '{a[$9]++}END{for(i in a){print i, a[i]}}'
"-" 268
200 7134
206 14
301 39
304 1173
392 6
400 184
403 10
404 1296
405 10
408 7
500 85

404 関連調査

とりあえず 404 の多さにびびったので、その関連について調べてみます。

どこにアクセスしようとしてる人が多いのか

$ cat `ls access.log* | grep -v "gz"` <(zcat `ls access.log* | grep "gz"`) |\
 awk '$9 == 404 {print $7}' | sort | uniq -c | sort -k1nr | head
58 /favicon.ico
52 /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
39 /.env
37 /boaform/admin/formLogin
37 /imgs/blog/nogi/itouriria.jpeg
35 /config/getuser?index=0
28 /_ignition/execute-solution
27 /console/
27 /index.php?s=/Index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=HelloThinkPHP21

/.envなど明らかに悪意を感じます。

そのほかのアクセスに関しても何かしらの意図を持ってそうで怖いです

何時が多いのか (UTC)

$ cat `ls access.log* | grep -v "gz"` <(zcat `ls access.log* | grep "gz"`) |\
 awk '$9 == 404 {print substr($4,14,2)}' |\
  sort | uniq -c | sort -k2 | awk '{print $2, $1}'
00 32
01 47
02 64
03 17
04 32
05 64
06 24
07 43
08 298
09 37
10 76
11 50
12 37
13 33
14 148
15 20
16 48
17 22
18 37
19 20
20 25
21 19
22 33
23 72

意外にもばらけました。絶対数が少ないのでなんとも言えませんが。

400 関連調査

どこにアクセスしようとしてる人が多いのか

$ cat `ls access.log* | grep -v "gz"` <(zcat `ls access.log* | grep "gz"`) |\
 awk '$9 == 400 {print $7}' | sort | uniq -c | sort -k1nr | head
123 /
20 /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh
8 /ab2g
8 /ab2h
5 /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/hosts
4 /HNAP1/
4 /icons/.%%32%65/.%%32%65/apache2/icons/non-existant-image.png
4 /icons/.%%32%65/.%%32%65/apache2/icons/sphere1.png
4 /icons/.%2e/%2e%2e/apache2/icons/sphere1.png
1 /R1hq

%2E.なので、/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh/cgi-bin/../../../../bin/sh。。。

おわりに

今回は apache サーバーのログを簡単に確認してみました。

少しみただけでも怖さの伝わるアクセスが多く、しっかりセキュリティについて勉強しようと思いました。

こんなところも確認しておいた方がいいよ!などあれば、是非コメントで教えていただきたいです。