Feed

何故検索できたのか?

Posted on 3月 1st, 2008 in 倉庫 by apj

 お茶大の方の掲示板に書いてるのだが、一応こちらでも書いておく。
 仮の名を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サイトを開設した人」が理解すべきかというと、それもちょっと無理かな、とも思います。