|
PHPのセキュリティホールに関しての攻撃の跡だと思うものが、Apacheのアクセスログに多数あります。そこで、ログの中に「xmlrpc」の文字のある行を抜き出して、パケットフィルタリングで実行できるスクリプトを作成するのに、簡単なシェルスクリプトを考えて見ました。しかし、IPアドレスそれぞれに対して設定していては、怪しいログのIPアドレスが多すぎます。何度も同じアドレスからは攻撃してこないようです。IPアドレスを範囲を持たせ、ネットワークでの指定にしたいのですが、IPアドレスからいかにすれば、それが属するネットワークに変換できるのか。悩むところですね。 <pre>#!/bin/sh IPTBL='\/usr\/sbin\/iptables' ( LOGDIR='/usr/local/apache2/logs/' cat ${LOGDIR}access_log | grep xmlrpc | cut -f1 -d" " | uniq; gzip -dc ${LOGDIR}access_log.1.gz | grep xmlrpc | cut -f1 -d" " | uniq; gzip -dc ${LOGDIR}access_log.2.gz | grep xmlrpc | cut -f1 -d" " | uniq; gzip -dc ${LOGDIR}access_log.3.gz | grep xmlrpc | cut -f1 -d" " | uniq; gzip -dc ${LOGDIR}access_log.4.gz | grep xmlrpc | cut -f1 -d" " | uniq; gzip -dc ${LOGDIR}access_log.5.gz | grep xmlrpc | cut -f1 -d" " | uniq; ) | sort -n | uniq | sed "s/\(.*\)/$IPTBL -t filter -A INPUT -s \1 -j DROP/"</pre> |
| << 前記事(2006/01/15) | トップへ | 後記事(2006/01/20)>> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2006/01/15) | トップへ | 後記事(2006/01/20)>> |