セキュリティ一覧

ハードディスクを吹っ飛ばしました(その2)

 さて、復旧ソフトを手当たり次第にダウンロードしたらマルウェアの嵐です。どれにどれがくっついてきたのかはいまさらわかりません。とにかく焦ってましたんで。大手のソフトだと、たとえばフラッシュなんかでも余計なもの落とさせようとしますけど、「チェックを外せば」入りませんよね。海外の日本語じゃないとこだとそれが逆のところもあります。入れないためにはチェックを入れるという。英語でずらずらと書いてあるんで、わかるときはわかるけど、わからないんですよね。さらにチェックボックス無しで勝手に一緒に入り込むのもあります。あるいは、ダウンロード先に進むとダウンロードボタンがいっぱいあって、どれが目的のかわかりずらいのもあるし、わざとなのか一番それっぽいのがマルウェアのだったりすることも。一応全部覚悟の上でやりました。あとでなんとかすればいいと。

で、事後処理。
 コントロールパネルから普通にアンインストールできるものもあります。
 プログラムフォルダにフォルダができてアンインストーラーが入ってるのもあります。
 それはまあ普通に消せますよね。

 ブラウザを立ち上げるとツールバーになってたり、アドオンになってたりするのもあります。ブラウザのホームページを書き換えてるのもある。ホームページは再設定。アドオンは各ブラウザのアドオン管理あたりで削除したりします。

 私は SpyBot ってのをかなり昔から愛用してまして、これでほとんどマルウェアは削除できます。使い方は「Spybotのインストール方法」を見ればわかると思います。追跡型のクッキーもこれで発見出来ますけど、クッキーは気にしない。広告なんかけっこう便利だなとか思ってますし(笑)

 ここまででも削除できないしつこいのがあります。「BaiduBar」。中国の百度です。こいつはしつこいし、しかも入り込むときに声を掛けてこない。こいつを削除するには Windows をセーフモードで立ち上げて SpyBot を使います。セーフモードで立ち上げるのはWin7まではF8を押しながら再起動だったですが、Win8はそれができません。「Windows8のセーフモード起動方法・PC復旧方法」で確認してください。ファイル名を指定して実行に「shutdown /r /o /t 0」と打ち込むのがなにげに手早くて便利です。

 まだあります。「conduit」ってのが恐ろしいくらいしつこいです。痕跡をすべてつぶしたはずなのに C:\Program Files(C:\Program Files (x86) だったかも)に「conduit」が残ってます。フォルダ名を換えて、たとえば conduitXX とかにして、再起動すると dll がないって窓がでます。つまり起動時に読み込んで常駐しようとしてる。でも、スタートフォルダはもちろん、タスクマネージャを見ても、出てきません。起動時にこいつを読み込んでる箇所が見つかりません。でも、こいつを読み込むと起動がかなり遅くなる上に、タイミングは不定なんですがデスクトップで作業してるときに画面表示が一瞬クリアされて開けてたフォルダが勝手に閉じられてしまいます。これのためと確証があるわけじゃないんですが、退治したらどちらも解消したのでこいつのせいだと思ってます。

 退治方法はオンライン検索して出てきた方法では完全に削除できなかったので、レジストリを見てあったら削除してみることに。regedit を起動し最初に現状をエクスポートしてから、編集→検索「キー、値、データ」全部にチェックを入れて conduit を検索。キーの場合はそのまま削除。値やデータならそこだけ削除。ちょっと怖いですけど他に方法が見つかりませんでした。同じはめになったら自己責任でやってくださいね。先にレジストリのエクスポートをお忘れなく。

 削除したあと再起動したらdllが見つからないという窓が出なくなりましたので、たぶんこれでいいんでしょう。二度と引っかからないようにしよう。


Gmailの使い方、おさらい

 以前書いたのを読み返してみたら、その後違うことに気がついて使い方を変えたのに書いたそのまんま放り出してあるのに気がついたので、焦って「おさらい」です(笑)

 使い方を変えた部分だけ書けば短いんだけど、検索で入ってくる人が古いのだけを読んじゃったりするんで、全面的に書き換えないといけないのかな。でもエントリーを削除すると Google 様を筆頭に検索ロボットってのが、「存在しなくなったエントリー」をいつまでもいつまでもしつこく読みに来てうるさいんで、過去のエントリーは消さずに、こっちへのリンクを追加しておきます。

 何を変えたか。

 「PCメールサーバーに届いたメールをサーバーの設定で Gmail に転送する」

 その部分。えらい勘違いをしてました。転送などする必要なかったんです。私、PCに来たメールを「いつものメーラーで一回開かないと(読み込まないと) Gmail に入らない」と思い込んでました。Gmail の pop やら imap やらで読んでくるのはPCメーラーと連携してるんであって、メールサーバーを読みに行くんだとは思わなかったんです。

 そういうわけで、PCのメールアドレスあてに届いたメールをサーバー上で Gmail に転送する設定なんかしないでも、そしてメーラーを起動などしないでも、PCメアドあてに来たメールはちゃんと Gmail で読めます。

 ということで、いままでのメールアカウントをそのまま Gmail で使う方法

 基本部分は以前書いた「新時代のスパムメール撃退法:Gmail を利用する」「すっかり Gmail 党になってしまった」と一部ダブります。

 ブラウザで Gmail に入り、「設定」から「メール転送と POP/IMAP」に入ります。転送設定はご自由に。popダウンロードは「しない」。「IMAP を有効に」します。

IMAP とは何ですか。
IMAP (Internet Message Access Protocol) を使用して、Gmail サーバーからコンピュータにメッセージをダウンロードしておくと、インターネットに接続しなくても Microsoft Outlook Express や Apple Mail などのアプリケーションでメールを閲覧できるようになります。
IMAP により、メール クライアント (デスクトップやモバイル) と Gmail が常時接続されます。

IMAP と POP の違いは何ですか。
IMAP では、POP とは異なり、ウェブ Gmail とメール クライアントとの間で双方向の通信が可能です。 つまり、ウェブブラウザを使用して Gmail にログインしているとき、メール クライアントや携帯端末で実行した操作 (例: “work” フォルダへのメールの移動) は、即座に Gmail で自動的に表示されます (例: そのメールに “work” ラベルが付けられます)。
IMAP は、複数の端末からメールにアクセスするのにも便利です。 メールを職場で確認し、携帯電話で確認し、帰宅してからもう一度確認する場合は、IMAP を使用すると、いつでもどの端末からでも新着メールにアクセスすることができます。
また、IMAP は動作がより安定しています。 POP ではメッセージが紛失したり、同じメッセージが何度もダウンロードされることがありますが、IMAP ではメール クライアントとウェブ Gmail との間の双方向の同期機能により、これらの問題を回避することができます。
Gmail アカウントで POP と IMAP のどちらを使用するか迷っている場合は、IMAP をお勧めします。

 「設定手順」をクリックすると「サポートされている IMAP クライアントのリスト」ページに入り、各メーラーの具体的な説明を読めます。具体的に一行ずつ手順が書かれてるので「そのとおりに」進めていきます。

 ここまでは手順に書かれてるとおりです。

 上記までで動いてしまうので「推奨される IMAP クライアントの設定」、この設定をうっかりすると見落とします。
 先ほどの「サポートされている IMAP クライアントのリスト」の上、「Google ヘルプ > Gmail ヘルプ > Gmail へのその他のアクセス方法 > IMAP > サポートされている IMAP クライアントのリスト 」となってるところの IMAP をクリックします。真ん中の「詳細」となってる列の真ん中辺に「推奨される IMAP クライアントの設定」はあります。そこで説明されてるとおりに設定して下さい。ここは設定しなくても動きますが、Google 側が「Gmail を最適な動作で利用するには、特定の設定を推奨します」と言ってるので聞いてあげましょう(^_^)

 最後に Gmail の「設定」から「アカウントとインポート」に入り、「POP3 を使用したメッセージの確認:」にお使いのメールアドレスが登録されているか確認して下さい。登録されてなかったら「POP3 のメールアカウントを追加」ボタンで追加できます。

 これで基本的な部分はおしまい。いつものメーラから自分宛に一通送ってみて下さい。Gmail に着信し読み出せるはずです。ただし、メールサーバ-に着信すると同時に能動的に転送する設定にしていればタイムラグ無しに Gmail 側に着信しますが、IPOP 等で同期させていると若干タイムラグがあります。着信をリアルタイムに関知するわけではなく、一定間隔でサーバーに問い合わせているからでしょうね。メールが来てるはずなのに Gmail に着信がないとき、Gmail の「設定」から「アカウントとインポート」に入り、「POP3 を使用したメッセージの確認:」から「メールを今すぐ確認する」をクリックすることで強制的に確認できます(思いの外時間かかりますが)。普通は放っておけばいつの間にか Gmail 側で確認できるようになってます。

 これで「いつものメールアドレスあてに来たメールを Gmail で読み出す」のはOKですが、これだけじゃメールの送信で困ります。送信メールも Gmail を利用して「いつものメールアドレスを送信者に使いたい」ですよね。

 Gmail からの送信メールをいつものメールアドレスを送信者とするには次のようにします。

 「アカウントとインポート」の「名前」に Gmail のメールアドレスが記載されてると思いますが、「別のアドレスからメッセージを送信」ボタンをクリックし、使いたいメールアドレスを追加登録します。架空のアドレスや他人のアドレス使用を防ぐため、登録したアドレスに確認メールが行きますから、その指示に従って設定を続行します。終わると名前が複数になりますので、どちらをデフォルトにするか設定します。デフォルトにしなかったほうも実際にメールを送信するときに選択できます。選択するときの初期値の設定です。

 これで全面的に Gmail を使うにもかかわらず、相手方には旧来のメールアドレスだけ教えてあればOKだし、送信するときもいつものメールアドレスから送信したようになります。注意点としては、届いた側からすると「送信者詐称」に引っかかって迷惑メール分類されてしまう可能性もゼロではないこと。ごく初期のころの Gmail は他のフリーメールと同じように迷惑メール業者もあったので、Gmail 自体を蹴ってしまう迷惑メールチェッカーもいまだにあるかもしれません。私は一日数百通の迷惑メールを受けますが、発信元が Gmail なのは一通もないです。Google の管理が厳しいんだと思います。

 仕事のメールだとそこらも気をつけないと大事なメールが相手に届かないなんてことも出てくるかも知れませんが、初めて出す相手だとこちらがどんなアカウントから送信しようと弾かれるときは弾かれるんで、気にしなくてもいいかもです。これは逆も言えます。初めてメールでやりとりする取引先などは迷惑メールホルダを何度も何度も確認しないと怖いですね。


.htaccess でのアクセス制御(IE6 関連)

 かなり納得のいく設定ができました。これまで「見よう見まね」で他のサイトに載ってる方法を利用しつつ「たぶんこれはこういうこと」と少しいじったりして調整してきたわけです。ブログ開くまではコメントスパムなど気にしてませんでしたし、.htaccess といえばBasic認証くらいでしか使ったこと無かったですから。

 でも「見よう見まね」で上っ面だけマネしたんでは行き詰まるのは必至。しっかりと学習しました。

1:コメントスパムの大半は IE5~6 を使ってるのでそれらでのアクセスは拒否。
2:しかし、業者ではない IE6 ユーザーからのアクセスは受け入れる。
3:さらに、上記で拒否できないコメントスパムは個別に deny で拒否登録。

 その三点について、なんとかなった気配。久しぶりにプログラミングにはまったような感触です。

 .httaccess でアクセス制御する場合に、冒頭で「Order allow,deny」「Order deny,allow」などと書きます。これの意味をよくわかってませんでした。どう違うの?って思ってました。

 allow 指定(許可)と deny 指定(拒否)、両方にマッチしたときにどちらを優先するのかの指定のようです。「Order allow,deny」を指定すると allow(許可) 優先。「Order deny,allow」は denny(拒否)優先。そしてそれぞれデフォルトで Order allow,deny ならその設定だけで「全部を拒否」したことになり、deny,allow なら「全部を許可」となる。

 でもこの設定の次行にどこの説明でもほぼ必ず allow from all とか書いてます。全部を許可するなら order で deny,allow とすればいいのに。と思いません?

 そこがミソ。こまかくアクセス制限をかけるために allow と deny を複数行書くことになりますが、普通のプログラムで多用する条件分岐ってのができません。allow と deny 、どちらを優先するのか決めておくことでうまいこと条件分岐みたいな仕事をさせるわけです。

 ブラックリストとホワイトリストみたいな考え方ね。すべてを許可しておいて拒否する物を指定していく「ブラックリスト」で、それにマッチしても部分的に許可したい使い方の時は allow 優先のほうが条件分けしやすいんです。でも allow 優先にすると全部拒否が初期値。ってことでわざわざすべてを許可する指定を書くってわけです。

 この優先の意味が説明サイト読んでもわかりにくいです。結局、サーバーソフトの Apache.org までたどりつき、各ディレクティブの説明読んでやっと理解できました(できたつもり、なだけかも)。

 現在ウチで使ってる .htaccess 内のアクセス制御部分は以下のようなものになってます。かなり小さくまとまりました。deny from にIP羅列してたときはすごい量だったです。.htaccess は毎回必ず全行参照するそうなので、短い方がサーバに負担かからないでいいかなと思うんですけど、どうなんでしょうね。

order allow,deny
allow from all

SetEnvIfNoCase User-Agent “(MSIE [3456]\.[0-9])” Kyohi
SetEnvIfNoCase User-Agent “(MSIE [789]\.[0-9]|TweetmemeBot|Lunascape|Sleipnir)” !Kyohi
SetEnvIfNoCase User-Agent “(Commerce|Baidu|sogou|YodaoBot|zh-TW)” Kyohi

allow from .jp

Deny from env=Kyohi
deny from .serverloft.com
deny from .elaninet.com

 いまのところその設定で気持ちよく、.jp ドメインからのアクセスは UserAgent に関係なく全部許可され、.jp ドメイン以外からのアクセスは IE3~6 までと、Commerce,Baidu,sogou,YodaoBot,zh-TW のものは拒否。さらにその条件から外れる(Agent で特定できない)けどスパムを書き込んだドメインを deny で拒否(現在のところ二つ)。環境変数のところは一行にまとめられますが、一行が長くなると見通しが悪くなるのと、将来ここに記述するのが増えたときのことを考えて複数行にわけてます。

 UserAgent での拒否のウチ、クローラーである Baidu 他いくつかは robots.txt で弾くのが普通なんでしょうが、Baidu(百度)は公式サイトに載ってる数種のクローラーを全部登録しても robots.txt を読まずに一時間に一回入ってくるのがあります。気持ち悪いから全面的に拒否です。UserAgent に正直に名乗ってるところはかわいげがあるかもしれません。ウィルスバスターは名乗りません。が、逆引きホスト名設定無し、生IPのみの IE6 なので上記の設定で一緒に拒否できてます。

 いつまでも IE6 のままじゃないだろうし、Agent での指定は脆いってのも、そのうちこの設定じゃ拒否できなくなっていくのも、わかってるけど、そのときはそのときでまた楽しもうと思ってます。