オープンソース

一覧へ

7. SaMMAの評価基準

本章では、SaMMAの各モードにおける評価基準について解説します。

7.1. 安全化モードの評価基準について

SaMMAの安全化モードでは、送信元と宛先のメールアドレスを検査し次の評価基準で安全化判定を行います。

7.1.1. 安全化の前提条件

SaMMAは宛先ユーザが安全化対象の場合でも、 送信アドレスが内部ドメインでない場合は安全化を行いません。

また、設定項目のAllowCharEnvelopeFromで指定されていない文字が送信元メールアドレスに含まれていた場合、 メールの配送が行われません。

7.1.2. 設定箇所による優先順位

SaMMAの安全化設定は宛先ユーザ設定ファイル、デフォルト安全化処理及び、 LDAPのユーザ個別設定で行えますが、各設定の優先順位は次の通りです。

  1. 宛先ユーザ設定ファイル
  2. デフォルトの安全化処理
  3. ユーザ個別の安全化設定

7.1.3. 安全化条件の優先順位

内部ドメイン設定ファイル、 宛先ユーザ設定ファイル内等で複数の安全化条件と一致した場合は 次の優先順位で動作します。

安全化非対象メールアドレス > 安全化対象メールアドレス > 安全化非対象FQDN > 安全化対象FQDN > 安全化非対象ドメイン(サブドメイン含む) > 安全化対象ドメイン(サブドメイン含む)

7.1.4. 設定による安全化のパターン

設定による安全化のパターンは以下のとおりです。

_images/safepattern2.png

Note

送信ユーザが内部ドメインであり、 宛先ユーザが宛先ユーザ設定ファイルのどの項目にも該当しなかった場合、 設定により次のように動作します。

  • 設定ファイルのDefaultEncryptionの値がyesの場合は、安全化を行います。 安全化方法は次の条件で変化します。
    • 設定ファイルにDefaultPasswordが設定されている場合は、 DefaultPasswordの値で安全化を行います。
    • 設定ファイルにDefaultPasswordが設定されていない場合は、 自動生成パスワードで安全化を行います。
  • 設定ファイルのDefaultEncryptionの値がnoで UserPolicyの値がyesの場合はLDAP検索を行います。
    • LDAPに送信者のエントリが存在し、安全化条件に一致する場合は、 安全化を行います。 安全化方法は次の条件で変化します。
      • mailEncryptionPasswordの値が設定されている場合は、 その固定パスワードで安全化を行います。
      • mailEncryptionPasswordの値が設定されていない場合は、 自動生成パスワードで安全化を行います。
    • LDAPに送信者のエントリが存在し、非安全化条件に一致する場合は、 安全化を行いません。
  • 設定ファイルのDefaultEncryptionの値がno、UserPolicyの値がyes、 かつUserDefaultPolicyの値がyesの場合、次のように動作します。
    • 受信者が送信者のエントリの条件に一つも合わない場合、 自動生成パスワードで安全化します。
    • LDAPに送信者のエントリが存在しない場合、 自動生成パスワードで安全化します。

7.2. 削除モードの評価基準について

SaMMAの削除モードでは、宛先のメールアドレスを検査し次の評価基準で添付ファイルの削除判定を行います。送信元のメールアドレスは検査されません。

7.2.1. 送信元メールアドレスについて

削除モードは、主に外部からの攻撃対策としての用途を想定されています。そのため、なりすまし可能な送信元メールアドレスの評価を行いません。

7.2.2. 設定箇所による優先順位

SaMMAの削除判定設定は宛先ユーザ設定ファイルとデフォルト処理設定で行えます。各設定の優先順位は次の通りです。

  1. 宛先ユーザ設定ファイル
  2. デフォルトの安全化処理

7.2.3. 添付ファイル削除条件の優先順位

宛先ユーザ設定ファイル内等で複数の条件と一致した場合は、次の優先順位で動作します。

非処理対象メールアドレス > 削除対象メールアドレス > 非処理対象FQDN > 削除対象FQDN > 非処理対象ドメイン(サブドメイン含む) > 削除対象ドメイン(サブドメイン含む)

7.3. 無害化モードの評価基準について

SaMMAの無害化モードでは、宛先のメールアドレスを検査し次の評価基準でメールの無害化対象を決定し、無害化対象に対して無害化判定を行います。

7.3.1. 送信元メールアドレスについて

無害化モードは、無害化対象の決定には送信元メールアドレスを参照しません。ただし送信元メールアドレスの評価は、無害化判定の際に行います。

7.3.2. 設定箇所による優先順位

SaMMAの無害化判定設定は宛先ユーザ設定ファイルとデフォルト処理設定で行えます。各設定の優先順位は次の通りです。

  1. 宛先ユーザ設定ファイル
  2. デフォルトの安全化処理

7.3.3. 添付ファイル無害化条件の優先順位

宛先ユーザ設定ファイル内等で複数の条件と一致した場合は、次の優先順位で動作します。

非処理対象メールアドレス > 無害化対象メールアドレス > 非処理対象FQDN > 無害化対象FQDN > 非処理対象ドメイン(サブドメイン含む) > 無害化対象ドメイン(サブドメイン含む)

7.3.4. 安全な送信元判定

続いて、メールの送信元が安全な送信元かどうかの判定を行います。

安全な送信元判定では、以下の判定方式を利用して送信元を判定します。

  • check-spf
    • メール送信者のドメイン名からDNSのSPFレコードを参照し、メールの実際の送信元の元IPアドレスと本当に一致するかを調べます。一致していれば、安全な送信元と判定します。
  • check-senderip
    • メールの送信元IPアドレスをもとにDNSを逆引きし、対応するドメイン名を取得します。このドメイン名が、メールアドレスの@以降のドメインのサブドメインであれば、安全な送信元と判定します。
  • check-senderdomain
    • メールの送信元アドレスをもとにDNSをAレコード、もしくはMXレコードで正引きし、IPアドレスを取得します。そのIPアドレスがメールの送信元IPアドレスと一致していれば、安全な送信元と判定します。
  • none
    • 何もチェックをしません。無害化も行いません。

これらの判定方式は環境設定ファイル(samma.conf)のSenderCheckの項目に指定します。SenderCheckの項目には、上記4つの判定方式以外を記述することはできません。

SenderCheckの設定例
SenderCheck=check-spf,check-senderip,check-senderdomain,none

SenderCheckの各項目は「,」区切りで複数指定することができます。 複数の判定方式を指定した場合は、左から順番に安全な送信元判定を行います。 上記4つの判定方式はどのような順番でも設定することが可能です。

上記の例ではまず、check-spf方式で安全な送信元判定を行います。 この時点で安全な送信元であると判定されれば、それ以降の判定方式での安全な送信元判定は行いません。

一方、check-spf方式で安全ではない送信元と判定された場合には、次のcheck-senderip方式での安全な送信元判定に進みます。この時点で安全な送信元であると判定されれば、それ以降の判定方式での安全な送信元判定は行いません。

逆に、安全ではない送信元と判定された場合は、次のcheck-senderdomain方式での安全な送信元判定に進みます。 判定後の処理は、上記のcheck-senderip方式の処理と同じです。

上記の例では、最後の安全な送信元判定にnoneが指定されていますので、この時点で無害化を行わないと判定され、メールを無害化せずに受信者に送信します。どのような順番でも、noneを設定する限り無害化を行わないことに注意してください。noneを設定していない場合は、無害化処理が行われます。

安全ではない送信元の場合、無害化処理設定ファイル(HarmlessConf)の設定に従って、無害化処理を行います。一方、安全な送信元の場合、安全な送信元の無害化処理設定ファイル(SafetySenderHarmlessConf)の設定に従って、無害化処理を行います。

安全な送信元の無害化処理設定ファイル(SafetySenderHarmlessConf)が設定されていない場合は、無害化されません。

送信元判定後の無害化の流れは以下の通りです、

  1. 送信元の判定を行います
  2. 安全な送信元の場合、安全な送信元の無害化処理設定ファイルが設定されているか確認します
  3. 安全な送信元の無害化処理設定ファイルが設定されている場合、設定に沿って安全化を行います。設定されていない場合は、デフォルトの安全化処理にしたがって処理が行われます
  4. 無害化判定(SenderCheck)がnoneの場合には、無害化は行われません。
一覧へ