何故検索できたのか?
お茶大の方の掲示板に書いてるのだが、一応こちらでも書いておく。
仮の名をAさんとする(メールアドレスa@abc.jpとする)から、メールアドレスがウェブサーバで公開されているというクレームがあった。Yahooで検索するとatom11.phys.ocha.ac.jpが引っ掛かる、という連絡であった。
全く覚えのないアドレスであったので、不思議に思いつつ検索してみたら、確かにatom11.phys.ocha.ac.jp内のsearch_200411.htmlとsearch_200510.htmlなるファイルが引っ掛かった。search_200411.htmlの中にはa@abc.jpが存在しなかったが、search_200510.html中を見るとa@abc.jpが書かれている。
serach何チャラとうファイルは、httpdのログからwebalizerが自動で生成する、サーチエンジンの検索キーワードをまとめたファイルである。ここに検索キーワードとしてa@abc.jpが登録されるということは、2005年の10月に、どこかの誰かがa@abc.jpと入れてYahoo!なりGoogleなりで検索し、その結果atom11.phys.ocha.ac.jpのどれかのファイルが検索結果に出たので、リンクをつついて見に来たのがhttpdのログに残った、ということではないか。すると、2005年の10月以前に、サイトのどこかにa@abc.jpなる文字列が含まれたファイルが無ければいけないはずである。ところが、これまでにatom11.phys.ocha.ac.jp内にa@abc.jpが含まれたファイルはsearch_200510.html以外に存在していなかった。
ということで、最初の1回目の検索をa@abc.jpというキーワードでやって、なぜatom11.phys.ocha.ac.jpに到達し、apacheのログにそれが残ったのかがさっぱりわからない。さらに、a@abc.jpが含まれていないファイルがなぜヒットするのかもわからない。
一応、キーワードファイルを出した後で、sedで@の含まれている行を全部消すという対応をしたが、何でまたファイル内に存在しないメールアドレスで検索でき、それがログに残るのかがが謎である。
【追記】
向こうの掲示板で(ぱ)さんが指摘して下さったのだが、今回はこういう状況ではないかと。
1)たまたま、メールアドレスの@の両側の「a」「abc」が、同じ月のうちに全く独立に検索され、ばらばらの状態でsearch_200411.htmlに記録された(2004年11月)
2)2005年10月に、誰かが「a@abc.jp」で検索し、search_200411.htmlに到達した。このこため、「a@abc.jp」がsearch_200510.htmlに記録された。
3)webalizerの集計ファイルは一定期間(1年くらい)は、リンクをたどって到達できる。この期間に、サーチエンジンが見に来て登録した。
2)をやったのが全く別の人なら不幸な偶然だが、もし本人だったらある意味自業自得ということになる。
ここからは旧ブログのコメントです。
by mimon at 2008-03-09 21:57:09
Re:何故検索できたのか?
そんなこともあるのかと、試しに自分が普段使っているメールアドレスを検索してみましたが、幸い、googleでもyahooでもヒットしませんでした。そのくせ、スパムメールは、たっぷり来ます。やはり、アカウントがローマ字4文字だけというのは、簡単すぎるのでしょうか。
by apj at 2008-03-40 07:51:40
Re:何故検索できたのか?
結局こういう対策をしてみた。とりあえず@のある行をメールアドレスっぽいとみなして全部削除するだけ。もっとスマートに書けるかもしれないんだけど、滅多にシェルスクリプトを書かないもんで……。
お茶大の方はこれで一応対策済みだから、同じのをこっちのサーバにも仕込まないと。
#!/bin/sh
#this month
MONTH_NAME=`date '+%Y%m'`
LOGDIR=/home/WWW/webalizer/
SLOGNAME=${LOGDIR}search_${MONTH_NAME}.html
SLOGTEMP=${LOGDIR}serach_tmp.html
ULOGNAME=${LOGDIR}usage_${MONTH_NAME}.html
ULOGTEMP=${LOGDIR}usage_tmp.html
sed -e “/@/d” $SLOGNAME > $SLOGTEMP
mv $SLOGTEMP $SLOGNAME
sed -e “/@/d” $ULOGNAME > $ULOGTEMP
mv $ULOGTEMP $ULOGNAME
#———- for past log
count=1
while [ $count -le 19 ];
do
MONTH_NAME=`date -v -${count}m '+%Y%m'`
SLOGNAME=${LOGDIR}search_${MONTH_NAME}.html
SLOGTEMP=${LOGDIR}serach_tmp.html
ULOGNAME=${LOGDIR}usage_${MONTH_NAME}.html
ULOGTEMP=${LOGDIR}usage_tmp.html
sed -e “/@/d” $SLOGNAME > $SLOGTEMP
mv $SLOGTEMP $SLOGNAME
sed -e “/@/d” $ULOGNAME > $ULOGTEMP
mv $ULOGTEMP $ULOGNAME
count=`expr $count + 1`
done
by 多分役立たず(HNです) at 2008-03-50 10:54:50
Re:何故検索できたのか?
apj さん、こんばんは。
>もし本人だったらある意味自業自得
とはいえ、個人情報が漏れていないか、己の名前等で検索しろ、などと言われている時代ですから、誰でも踏む可能性の高い地雷かと...
by apj at 2008-03-41 20:31:41
Re:何故検索できたのか?
>個人情報が漏れていないか、己の名前等で検索しろ
それをすると更に情報がばらまかれる可能性がある、という注意を誰もしないのはどうしてだ?
by (ぱ) at 2008-03-05 12:03:05
Re:何故検索できたのか?
Googleとかが善良とは限らないから、自分の名前で検索などもってのほか、という主張を見たことはあります。今探し出せなかったですけど。
ただ、Googleとかから見付けられたくない内輪ページがあったとして、でもそこから外部へのリンクを張ったら、リファラ経由でURLが漏れる可能性はあるわけです。でもそれを「両親に孫の写真を見せるためにWebサイトを開設した人」が理解すべきかというと、それもちょっと無理かな、とも思います。