Aparche worm ログ切り出し

Date
2006-01-23 (Mon)
Category
Tech

サーバ管理を業者に委託することになったので、すぐには必要ではないのだけれども。デスクトップを整理していたら出てきたので、一応ここに置いておきます。

W32.HLLW.Gaobot.gen という worm がいます。Windows NT 系に感染してバックドアを開く奴らしいです。FreeBSD で動いている Apache には基本的には関係ないのですが、一回アクセスされると 32KB もの巨大なアクセスログを残してくれる、嬉しくない奴なので、ログからそれだけ切り出したい、というのが今回の目的です。

マンボウの雑文置き場』 という weblog があったのですが、今だけ?はネットから消失しているみたいです。。なので、Wayback Machine のリンクをば。【続2】撃滅!SEARCH /¥x90¥x02¥xb1ほにゃらら

一応念の為、というか別に是くらいならすぐ書けそうですが、まぁ一応。

erase_worm_log.sh

#!/bin/sh

TEMPFILE=`mktemp ERASE_LOG`
trap "rm ${TEMPFILE}" 1 2 3 10 12 15
TARGET=$1 # ファイル名は引数で与える
cat ${TARGET} | grep -v "SEARCH.¥/.x90.x02" > ${TEMPFILE}
mv ${TEMPFILE} ${TARGET}

moveapachelog.sh

#!/bin/sh

BZIP2="/usr/bin/bzip2"
PID=`cat /var/run/httpd.pid`
MAX_LOG_NUMBER=10 #ログの世代数
MAX_LOG_SIZE=50000000 #ログファイルサイズ

LOG_NAME="/var/log/httpd-access.log" #ログファイル名

FILE_SIZE=`ls -l ${LOG_NAME} | awk '{ print $5 }'`
if [ ${FILE_SIZE} -lt ${MAX_LOG_SIZE} ] ; then
exit
fi

CNT=`expr ${MAX_LOG_NUMBER} - 1 `

while [ ${CNT} -ge 1 ] ; do
CNT_NEW=`expr ${CNT} + 1 `
mv ${LOG_NAME}.${CNT}.bz2 ${LOG_NAME}.${CNT_NEW}.bz2
CNT=`expr ${CNT} - 1 `
done

mv ${LOG_NAME} ${LOG_NAME}.1
kill -HUP ${PID}

/root/bin/erase_worm_log.sh ${LOG_NAME}.1 #SEARCH..を削除

${BZIP2} ${LOG_NAME}.1

logger "apache log rotate." # syslogへ実行ログを出力

Comment:0

Comment Form

Remember Me?


Trackback:0

TrackBack URL for this entry
http://blogs.grf-design.com/mt/mt-tb.cgi/133
Listed below are links to weblogs that reference
Aparche worm ログ切り出し from The Croton

Return to Page Top