スパム (spam) とは受信者の意向を無視して、無差別かつ大量に一括してばらまかれる、各種ネットメディアにおけるメッセージのことである。(Wikipediaによる)
1995年末にWindows 95 パソコンを購入し、それ以来メールを使用している。当初は、メールアドレスを持っていることが自慢で、あちこちでメールアドレスを記入する欄があるとメールアドレスを記入していた。
そのうち、メールアドレスを公開するとスパムメールが入ってくることを知ったので、それ以来メールアドレスは出来る限り公開しないようにした。しかし、例えば、日経新聞のページを読むには、メールアドレスの連絡が必要なので、それを行ったところスパムメールが多数入るようになった。原因は、メールアドレス連絡ページが、暗号化されていなかったためである。現在は、暗号化されているが、それ以来、暗号化されていないhttp:// の画面では絶対にメールアドレスの連絡はしないようにし、メールアドレスの連絡が必要なときは、画面が暗号化された https:// であることを必ず確認するようにした。これを守っているとスパムメールは、ほとんど入ってこなかった。
ところが、数年前、外国製のあるソフトが必要になりダウンロードするには、メールアドレスの連絡が必要だった。1回ぐらいはよいかと思って連絡したところ、途端に英文のスパムメールが沢山入ってくるようになった。2017/5現在、英文スパムメールは、30〜70件/日、和文スパムメールは、2〜3件/日である。ただし、スパムメール対策を行い実際に受信するメールは、和文1件/日程度で、他のスパムメールはすべて「ゴミ箱」へ行っている。
一般にスパムメールは、インターネット・サービス・プロバイダがスパムメールの疑いのあるものを選別し、それを「ごみ箱」へ送るようにしているようだ。筆者は、他人に分別してもらうのは、嫌なので自分で分別している。
筆者は、Windows 付属のメールソフトは、使わないで、Becky! といシェアウエアのメールソフトを使用してる。Windows 付属のメールソフトは無料であるが、煩雑で使い悪い。
Becky! には、「フィルタリングマネジャー」というのがあり、いろいろな条件を設定してスパムメールをゴミ箱送りすることができる。それぞれの具体的な説明は省略するが、ここでは、英文スパムメール対策を取り上げて説明する。
英文は、すべて1バイト文字であるから2バイト文字がないときは、ゴミ箱へ送るようにすればよいが、Chinaから漢字で送られてきたら防げない。
それならば、文面に平仮名がないとき、ゴミ箱へ送るようにすればよい。Becky!は、これが簡単に設定できるようになっている。上の画面を見ていただきたい。本文に正規表現の[あ-ん](あ から ん の文字)がないとき、ゴミ箱へ送るのである。この設定では英文でなくても平仮名がないときは、ゴミ箱送りとなる。例えば、「御手数多謝」とか、写真を添付して「写真添付」などと記載されるとゴミ箱行きとなるので、ゴミ箱は、時々チェックする必要がある。
上の対策で英文スパムメールは、100%ゴミ箱送りができるが、問題は、ウイルスである。英文スパムメールには、トロイの木馬ウイルスが、10件/週程度入って来ている。OCNとは、200円/月を支払ってウイルスチェックをしてもらっているが、これがいい加減でほとんど捕捉していないのである。OCNに問合せるとウイルスバスターを使っているというが、捕捉して連絡をくれるのは、せいぜい月に1件程度である。
当方は、Nod32 をインストールしているが、10件/週程度捕捉しており、ほとんどがトロイの木馬である。OCNにウイルス名などの情報を連絡しトレンドマイクロに文句を言えとメールすると、ウイルスが付いたファイルを送ってもらわないと何もできないという。とんでもない返事で怒り心頭に達している。
現在は、Nod32がせっせとウイルスを捕捉してくれているが、捕捉できなかったウイルスで被害を被ることが考えられる。なので、非常に大変であるが、できるだけ早い時期にメールアドレスの変更を考えている。
掲示板のスパム投稿は、全世界のコンピュータ管理者の悩みの種である。掲示板を設置すると数日でいろいろな書き込みが入ってくる。多いときは、数百件以上が入ってくる。
筆者は、ホームページ開設以来、ゲストブックを設置して来たが、昔はスパム投稿は少なかった。2015/11/27に、KENTさんのcom board から askaに切り換えた(下図参照)。
ところが、1週間もすると毎日のように商品宣伝の書き込みがあり、毎日消すのは面倒なので、しばらく中止していた。2017/5/13、状況はどうだろうかと思って再開したところ、約2週間後の5/30 の 1:16 から 7:24 までに29件のスパム投稿があった。最初の1件を下図(投稿内容をメールで受信した画面である)に示すが、文字コードが違うようで文字化けしている。28件すべて同じような状況であった。
このゲストブックには、自動投稿できないように画像数字を入力するようになっているが、実際に手で打ち込んだだろうか。それとも、OCRで読み取り自動入力したのだろうか。文字化けしていも投稿しているので、どうやらOCRで読み取っているようだ。ならば、この画像数字は、全く適用不適格である。
ホスト名から所在地を検索するとウクライナだった。ウクライナはキリル文字を使っているので、キリル文字で打ち込んだのだろうか。全件を調べてみると、ウクライナ28件、アメリカのテキサス1件だった。文字化けしていてももどんどん送って来ているので自動投稿と考えられる。30日の朝、気が付いたのでよかったが、放置していたら数百件になっていたと思う。
このゲストブックは、KENTさんのaska.cgi を使っていたので、パスは、aska/aska.cgi としていたが、直ちに kyakuma/aska.cgi に変更し継続投稿を防止した。
掲示板スパム投稿は、実際の掲示板にアクセスしてアドレスを読み取るということはしないで、ロボットを使って自動検索し掲示板のアドレスを入手しているようだ。よって、掲示板スパム投稿を防ぐには、下記の3件を満足する必要がある。
実は、高校同期のホームページにKENTさんの Com board を使用していたが、名前は、「松高廊下」とし、cgi名は、KENTさんの combbs.cgi としないで、hakki.cgi とし、URLは、Javascriptを使って分割していた。このためだと思う11年間スパム投稿は完全にゼロだった。
高校同期のホームページだと「松高廊下」で同窓生にはわかるが、筆者のゲストブックは、そのような名前は付けられない。いろいろ考えた末、「ご意見/ご感想」とすることにした。CGIは、KENTさんの aska.cgi であるが、kyakuma.cgi にフィル名を変更し、URLは、Javascriptで分割した。
以上の対策でOKだろうか。いやいやダメである。URLが知られたら5/30のようなスパム投稿は防止できない。そもそもaska.cgiには、メッセージ欄に日本語がないときは、拒否することができるよう作られている。日本語なしは、平仮名、カタカナ、漢字がないときという条件になっているので、5/30のような漢字が入っていると拒否されない。
そこで、Becky!メールソフトのように平仮名がないときは拒否する設定に変更すべきと考えた。いろいろ勉強しCGIの中を下図のように変更した。
これでやることはやったと言える。防げないのは、実際に掲示板にアクセスして投稿される場合である。この場合は、禁句設定、該当IPアドレスの拒否などあるが、これらを設定しても先方は、すぐに変更してくるので、完全防止は困難である。
しばらくは、これで様子を見ることにする。
追記:
ウクライナの28件のIPアドレスを調査したところ、すべて 91.200.12.* だったので、このIPアドレスの前方一致で拒否するように設定した。