今年に入ってからのApacheのログを調査してみる。
今回はシェルではなく、コマンドラインベースで色々やってみようかと思う。
今回はアクセス制御対象リストを作成するまでにしておいて、後日アクセス制御を行おうと思う。
- 「HTTP 404」ファイル未検出を探す
- 「HTTP 404」ファイル未検出の件数を確認
- ログに「ZmEu」が含まれる物を探す ※1「ZmEu」はこんなことをする
- エージェント「ZmEu」のIPアドレスを抜き出す
- エージェント「ZmEu」のIPをアクセス拒否リストに追加する
- アクセス拒否したいIPがどの国に当てられているかを確認
- 「ZmEu」以外の怪しいヤツを探す
- 「ZmEu」がどんなことをしているのか見てみる
- 作業ファイルを削除する
※ > は全角になっているので注意
ログを収集
zcat /var/log/apache2/access.log.*.gz > /var/log/apache2/access_all.log cat /var/log/apache2/access.log >> /var/log/apache2/access_all.log |
まずは、今年に入ってからの「HTTP 404」ファイル未検出を探す
grep 'HTTP/1.1" 404' /var/log/apache2/access_all.log|grep 'Jan/2012'|sort>/home/hoge/apache404log.txt |
件数を確認
wc -l /home/hoge/apache404log.txt |
アクセス拒否したいエージェント「ZmEu」を探す
grep 'ZmEu' /home/hoge/apache404log.txt|wc -l |
ログから「ZmEu」でアクセスしてきたヤツのIPアドレスを抜き出す
grep 'ZmEu' /home/hoge/apache404log.txt|awk '{print $1}'|sort|uniq |
結果:
一応、ここではIPアドレスは非公開とします
XXX.XXX.XXX.26
XXX.XX.XXX.179
XXX.XX.XXX.141
XXX.XX.XX.4
XXX.XX.XXX.87
XXX.XX.XX.41
XXX.XXX.XX.34
XX.XXX.XX.182
XX.XXX.XXX.144
アクセス拒否リストに追加する
grep 'ZmEu' /home/hoge/apache404log.txt|awk '{print $1}'|sort|uniq>/home/hoge/denyIPNEW$$ cat /home/hoge/denyIP>>/home/hoge/denyIPNEW$$ cat /home/hoge/denyIPNEW$$|sort|uniq>/home/hoge/denyIP rm /home/hoge/denyIPNEW$$ |
どの国に当てられているIPアドレスかを確認
grep 'ZmEu' /home/hoge/apache404log.txt|awk '{print $1}'|sort|uniq|xargs -I{} whois {}|grep -i country|sed 's/ //g'|sort|uniq |
結果:
Country:US —アメリカ(United States of America)
country:AE —アラブ首長国連邦 (United Arab Emirates)
country:CN —中国(China)
country:TH —タイランド(Thailand)
network:Organization-Country:US
organization:Country-Code:US
「ZmEu」以外の怪しいヤツを探す(※注意:grepの引数は個人的な判断でやってます)
egrep -v 'ZmEu|fancy_shadow|style.css|Mediapartners|fancybox|twitter|google.com|flashfreemind|www.bing.com|/img/icon' /home/hoge/apache404log.txt |
※1「ZmEu」がどんなことをしているのか見てみる
grep 'ZmEu' /home/hoge/apache404log.txt|awk 'BEGIN{FS="/"}{printf("%s/%s/%s\n",$4,$5,$6)}'|sort|uniq |
こんなことをする
3rdparty/phpMyAdmin/scripts
MyAdmin/scripts/setup.php HTTP
MySQLAdmin/scripts/setup.php HTTP
PHPMYADMIN/scripts/setup.php HTTP
PMA/scripts/setup.php HTTP
PMA2005/scripts/setup.php HTTP
SQL/scripts/setup.php HTTP
_admin/scripts/setup.php HTTP
_phpmyadmin/scripts/setup.php HTTP
admin/mysql/scripts
admin/phpmyadmin/scripts
admin/pma/scripts
admin/scripts/setup.php HTTP
admm/scripts/setup.php HTTP
admn/scripts/setup.php HTTP
bbs/data/scripts
bkup/phpMyAdmin/scripts
bkup/phpmyadmin/scripts
cpadmin/scripts/setup.php HTTP
cpadmindb/scripts/setup.php HTTP
cpanelmysql/scripts/setup.php HTTP
cpanelphpmyadmin/scripts/setup.php HTTP
cpanelsql/scripts/setup.php HTTP
cpdbadmin/scripts/setup.php HTTP
cpphpmyadmin/scripts/setup.php HTTP
databaseadmin/scripts/setup.php HTTP
dbadmin/scripts/setup.php HTTP
myadmin/scripts/setup.php HTTP
mysql-admin/scripts/setup.php HTTP
mysqladminconfig/scripts/setup.php HTTP
p/m/a
pHpMy/scripts/setup.php HTTP
pHpMyAdMiN/scripts/setup.php HTTP
pMA/scripts/setup.php HTTP
php-my-admin/scripts/setup.php HTTP
php-myadmin/scripts/setup.php HTTP
phpMyA/scripts/setup.php HTTP
phpMyAdmi/scripts/setup.php HTTP
phpMyAdmin/scripts/setup.php HTTP
phpm/scripts/setup.php HTTP
phpmanager/scripts/setup.php HTTP
phpmy-admin/scripts/setup.php HTTP
phpmy/scripts/setup.php HTTP
phpmya/scripts/setup.php HTTP
phpmyad-sys/scripts/setup.php HTTP
phpmyad/scripts/setup.php HTTP
phpmyadmin/scripts/setup.php HTTP
pma/scripts/setup.php HTTP
pma2005/scripts/setup.php HTTP
roundcube/scripts/setup.php HTTP
scripts/setup.php HTTP/1.1″ 404 11538 “-” “ZmEu”
sl2/data/scripts
sql/scripts/setup.php HTTP
sqladmin/scripts/setup.php HTTP
sqlmanager/scripts/setup.php HTTP
sqlweb/scripts/setup.php HTTP
typo3/phpmyadmin/scripts
vhcs2/tools/pma
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1″ 404 11554 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 11568 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 11569 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 11615 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 11617 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 11618 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 11627 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 11628 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 555 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 9466 “-” “ZmEu”/
w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1” 404 9467 “-” “ZmEu”/
web/phpMyAdmin/scripts
web/phpmyadmin/scripts
webadmin/scripts/setup.php HTTP
webdb/scripts/setup.php HTTP
websql/scripts/setup.php HTTP
wp-content/plugins/wp-phpmyadmin
wp-phpmyadmin/phpmyadmin/scripts
wp-phpmyadmin/scripts/setup.php HTTP
調査が終了したので作業ファイルを削除する
rm /home/hoge/apache404log.txt |