情報処理安全確保支援士(情報セキュリティスペシャリスト)試験に合格するためのサイトです。
過去問を多数引用しながら、基礎知識をしっかり学んでもらうように作ってあります。
また、情報処理安全確保支援士(情報セキュリティスペシャリスト)を楽しく学べるように工夫したいと思います。
カテゴリ:

10.クライアントセキュリティ > 10.3 SPAM対策

SPAMとは、SPAMと連呼するCMが名前の由来です。そのCMのように「しつこい」ことからSPAMメールと呼ぶようになりました。
 SPAMメール=迷惑メールという言葉と同義と考えてよいでしょう。
以下に、SPAMによる被害を整理します。

SPAMによる被害
・回線帯域の圧迫、サーバのキャパシティを使用
・メールの遅延
・セキュリティ被害(SPAMメールに埋め込まれたウイルスへの感染やフィッシング詐欺)
・対策コストの発生
・正常メールの見逃し

SPAMメールはほおっておいていいというものではありません。
業務であれば、明らかに業務効率が起きますし、ウイルス感染による情報漏えいの可能性もあります。対策をとるようにしましょう。
6b2fb508
SPAMメールがひどいと言う人がいますが、
そんなに来るんですか?
私のところには全く来ませんよ。



メールアドレスを公開していたり、ドメインの管理者はWHOISのデータベースに登録されているから、そういう人にはたくさんくる。
SPAMメールに関して、IPAのサイトより記述があるので引用する。
・メール全体に占めるスパムメールの割合は、調査方法によるばらつきがあるものの、おおよそ70%~95%程度
・多くのスパムメールがボットネットによって配信されている
・国内では大手携帯電話会社が相次いで、送信ドメイン認証の技術であるSPF(Sender Policy Framework)やSenderID に対応し、国内ドメインにおける同方式の普及率が大幅に向上した。(以下のサイトより引用http://www.ipa.go.jp/security/vuln/documents/10threats2008.pdf


迷惑メール対策にはいくつかの技術がある。主な対策を、以下に整理する。

対策箇所
解説対策技術例
(1)送信メールサーバユーザを認証することで、不正なメールを送らせない①SMTP-AUTH
②POP before SMTP
(2)プロバイダプロバイダ内で、不正なメール通信を拒否するOP25B
(3)受信メールサーバ送信者認証により、SPAMメールを受け取らない(a)ドメイン認証
 SPF、SenderID
(b)電子署名による認証
 DKIM、DomainKeys
(4)SPAM対策機メールのヘッダや本文を解析してSPAMメールをブロックするブラックリストなど


SPAM対策の全体像_情報セキュリティスペシャリスト試験

SPAM対策であったり、社内から不正にメールを送らせない仕組みとして、POP before SMTP や SMTP-AUTHがある。
次の問題を解いてみよう。
SMTPサーバに電子メールを送信する前に、電子メールを受信し、その際にパスワード認証が行われたクライアントのIPアドレスに対して、一定時間だけ電子メールの送信を許可する仕組みは何か。(H23SC春午前2問5参照)
メールのセキュリティ対策に関しては、いろいろな用語がある。午前はマークだからいいが、午後は記述式なので、きちんとスペルを含めて書けるようにしよう。
答えは「POP before SMTP」

クライアントがSMTPサーバにアクセスしたときに利用者認証を行い、許可された利用者だけから電子メールを受け付ける仕組みは何か。(H23SC春午前2問5参照)
さきほどと同様に、午後は記述式なので、きちんとスペルを含めて書けるようにしよう。
答えは「SMTP-AUTH」
AUTHはAuthentication(認証)のことである。

もう一問解いてみよう。
Y主任:まず,当社から送信される迷惑メールを止めなければなりません。迷惑メールの送信には,ポット自身がメール送信機能をもっていて,直接外部のメールサーバに送信する場合と,DMZ上のメールサーバを利用して送信する場合とがあります。
X君:前者に対しては,FWの制御ルールに,図3に示す新たな制御ルールを追加することにします。後者に対しては,メールサーバに[ b ]又は[ c ]のいずれかの方式を適用します。これらの対策は,PCに保存されているメールサーバのアカウント情報を盗用しないポットには有効です。
Y主任:[ b ]1方式には社内PCのメールソフトが対応していません。PCのメールソフトが対応していなくても利用できる[ c ]方式を適用してください。

設問2
(2)本文中の[ b ],[ c ]に入れる適切な方式を解答群の中から選び,記号で答えよ。また,それぞれの方式の仕組みを,  35字以内で述べよ。

解答群
ア DomainKeys           イ POP before SMTP
ウ Sender Policy Framework     工 SMTP AUTH
(H20SV春午後1問1)
ポイントは、メールソフトが対応しているかいないかである。どんなメールソフトが使っているかが書いていないが、それは関係ない。
POP before SMTPは、メールソフトに全く依存しないサーバ側の仕組みだからだ。

解答例
(2) b 方式 エ
 仕組み メール送信時に,パスワードによる認証が行われる。
  c 方式 イ
 仕組み POP認証が成功した後の一定時間内だけメールの送信が可能になる。

OP25B(Outbound Port 25 Blocking)は最近多くのプロバイダで導入されている。過去問では以下のように述べられている。
「ISP管理下の動的IPアドレスからの電子メール送信について、管理外ネットワークのメールサーバへのSMTPを禁止する(H22SC春午前Ⅱ問15)」メールセキュリティ対策

Question 
プロバイダから、OP25Bに関する案内が来ていて、サブミッションポートを使う設定が書いてありましたが、まだ変更していません。つまり、送信ポート番号は25のままです
が、メールの送信ができます。なぜでしょうか。
Ansewer
プロバイダのメールサーバに送る場合は、サブミッションポートを使う必要はなく、25番ポートにて、そのまま利用できる。一方、プロバイダ外のクラウドサービスのメールサーバに送信する場合は、サブミッションポート587を使ったSMTP AUTHを利用しないと送信できない。
※Submissionとは「提出」という意味であり、サブミッションポートとは、メール送信用のポート番号と考えればよい。

Question 
25番ポートを禁止しても、代わりに587番ポートで通信ができるのであれば、587番ポートを使って迷惑メールを送信するだけである。であれば、あまり意味がないのでは?
Ansewer
25番ポートでは認証機能が無かったが、587番ポートでは認証をするということがポイントである。迷惑メールの多くは、ウイルスやボットネットに感染したPCから勝手に迷惑メールを送る。しかし、認証がかかっていれば送信が拒否される。また、仮にSMTP AUTHを使って大量に迷惑メールを送る者がいたら、そのアカウントは不正な者として、プロバイダ側でメールを制限する対策を打つことができる。

Question 
であれば面倒なことをせずに、いっそのことOBだけでなく、すべての25番ポートを禁止したら?
Ansewer
Q1にあるように、既存の正規ユーザが、設定を変更せずに利用できるようにするためである。また、そこまでしなくても、十分な迷惑メール対策となるからでもある。

Question 
となると、自社でメールサーバを立てる場合には、通常のSMTP通信ができない、つまりメールを送れないのか?
Ansewer
その可能性はある。その場合、プロバイダのメールサーバに対してサブミッションポートで送信するしかない。ただ、OP25Bは、そのプロバイダ内の固定IPからの通信は規制されないことが一般的。
op25b_情報セキュリティスペシャリスト試験

929c854c知らない人アドレスからメールが届く。SPAMメールかと思いきや……
「メールアドレス変えたから登録お願いします 聡子」
なんだ、聡子がメールアドレス変えたんだ。登録しておこう。ん??
本当に聡子からという確証はまったくないわね。
その通り。本人に電話で確かめるのがベスト。電話じゃなくても、SMSやSNSなどで本当かを確認するといい。
さて、メールの偽装に関する問題。
問50 迷惑メールのメールヘッダから送信元又は中継元のISP又は組織を特定する手がかりのうち、最も信頼できるものはどれか。
Return-Path:<ユーザ名@ホスト・ドメイン名①>
Received:from ホスト・ドメイン名②(ホスト・ドメイン名③IPアドレス])
    by 受信メールサーバ名 with SMTP id ・・・
From:<ユーザ名@ホスト・ドメイン名④>

ア SMTPのMAIL FROMコマンドで通知されたホスト・ドメイン名①
イ SMTPのHELOコマンドで通知されたホスト・ドメイン名②
ウ 送信又は中継元のIPアドレスから逆引きされたホスト・ドメイン名③及びIPアドレス
エ 電子メールのFromヘッダに設定されたホスト・ドメイン名④
(H19NW午前 問50より)
問題の正解を理解するのと同時に、メールのヘッダについても理解しよう。
この問題には、ヘッダの解説がされているため、一つ一つ理解するとよい。
ヘッダの説明に関しては、以下サイトを参照いただきたい。
http://nw.seeeko.com/archives/50254121.html

電子メールのヘッダに関する情報は、H20SV午前1問1に記載されていますので、解いてみてください。今回の正解は、ウ。

まずは過去問(H25SC秋午前2問14)を見てみよう
問13 迷惑メールの検知手法であるベイジアンフィルタリングの説明はどれか。
ア 信頼できるメール送信元を許可リストに登録しておき,許可リストにないメール送信元からの電子メールは迷惑メールと判定する。
イ 電子メールが正規のメールサーバから送信されていることを検証し,迷惑メールであるかどうかを判定する。
ウ 電子メールの第三者中継を許可しているメールサーバを登録したデータペースに掲載されている情報を基に,迷惑メールであるかどうかを判定する。
エ 利用者が振り分けた迷惑メールから特徴を学習し,迷惑メールであるかどうかを統計的に解析して判定する。

これにより、迷惑メールの検知手法の全体像を整理しよう

ホワイトリスト方式
アの「信頼できるメール送信元を許可リストに登録しておき,許可リストにないメール送信元からの電子メールは迷惑メールと判定する」

ブラックリスト方式
RBL(Realtime BlackList)と言われるものである。
選択肢ウの「電子メールの第三者中継を許可しているメールサーバを登録したデータペースに掲載されている情報を基に,迷惑メールであるかどうかを判定する」

SPFやDKIM
選択肢イの「電子メールが正規のメールサーバから送信されていることを検証し,迷惑メールであるかどうかを判定する」

ベイジアンフィルタリング
選択肢エの「利用者が振り分けた迷惑メールから特徴を学習し,迷惑メールであるかどうかを統計的に解析して判定する」
ベイジアン(bayesian)とは、統計学で有名な数学者である「ベイズの」という意味である。

SPFに関して過去問(H28NW午後Ⅰ問1)では、「送信メールサーバの正当性(当該ドメインの真正のメールサーバであること)を、受信メールサーバ側で確認する方式」と述べられています。
※この過去問に、SPFに関する深い問題があります。お時間あるときにチャレンジしてください。

概要
SPF(Sender Policy Framework)とは、DNSのゾーンファイルにSPFレコードを追加し、メールサーバにてそのSPFレコードに含まれるIPアドレスを確認することで、ドメイン情報が詐称されていないかを判断します。Senderという言葉が含まれているように、送り主(Sender)側での設定が必要である。
 $ORIGIN viva-musen.net. 
  IN   MX   10   mail.xxxxxx.com.  ←メールサーバのFQDNを指定
   IN   TXT  "v=spf1 ip4:1.1.x.101  ~all" ←IPアドレスを指定
この(2行目)の意味であるが、@viva-musen.netのメールは、1.1.x.101のIPアドレスからしか来ないという意味だ。なので、@viva-musen.netのメールを受け取ったメールサーバは、viva-musen.netをDNSサーバに問い合わせ、TXTレコードから1.1.x.101というIPアドレスを知る。もし、そのメールが違うIPアドレスから来たら、嘘だと判断できる。

構文
最初のv は、バージョンを表す。v=spf1とは、SPFのバージョン1であることを指している。
それ以降はFWのルールと同じで、許可するもの、拒否するものを横に並べている。それだけだ。
たとえば、以下を見よう。
spf
+が許可、-が拒否
なので、この場合、1.1.x.101と1.1.x.102を許可し、それ以外のIPからは拒否する。
結構単純だ。
では、実際にGoogleを見てみよう。

SPFの実際の設定
みなさんも試していただきたい。ご自身のパソコンからnslookupを起動する。
C:\>nslookup
(中略)
> set type=txt ←txtレコードを指定
> google.co.jp ←google.co.jpのtxtを確認
(中略)
権限のない回答:
google.co.jp    text =
        "v=spf1 -all" ←SPFのレコード
-allなので、すべてNOだ。つまり、@google.co.jpというメールは一切来ないという意味。
そうだった。googleのメールはgmail.comだ。
では、gmail.comを見てみると、google.comに転送されていたので、google.comを確認する。 
> google.com
(中略)
権限のない回答:
google.com      text =
        "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"
inludeしているのもあるが、216.73.93.70/31や216.73.93.72/31のIPアドレスでメールが来ることが分かる。
8412ebbb
 でも、構文が違いませんか?
× ip4:216.73.93.70/31
○ +ip4:216.73.93.70/31
× ~all
○ -all

そうだね。
+は省略できるので、どちらでもいい。省略する方が普通かもしれない。
~ と - は違いがある。
 ・ ~は、拒否しないでほしい
 ・ -は、拒否
~が拒否しないでほしいというのは、何かの状態により、TXTレコード以外からのメールが届く可能性があるかもしれないというメッセージだ。

過去問事例1
H22SC春午後Ⅱ問1設問3(2)では、SPFを設定したTXTレコードの書き方について問われている。
なので、書き方も理解しておいたほうがいいだろう。
(2)本文中の下線③について,カタログWebサーバのドメイン名に対して, SPFを設定したTXTレコードを解答群から一つ選び,記号で答えよ。

解答群
ア catalog.y-sha.co.jp. IN TXT “v=spf1 +ip4:x1.y1.z1.2 -all”
イ catalog.y-sha.co.jp. IN TXT “v=spf1 +ip4:x1.y1.z1.4 -all”
ウ catalog.y-sha.co.jp. IN TXT “v=spf1 +ip4:x1.y1.z1.5 -all”
エ catalog.y-sha.co.jp. IN TXT “v=spf1 +ip4:x1.y1.z1.6 -all”
オ catalog.y-sha.co.jp. IN TXT "v=spfl -all"

過去問事例2
H26NW午後Ⅱ問1では、SPFによる認証処理の概要が記載されている
情報セキュリティスペシャリストSPF

601a33a7

SPFを使わなくても、普通のAレコードではだめなの?
ドメイン名を逆引きすれば、SPFと同じことができるのでは?



鋭いね。成子ちゃんが言っているのは、こういうことだよね。
@viva-musen.netドメインのメールが2.2.X.1のIPアドレスから来たとする。
2.2.X.1のDNSの逆引きをして、viva-musen.netのMXレコードのIPアドレスと一致するかを確認するんだね。
[viva-musen.netのDNS設定]
   IN MX 10 mx.viva-musen.net
mx IN A 1.1.x.1

しかし、厳密に言うと、このMXレコードは受信用のメールサーバだ。@viva-musen.netのメールをどのサーバに送ればいいのかをDNS情報として公開している。
@viva-musen.netのメールを送信するサーバの指定は、SPFが正式ということである。
sef4 
 
なるほど。わかりました。
じゃあ、逆引きはいったい何をしているんですか?
一般的な逆引きというのは、「逆引き設定がされるかどうか」であろう。SPAM業者であれば、逆引き設定をしていないのが多い(だろう)ということに基づく結果だ。
Postfixの設定で言う reject_unknown_client だ。
それ以外には、SPAM対策機器の実装にもよるだろうが、逆引きしたドメインが部分一致するかを見ているものもあるだろう。viva-musen.netからのメールであれば、そのIPアドレスを逆引きして、MXレコードやSPFレコードでなかったとしても、viva-musen.netのドメインであれば、正しいと判断する。

SPFとSenderIDの違いは何か?
601a33a7
どちらも送信元のドメインからIPアドレスを問い合わせ、実際の送信元IPアドレスと同じかをチェックするところは一緒です。
では、一緒?
違いは、ドメイン名の確認をエンベローブで判断するのがSPF、メールヘッダで判断するのがSenderIDである。
メールヘッダとエンベローブの説明については、以下を確認してほしい。
http://nw.seeeko.com/archives/50248527.html
55c44db1

メールヘッダの偽装はメーラで簡単にできるから、
SPFの方が有効な対策なのかな?
いや、不正な第三者からしたら、どちらも簡単だ。
強いて違いを言うのであれば、メール本文が送られてくる前のエンベローブの段階でチェックできるSPFの方が効率的だと思う。

以下の問題で、ウがSPFで、アがSenderIDの説明です。
ちなみに、イはOP25Bで、エはDKIM(DomainKeys Identified Mail)
問12 送信元を詐称した電子メールを拒否するために、SPF(Sender Policy Framework)の仕組みにおいて受信側が行うことはどれか

ア Resent-Sender:, Resent-From:, Sender:, From:などのメールヘッダ情報の送信者メールアドレスを基に送信メールアカウントを検証する。
イ SMTPが利用するポート番号25の通信を拒否する。
ウ SMTP通信中にやり取りされるMAIL FROMコマンドで与えられた送信ドメインと送信サーバのIPアドレスの適合性を検証する。
エ 付加されたディジタル署名を受信側が検証する。
(H22秋SC午前2問12)

「送信側メールサーバでディジタル署名を電子メールのヘッダに付与して、受信側メールサーバで検証する(H22春SC午前2問14)」ものは何か
c2f058cb
これもSPAM対策の一つです。
SPAM対策もたくさんあってよくわかりませんね。
SPFやSender IDもありますよね。どう違いますか?



これは、スパムメールの対策であるDKIM(DomainKeys Identified Mail)の説明である。
どちらも送信元のドメインを認証をする点では同じである。
DKIMの特徴は、SPFやSenderIDと違い、証明書を使って認証する点。

このページのトップヘ