アーカイブ拒否を無視するarchive.isをブロックする

Webサイトを保存するオンラインサービスは幾つもありますが、大抵はrobotsへnoarchive属性を付けておけば保存されません。
それを無視するサービスでも削除要求や「今後一切アーカイブしないでくれ」と行った要求が通るのでちょっと面倒なだけでした。

今回なぜarchive.isを知ってブロックする事になったかと言うと・・
別件で過去3年分のサーバーアクセスログからリンク元一覧を作成していたら「archive.is」からのリンクを発見。
なにかなー?とリンク元をゲットしてみると、対象URLのデータ丸ごとアーカイブされていました。

コードを見てみると、GoogleAnalytics関連は無効化されているので余計なログは残らないしGoogleのポリシーにも違反しないのは良いところだけれど・・・
元ページなんかを示すcanonicalタグは書き換えられていました。
まあどのサイトをキャッシュしたかはキャッシュページに記載されているから「どのサイトかわからない」って事はないけれど、重要なcanonicalを削除するのはひどいなあ。

うちのブログは有料素材も使っているし、なにより自分の死後にデータを残したくないのでarchive.isへ削除要求を送りましたが無視され続けました。
これはもうサーバー側でブロックするしかないって事で、ダミーURLにarchive.isのクローラーを差し向けて色々情報を頂いちゃうことに。
(ブロックに必要なIPアドレスのみ必要な方は記事の最後へ)
専用ページもできました。

まずはアクセスログ。
ちょっと書式を変更してあるので普通とは違うところがありますが、概ねApache標準の書式です。

46.166.139.173 blog.wolfs.jp - [22/Apr/2016:04:18:00 +0900] "GET /XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H HTTP/1.1" 404 49368 "https://www.google.com/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:01 +0900] "GET /optimizer.css?theme_p,hlstring,slimbox2 HTTP/1.1" 200 8345 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:01 +0900] "GET /wp-includes/js/jquery/jquery.js?ver=1.11.3 HTTP/1.1" 200 33267 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:01 +0900] "GET /optimizer.js?theme_p,captcha,slimbox2,lazy-load,jwplayer,jwplayer_after,akismet,attachment HTTP/1.1" 200 52725 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:02 +0900] "GET /themes/kerberos/images/header.jpg HTTP/1.1" 200 75529 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:02 +0900] "GET /themes/kerberos/images/sprite.png HTTP/1.1" 200 8803 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:02 +0900] "GET /themes/kerberos/images/paw.jpg HTTP/1.1" 200 16631 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:02 +0900] "GET /themes/kerberos/images/hidewolf.png HTTP/1.1" 200 5370 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:09 +0900] "GET /plugins/slimbox/css/closelabel.gif HTTP/1.1" 200 971 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.5.1 (development) Safari/534.34"
46.166.139.173 sblog.wolfs.jp - [22/Apr/2016:04:18:09 +0900] "GET /plugins/slimbox/css/closelabel.gif HTTP/1.1" 200 971 "http://blog.wolfs.jp/XIHI2TmvFBCoYOL6M4JFZkGfvCLn6Q5H" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"

おっと・・対象URLのコンテンツに対してはリファラー偽装してアクセスしてきています。
こうなるとユーザーエージェントのWindows7とChromeも怪しいところ。

しかし、Slimboxのgifに対してのみPhantomJSのユーザーエージェントが入っていました。
PhantomJSはコンソールベースのブラウザでwebkit系をエミュレートできるようです。
archive.isはこれを使ってデータをアーカイブしているんでしょうね。

次はサーバーのIPアドレスをRIRからいただきます。

% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf
% Note: this output has been filtered.
% To receive output for a database update, use the "-B" flag.
% Information related to '46.166.139.0 - 46.166.139.255'
% Abuse contact for '46.166.139.0 - 46.166.139.255' is 'abuse@nforce.com'
inetnum: 46.166.139.0 - 46.166.139.255
netname: NFORCE_ENTERTAINMENT
descr: Serverhosting
org: ORG-NE3-RIPE
country: NL
admin-c: NFAR
tech-c: NFTR
status: ASSIGNED PA
mnt-by: MNT-NFORCE
mnt-lower: MNT-NFORCE
mnt-routes: MNT-NFORCE
created: 2015-06-05T22:10:53Z
last-modified: 2015-06-05T22:10:53Z
source: RIPE # Filtered
remarks: INFRA-AW
organisation: ORG-NE3-RIPE
org-name: NForce Entertainment B.V.
org-type: LIR
address: Postbus 1142
address: 4700BC
address: Roosendaal
address: NETHERLANDS
phone: +31206919299
fax-no: +31206919409
abuse-mailbox: abuse@nforce.com
admin-c: PT3315-RIPE
admin-c: JVDM119-RIPE
admin-c: JH24522-RIPE
admin-c: DI1505-RIPE
admin-c: NFAR
tech-c: NFTR
mnt-ref: MNT-NFORCE
mnt-ref: RIPE-NCC-HM-MNT
mnt-ref: MNT-NFORCE
mnt-by: RIPE-NCC-HM-MNT
abuse-c: NFAB
created: 2007-06-19T08:39:06Z
last-modified: 2015-03-27T11:27:05Z
source: RIPE # Filtered

person: NFOrce Entertainment BV - Administrative role account
address: Postbus 1142
address: 4700BC Roosendaal
address: The Netherlands
phone: +31 (0)206919299
fax-no: +31 (0)206919409
abuse-mailbox: abuse@nforce.com
nic-hdl: NFAR
mnt-by: MNT-NFORCE
created: 2010-11-13T14:42:50Z
last-modified: 2013-05-15T07:49:25Z
source: RIPE # Filtered

person: NFOrce Entertainment BV - Technical role account
address: Postbus 1142
address: 4700BC Roosendaal
address: The Netherlands
phone: +31 (0)206919299
fax-no: +31 (0)206919409
abuse-mailbox: abuse@nforce.com
nic-hdl: NFTR
mnt-by: MNT-NFORCE
created: 2010-11-13T14:43:05Z
last-modified: 2013-05-15T07:50:27Z
source: RIPE # Filtered

% Information related to '46.166.136.0/21AS43350'
route: 46.166.136.0/21
descr: NFOrce Entertainment BV - route 46.166.136.0/21
origin: AS43350
mnt-by: MNT-NFORCE
created: 2014-10-10T12:35:38Z
last-modified: 2014-10-10T12:35:38Z
source: RIPE
% This query was served by the RIPE Database Query Service version 1.86 (DB-2)

サーバーはオランダにあるNForce Entertainment B.V.って会社のようです。
サーバー自体は普通のホスティングサーバーなのでアビューズ報告もダメでしょうし、archive.isに割り当てられたIP一覧も答えてくれないでしょう。

とりあえず今回はarchive.isのIPアドレスを含む46.166.136.0/21をブロックする事に。
NForce Entertainment B.V.の全IPアドレスはこちら:http://ipinfo.io/AS43350

続きを読む

Creative プロダクト レジストレーションの削除

2008年に買った Sound Blaster X-Fi Titanium Professional Audioがお亡くなりになったので、ドライバーや制御ソフトをアンインストールしていたら「Creative プロダクト レジストレーション」ってソフトだけが残っちゃいました。
登録情報エントリを見ても登録されておらず、Program Filesのプログラムフォルダにはアンインストーラーも存在しない状態。

Creativeのサポートに連絡したところ1時間ほどの連絡の末「手動で対象フォルダを削除してくれ」と言うことでした。
どうもCreativeはプロダクト レジストレーションのアンインストールは想定していないようで、対応も不明点が多かったので自分で対象フォルダを調べてみる。
対象フォルダは「C:\Program Files (x86)\Creative」
「Creative」フォルダ
中を見てみるとSFBM、Shared Files、プロダクト レジストレーションのフォルダが。
Shared Filesの中にはCTRegSvr.exeを始めAudio.pid等のファイルがあり、PIDファイルの中身は全てPID pluginってDLLファイルでした。
regsvr32にかけてみたけれど登録はされていないよう。

プロダクト レジストレーションフォルダを開くとJapaneseフォルダ、CtCrypto.dll、CtORWebClient.ocxがありました。
「プロダクト レジストレーション」フォルダ
CtORWebClient.ocxはIEのActiveXプラグインなのでファイル削除だけでは完全にアンインストール不可能。
管理権限のあるコマンドプロンプトで「regsvr32 /u CtORWebClient.ocx」を実行。
regsvr32 /u CtORWebClient.ocx
これでCtORWebClient.ocxアンインストール完了
CtCrypto.dllは専用のDLLではないとの表記がでるのでそのままでOK。

Japaneseフォルダの中身は登録するためのプログラム本体がある場所のよう。
「プロダクト レジストレーション/Japanese」フォルダ
ショートカットは同フォルダのInetReg.exeへ引数/PreProcess=RegFlash.exeを付け加えた物でした。
iniを見ても特になにもなかったし他に登録されている物もないので、ここで何かをする事は必要なさそう。

あとは「C:\Program Files (x86)\Creative」、「C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Creative」を削除して終了。
Google Updateもそうだけど関連ソフトが全部アンインストールされたら一緒にアンインストールされるようにして欲しいところ。