- 締切済み
迷惑メール防止法ってどうなんでしょう?
僕はプライベートと仕事用に複数メールアドレスをもっていますが、どちらにも毎日大量の迷惑メールがきます。 仕事上、複数名で共有しているメールアドレスもあるのですが、英文のものや日本語のものなど様々です。 特に、卑猥な言葉を件名にしてくるバカな業者もけっこうあり、なるべく他の人の目に触れないように削除しています。 メールソフトのフィルタ機能もあまりにも多く設定すると誤動作し、必要なメールまで削除してしまう始末です。プロバイダのフィルタは有料だし、こういうことで労力を使うのはもったいないです。はっきりいって業務妨害だと思います。 迷惑メール防止法などあってもないのといっしょですよね?もっと積極的な活動をしているのでしょうか? みなさんのところもたくさん来ますよね?迷惑メール。 どのように日々対処されていますでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Jun Tama(@bkd72584)
- ベストアンサー率14% (1/7)
東北の大震災で携帯電話の通信が混乱している状況下で、 「お知らせです」という件名で全キャリア対応とのことで、 クリックすると悪質なサイトにつながるメールが届きました。 これは決して許されることではありません。 以下から届くメールアドレスに注意してください。 @w-united.jp から届く携帯メールは開かないようにしてください。
- 春原 なの(@ymda)
- ベストアンサー率37% (668/1777)
#1です。 いきなりスクリプトを記述してしまいましたが、 これは、「いかに通信をしないで迷惑メールかどうかを判断する」かのものです。 現状では、ログを取得するために、プロトコルレベルでは通信をしているのですが、事実上は すぐに拒否することも可能なようにできています。 参考までに、#1のリストでブラックリスト入りをすると・・ Unknown User 扱い 以後、そのIPからの通信を遮断 という扱いになっています。
- sinobu_wednesday
- ベストアンサー率54% (701/1296)
迷惑メール防止のための対策が難航している最大の理由は、メールが「通信」であるという一点に依ります。つまり、プロバイダは憲法に規定された「通信の秘密」を守らねばなりませんから、あるメールが迷惑メールなのかそうではないのかをプロバイダは決定することが出来ず(迷惑メールなのかどうなのかを決定するためには中身を見ないといけないため)、また、迷惑メールを送る業者に対して「あんたのやってることはみんなの迷惑だからやめてくれ」ということも出来ない、という訳です(業者に「何を根拠にそんなことを言うんだ?」と反論されたら、「だってお前は○時○分に○○人に対して迷惑メールを送っただろう?」という証拠を出さなければなりませんが、その証拠を出す行為そのものが通信の秘密を侵害している証拠になってしまうため)。 よって、迷惑メール対策は、メールの中身を見ることなく行わなくてはいけません。それがプロバイダに科せられた課題であるのですが、この課題がかなりの難問であり、今までプロバイダは有効な手段を見つけ出せずにいました。 例えば差出人のメールアドレスによってフィルターをすることは、フィルターを設定するのが受信者自身であれば通信の秘密を阻害しません。つまり、受信者は通信を開ける(メールを開封する)正当な権利があるのですから、その利用者には「○○という単語の含まれたメールは見たくないから削除しろ」と設定をする権利はある訳です。しかし、そのような設定を出来るスキルのある利用者ばかりではありませんから、迷惑メール業者はそのようなスキルのない(つまりプロバイダのページに行ってNGワードを設定するようなことが出来ない)利用者をターゲットに迷惑メールをばらまく行為を止めません。 最近、いくつかのプロバイダで導入が始まった学習型フィルター(ベイジアンフィルターとも言われる)を採用した迷惑メール対策サービスにおいても、「これは迷惑メールだ」という学習は、あくまで利用者が行わなくてはいけません。プロバイダが「予め代表的な迷惑メールについて学習をさせて、あなた宛の迷惑メールをゴミ箱に入れておくような設定にしておきました」というのは憲法違反となります。よって、そのようなサービスを契約して迷惑メールを学習させられるスキルのある利用者は大丈夫なのですが、そうでない利用者がまだまだ多いため、迷惑メール業者にとって旨みは減らない(迷惑メール送信によって巨額なお金を稼げる)というわけです。 迷惑メール防止法がザル法であるのもこれが原因です。迷惑メール防止法は、メール送信業者に対し「自分が送っているのが特定電子メール(つまり迷惑メール)であることを受信者に分かるようにしろ」と求めていますが、それを第三者がチェックすることが出来ません(ある人物がチェックするとすれば、その人物は通信の秘密を守らない憲法違反の容疑者ということになります)。よってすべては受信者による申告ということになりますが、全体の利用者がそのようなスキルを持っていない以上、受信者の申告をベースに迷惑メール対策を徹底することは不可能なのです。 この難問に対し、世界のインターネットプロバイダはMAAWG(Messaging Anti-Abuse Working Group)、日本のインターネットプロバイダはJEAG(Japan E-mail Anti-abuse Group)などの迷惑メール対策のための団体設立し、技術的にどう解決するかを話し合っています。 MAAWG http://www.maawg.org/home/ JEAG http://www.iij.ad.jp/pressrelease/2005/0315.html 今現在、どのような対策が取られようとしているかというと、本来あるべきドメイン以外からのメール送信を妨げようという方策があげられます。 現在のインターネットメールでは、メールの送信者名は自称に過ぎず、本当の送信者名や送信者アドレスを記載する必要はありません。よって、迷惑メール業者の大多数は架空の送信者名をでっち上げ、好き放題メールを送っています。まず、このあたりをチェックし、アドレスを偽装していたりあるべきメールサーバを経由しないで送られてきたメールを「怪しいメールである可能性が高い」メールであるとして、受信者に注意を促す(ヘッダに特定の文字列を埋め込む)、あるいは受信をそもそも拒否するというものです。この対策は、メールのヘッダのチェックのみによって迷惑メールの可能性をチェックしますから、メールの本文を開けない=通信の秘密の侵害のリスクを最小限に出来るというメリットがあります。 利用者は、ヘッダの特定の文字列の有無をチェックすることで効率的に「怪しいメール」をゴミ箱に捨てることが可能となりますし、受信拒否にまで対策が進展すれば、ヘッダなどの情報を用いてメールをフィルタ出来ると言うことを知らない利用者も「迷惑メールを減らす」という恩恵を享受できるようになるでしょう。 これらの対策は、日本の迷惑メール対策について先進的なプロバイダでは年内から順次導入されていくものと思われます。 繰り返しになりますが、迷惑メールについては「通信の秘密」という壁があるため、「そのようなメールを送ることを取り締まる」といった抜本的な対策は取ることは難しいです。よって、迷惑メール対策として出来ることは、迷惑メールを送信するという行為について、迷惑メール送信業者のリスクを高めること(偽名で送信できないようにする、など)、および迷惑メール送信によって得られる利益を小さくすること(多くのインターネット利用者に迷惑メールを目にしないで済む方法を提供すること)によって、迷惑メールを送信するという行為が「割に合わない」と認識させ、もっと別な仕事を生業にしようと迷惑メール送信業者に思わせることしかありません。 現在、迷惑メール送信行為によって、その種の業者の一部は巨額の利益を得ていると言われています。その利益がある限り、彼らは迷惑メールを送信する行為を止めないでしょう。まず、その利益を得にくくすること、およびその利益を得るために彼らが払わなくてはいけないリスクを大きくすることで、「迷惑メール送信は割に合わないなあ」と思わせることしか出来ないのですね。 日本の技術者も迷惑メール対策という難問に対し、日々、努力を続けています。もう少しすれば、迷惑メール対策にも新しい流れが出来ると思いますので、お待ちください。 また、迷惑メールに興味を持ち、そのメール中のリンクをクリックするという行為は、回り回ってそのような業者の巨額の利益の一端になるという認識を一人でも多くのインターネット利用が持つ、ということも大事なことだと思います。 長文失礼。
- 春原 なの(@ymda)
- ベストアンサー率37% (668/1777)
数日前から、テストで動かしているのですが DJB氏のucspi-tcp + qmail において、以下のフィルタルールを使っています 現在のところ、MLに投稿されてしまった迷惑メール以外は、全部 きれいにはじいています。 p.s.この動作を元に、whiosをして、自動的に管理者宛にメール通知を するなんてことも考えてはいたりもしていたような・・・ #!/usr/bin/perl # IPをとりあえず分割 ($ip1,$ip2,$ip3,$ip4)=split(/\./,$ENV{TCPREMOTEIP}); # まず、許可とする。 $ok=1; # 拒否リスト(ブラックリスト) $ok=0 if($ENV{TCPREMOTEHOST} eq ''); $ok=0 if($ENV{TCPREMOTEHOST}=~/[0-9][0-9][0-9][0-9]/); $ok=0 if($ENV{TCPREMOTEHOST}=~/dhcp/); $ok=0 if($ENV{TCPREMOTEHOST}=~/ppp/); $ok=0 if($ENV{TCPREMOTEHOST}=~/dsl/); $ok=0 if($ENV{TCPREMOTEHOST}=~/ftth/); $ok=0 if($ENV{TCPREMOTEHOST}=~/nttpc/); $ok=0 if($ENV{TCPREMOTEHOST}=~/cable/); $ok=0 if($ENV{TCPREMOTEHOST}=~/catv/); $ok=0 if($ENV{TCPREMOTEHOST}=~/yournet/); $ok=0 if($ENV{TCPREMOTEHOST}=~/combzmail/); $ok=0 if($ENV{TCPREMOTEHOST}=~/rairaiken/); $ok=0 if($ENV{TCPREMOTEHOST}=~/\.qsv/); $ok=0 if($ENV{TCPREMOTEHOST}=~/$ip1.?$ip2.?$ip3.?$ip4/); $ok=0 if($ENV{TCPREMOTEHOST}=~/$ip4.?$ip3.?$ip2.?$ip1/); # 許可リスト(ホワイトリスト) $ok=1 if($ENV{TCPREMOTEIP} eq '211.10.155.53'); #bugzilla-jp $ok=1 if($ENV{TCPREMOTEHOST}=~/yahoo/); $ok=1 if($ENV{TCPREMOTEHOST}=~/hotmail/); $ok=1 if($ENV{TCPREMOTEHOST}=~/docomo/); ご参考までに、SMTPのプロトコルエミュレーションとして・・・ if($ok eq 0) { $|=1; print "220 ESMTP\r\n"; while($rd=<STDIN>) { $rd=~s/\r//g; $rd=~s/\n//g; $log.="$rd\n"; if($rd=~/^[HhEe][EeHh][RrLl][Oo]/) { print "250 HELLO\r\n"; next; } if($rd=~/^[Rr][Cc][Pp][Tt]/) { print "550 Unknown User\r\n"; next; } if($rd=~/^[Dd][Aa][Tt][Aa]/) { print "221 byebye...\r\n"; last; } if($rd=~/^[Qq][Uu][Ii][Tt]/) { print "221 byebye...\r\n"; last; } print "250 Ok\r\n"; } $ps=""; }