サーバー構築のデージーネットTOP > OSS情報 > デージーネットのOSS > SaMMA
Next: A. Appendix
Up: SaMMA
Previous: 4. 使い方
configure のオプションとして以下のものが設定できます。
表:
configureオプション
オプション |
説明 |
-- prefix=PREFIX |
SaMMAソフトウェアの配置場所のprefixを指定できます。
デフォルト値は”/usr/local”です。 |
-- bindir=DIRECTORY |
SaMMAソフトウェアを配意する場所を指定できます。
デフォルト値は”PREFIX/bin”です。 |
-- sysconfdir=DIRECTORY |
SaMMAソフトウェアの設定ファイルを配置する場所を指定できます。DIRECTORY/samma配下に設定ファイルを配置します。
デフォルト値は”PREFIX/etc/samma”です。 |
-- with-zip=PATH |
zipコマンドへのパスを指定できます。
指定しない場合は環境変数$PATHを検索します。 |
-- with-sendmail=PATH |
sendmailコマンドへのパスを指定できます。
指定しない場合は環境変数$PATH、”/usr/sbin”を検索します。 |
-- with-dgconf=DIRECTORY |
libdgconfigライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-dgstr=DIRECTORY |
libdgstrライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-dgmail=DIRECTORY |
libdgmailライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-dgnetutil=DIRECTORY |
libdgnetutilライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-pthread=DIRECTORY |
pthreadライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-iconv=DIRECTORY |
iconvライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-milter=DIRECTORY |
milterライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-bdb=DIRECTORY |
dbライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-glib=DIRECORY |
glibライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
-- with-gmime=DIRECTORY |
gmimeライブラリ・ヘッダファイルのprefixを指定できます。
デフォルト値は”/usr”です。 |
samma.confに設定可能な項目の一覧です。
暗号化モード、削除モード、無害化モードでそれぞれ記述できる値が異なります。
全てで共通して利用できる項目、それぞれ別個で利用できる項目を別表にて記載します。
表:
samma.conf(共通項目)
項目 |
デフォルト値 |
必須 |
reload
反映
※1 |
機能 |
CommandPort |
17777 |
- |
- |
外部連携の際にSaMMAがListenする
ポート番号を指定します。
設定例:17777 |
CommandPass |
- |
○ |
○ |
外部連携の際に使用するパスワード
を指定します。
設定例:secret |
SyslogFacility |
local1 |
- |
○ |
syslogのファシリティを指定します。
※詳しくは3.6節参照
設定例:local1 |
ListenIP |
127.0.0.1 |
- |
- |
SaMMAがListenするIPアドレスを
指定します。※2
設定例:127.0.0.1 |
ListenPort |
20026 |
- |
- |
SaMMAがListenするポート番号を
指定します。※3
設定例:20026 |
RcptDB |
btree:
@sysconfdir@/
rcpt.db ※4 |
- |
○ |
受信者DBの形式と受信者DBへのパス
を指定します。※5
設定例:
btree:/usr/local/etc/samma/rcpt.db |
SendmailCommand |
- |
○ |
○ |
sendmailコマンドへのパスとオプションを
指定します。
設定例:/usr/sbin/sendmail -i |
MailSaveTmpDir |
- |
○ |
○ |
サイズの大きいメールを受け取った
場合に一時的に保存するディレクトリを
指定します。
※指定するディレクトリは、事前に
作成する必要があります。
設定例:/tmp |
StrCode |
- |
○ |
○ |
添付ファイル名を変換する文字コードを
指定します。
以下の文字コードを指定できます。
- UTF8
- ISO2022JP
- EUCJP
- SJIS
設定例:SJIS |
SetTimeZone |
0 |
※6 |
○ |
パスワード通知メールの日付のタイムゾーン
設定例:900 |
WhitelistPath |
@sysconfdir@/
whitelist ※4 |
- |
○ |
ホワイトリストのファイパスです。
設定例:/usr/local/etc/samma/whitelist |
AttachmentFileAlias |
- |
- |
○ |
添付ファイル名に変換不可能文字が存在する場に指定したファイル名に変換します。
設定例:UnknownFileName |
LoopCheck |
no |
- |
○ |
メールヘッダ内「X-SaMMA-Enc: YES」 が含まれていた場合に二重暗号化と見なして暗号化を行いません。
設定例:yes |
※1 reload反映はreload allで再読み込みする設定項目です。CommandPort、ListenIP、ListenPortを変更したい場合はSaMMAを再起動する必要があります。
※2 milterアプリケーションが使用するIPアドレスと同一にする必要があります。
※3 milterアプリケーションが使用するポートと同一にする必要があります。
※4 @sysconfdir@はインストール時に指定した設定ファイルの配置場所です。
※5 書式は以下になります。
※6 SetTimeZoneが指定されていない場合、もしくは0で設定されている場合、パスワード通知メールの日付はメールの日付をそのまま利用します。
値は-2345クA群345の間で指定し、下2桁は00, 15, 30, 45のみ指定可能です。
表:
samma.conf(暗号化モード)
項目 |
デフォルト値 |
必須 |
reload
反映 |
機能 |
EncryptionTmpDir |
- |
○ |
○ |
暗号化ZIP変換を行うファイルを一時的
に格納するディレクトリを指定します。
※指定するディレクトリは、事前に作成
する必要があります。
設定例:/tmp |
ZipCommand |
- |
○ |
○ |
zipコマンドへのパスを指定します。
設定例:/usr/bin/zip |
ZipCommandOpt |
- |
- |
○ |
zipコマンドに追加するオプションを
指定します。
※ZipCommandに指定したzipコマンドで
使用できるものを指定してください。
設定例:-j |
SenderDB |
btree:@sysconfdir@/
sender.db ※1 |
- |
○ |
内部ドメインDBの形式と内部ドメインDB
へのパスを指定します。※2
設定例:
btree:/usr/local/etc/samma/sender.db |
ExtensionDB |
- |
- |
○ |
拡張子DBの形式と拡張子DB
へのパスを指定します。※2
設定例:
btree:/usr/local/etc/samma/extension.db |
TemplatePath |
@sysconfdir@/
samma.tmpl ※1 |
○ |
○ |
パスワード通知メールのテンプレート
ファイルへのパスを指定します。 |
ErrorMessageTemplatePath |
@sysconfdir@/
errmsg.tmpl ※1 |
○ |
○ |
文字コード変換失敗用パスワード通知メールのテンプレート
ファイルへのパスを指定します。
設定例:
/usr/local/etc/samma/errmsg.tmpl |
ZipfileName |
- |
○ |
○ |
暗号化ZIP変換後のファイル名の
フォーマットを指定します。
%から始まるものは、それぞれ下記の
特定の形式に置換されます。
- %Y → 年(例:2009)
- %m → 月(例:07)
- %d → 日(例:07)
設定例:AttachFile.%Y%m%d.zip |
PasswordLength |
8 |
- |
○ |
自動生成するパスワードの長さを指定
します。
1字から20字までの間で指定できます。
設定例:8 |
DefaultEncryption |
- |
○ |
○ |
受信者DBで暗号化方法が決まらな
かった場合の暗号化処理の有無を設定できます。
設定例:no |
DefaultPassword |
- |
- |
○ |
受信者DBで暗号化方法が決まらな
かった場合の暗号化処理に使う
パスワードを設定できます。
なお次の文字は動的に置き換えて設定
されます。
- %Y 年(2010)
- %m 月(01-12)
- %d 日(01-31)
設定例:password |
UserPolicy |
- |
○ |
○ |
LDAPを利用したユーザ個別設定機能の有無を設定できます。
設定例:yes |
LdapUri |
- |
※3 |
○ |
LDAPサーバURIを指定します。
設定例:ldap://127.0.0.1:389/ |
LdapBaseDn |
- |
※3 |
○ |
LDAPサーバの検索を開始するベースDNを指定します。
検索は、ここで指定したDNの配下に対して行われます。
設定例:
LdapBaseDn=ou=User,dc=inside,
dc=designet,dc=jp |
LdapBindDn |
- |
※3 |
○ |
LDAPにバインドするDNを指定します。
設定例:
LdapBindDn=cn=Manager,dc=designet,
dc=jp |
LdapBindPassword |
- |
※3 |
○ |
LDAPにバインドするDNのパスワードを指定します。
設定例:LdapBindPassword=secret |
LdapFilter |
- |
※3 |
○ |
送信者のエントリをLDAPから検索するためのフィルタを指定します。
ここで「%s」を指定した場合にはメールアドレスが補完されます。
設定例:LdapFilter=(mail=%s) |
AutoBccOption |
no |
○ |
○ |
BCC自動追加機能の有無 |
DefaultAutoBccConditionString |
- |
※4 |
○ |
デフォルトのBCC追加条件 (正規表現で指定) |
DefaultAutoBccMailAddr |
- |
※4 |
○ |
デフォルトの追加メールアドレス (カンマ区切りで複数指定可能) |
References |
no |
- |
○ |
パスワード通知メールのヘッダに、Referencesフィールドの有無を設定できます。
設定例:yes |
SendPasswordCommand |
- |
- |
○ |
sendmailコマンドへのパスとオプションを指定します。(パスワードメールの送信の際、別のコマンドを使用したいときに指定してください)
設定例:/usr/sbin/sendmail -i |
AllowCharEnvelopeFrom |
abcdefghijklm
nopqrstuvwxyz
ABCDEFGHIJKLM
NOPQRSTUVWXYZ
0123456789`~!
@#$%^&*()_+-
={}[]:";'<>?,./
|
- |
○ |
送信元メールアドレスに含まれていてもよい文字を指定します。 |
AlternativePartEncrypt |
no |
- |
○ |
multipart/alternative または multipart/related のパート内の添付ファイルを暗号化するかどうかを指定します。
yesを指定した場合、HTMLメールの背景画像等も暗号化されます。 |
※1 @sysconfdir@はインストール時に指定した設定ファイルの配置場所です。
※2 書式は以下になります。
※3 UserPolicyが「yes」の場合、LdapURI、LdapBaseDn、LdapBindDn、LdapBindPassword、LdapFilterは必須項目になります。
※4 AutoBccOptionが「yes」の場合、DefaultAutoBccConditionString、DefaultAutoBccMailAddrは必須項目になります。
表:
samma.conf(削除モード)
項目 |
デフォルト値 |
必須 |
reload
反映 |
機能 |
TmpDir |
- |
○ |
○ |
削除一覧ファイルを一時的に格納するディレクトリを指定します。
※指定するディレクトリは、事前に作成する必要があります。
設定例:/tmp |
DeleteListName |
- |
○ |
○ |
削除一覧ファイルのファイル名のフォーマットを指定します。
%から始まるものは、それぞれ下記の特定の形式に置換されます。
- %Y → 年(例:2016)
- %m → 月(例:11)
- %d → 日(例:10)
設定例:DeletedFiles.%Y%m%d.txt |
DefaultDeletePolicy |
- |
○ |
○ |
受信者DBで削除する/しないが決まらなかった場合の処理の有無を設定できます。
設定例:no |
表:
samma.conf(無害化モード)
項目 |
デフォルト値 |
必須 |
reload
反映 |
機能 |
EncryptionTmpDir |
- |
○ |
○ |
暗号化ZIP変換を行うファイルを一時的
に格納するディレクトリを指定します。
※指定するディレクトリは、事前に作成
する必要があります。
設定例:/tmp |
ZipCommand |
- |
○ |
○ |
zipコマンドへのパスを指定します。
設定例:/usr/bin/zip |
ZipCommandOpt |
- |
- |
○ |
zipコマンドに追加するオプションを
指定します。
※ZipCommandに指定したzipコマンドで
使用できるものを指定してください。
設定例:-j |
ZipfileName |
- |
○ |
○ |
暗号化ZIP変換後のファイル名の
フォーマットを指定します。
%から始まるものは、それぞれ下記の
特定の形式に置換されます。
- %Y → 年(例:2009)
- %m → 月(例:07)
- %d → 日(例:07)
設定例:AttachFile.%Y%m%d.zip |
PasswordLength |
8 |
- |
○ |
自動生成するパスワードの長さを指定
します。
1字から20字までの間で指定できます。
設定例:8 |
DefaultPassword |
- |
- |
○ |
暗号化処理に使う解凍パスワードのデフォルト値を設定できます。
なお次の文字は動的に置き換えて設定されます。
- %Y 年(2010)
- %m 月(01-12)
- %d 日(01-31)
設定例:password
この項目を省略した場合、ランダムなパスワードが自動的に生成されます。 |
SendPasswordCommand |
- |
- |
○ |
sendmailコマンドへのパスとオプションを指定します。(パスワードメールの送信の際、別のコマンドを使用したいときに指定してください)
設定例:/usr/sbin/sendmail -i |
DefaultSenderCheck |
- |
○ |
○ |
受信者DBで、マッチする設定項目が記述されていない受信者について、送信者チェックのデフォルトを設定できます。
設定例:no |
SenderCheck |
- |
○ |
○ |
送信者の照合処理を行うポリシーを設定します。照合の結果、
不正な送信者と判定された場合、無害化処理が実行されます。以下の値をカンマ区切りで記述できます。記載した左から順番に、照合処理が実行されます。
- check-spf
送信者のドメインのSPFチェックを実行します。
- check-senderip
送信者のIPからドメイン名をDNSで逆引きし、メールアドレスとの比較を行います。
- check-senderdomain
送信者のメールアドレスのドメインからDNSで正引きし、送信者のIPアドレスとの比較を行います。
- none
無害化処理を一切行わず、ただSaMMAログに照合不正のログメッセージを出力します。
設定例:check-spf, check-senderip, check-senderdomain, none
この設定例では、まずSPFチェックを行い、不正だった場合にIP逆引きを行い、
さらに不正だった場合、メールアドレスのドメインで正引きを行い、それでも身元を確認できなかった場合にはログを出力し、無害化処理は実行されません。
無害化処理を行うためには、noneを記述しないで設定します。
|
HarmlessProc |
- |
○ |
○ |
無害化処理の方式と、その処理順を設定します。以下の値をカンマ区切りで記述できます。記載した左から順番に実行されます。
- convert
無害化設定ファイル(HarmlessConf設定値)に従って、メールパートの変換処理を行います。
- encrypt
対象メールパートを暗号化します。
- delete
対象メールパートを削除します。削除処理は失敗しません。
設定例 1:convert,encrypt,delete
設定例 2:convert,delete
どちらの設定例もまず、メール本文および添付ファイルそれぞれを変換しようとし、失敗した場合には暗号化圧縮もしくは削除を実行します。
|
HarmlessConf |
- |
○ |
○ |
無害化設定ファイルのファイルパスです。reload処理によって再読込されます。
設定例:/usr/local/etc/samma/harmless.conf
|
HamlessMessageFileName |
- |
○ |
○ |
無害化処理結果添付メッセージのファイル名のフォーマットを指定します。
%から始まるものは、それぞれ下記の特定の形式に置換されます。
- %Y → 年(例:2016)
- %m → 月(例:11)
- %d → 日(例:10)
設定例:HarmlessLog.%Y%m%d.txt |
MaxMultipartDepth |
10 |
- |
○ |
処理対象のメールが多重のマルチパートを持っていた時、それを何段階まで展開するかの設定値です。 |
HarmlessCommandTimeout |
60 |
- |
○ |
無害化処理で外部コマンドが実行される際のタイムアウト秒数です。 |
MimeTypeFile |
/etc/mime.types |
- |
○ |
harmless.confのextensionコマンドで
参照するファイルを指定します。 |
HarmlessMessageConvert |
(設定例参照) |
○ |
○ |
無害化処理で変換が指定され、処理に成功された場合に、メッセージ添付ファイルに出力されるログのフォーマットを指定します。
以下のタグを記述でき、自動的に置換されます。
<@@mime-before@@> → 変換前のMIMEタイプ
<@@mime-after@@> → 変換後のMIMEタイプ
<@@file-before@@> → 変換前のファイル名
<@@file-after@@> → 変換後のファイル名
設定例:Converted:
mime-type[<@@mime-before@@> ->
<@@mime-after@@>],
filename=[<@@file-before@@> ->
<@@file-after@@>]
|
HarmlessMessageEncrypt |
(設定例参照) |
○ |
○ |
無害化処理で暗号化が指定され、処理に成功された場合に、メッセージ添付ファイルに出力されるログのフォーマットを指定します。
以下のタグを記述でき、自動的に置換されます。
設定例:Encrypted <@@filename@@>.
|
HarmlessMessageDelete |
(設定例参照) |
○ |
○ |
無害化処理で削除が指定され、処理に成功された場合に、メッセージ添付ファイルに出力されるログのフォーマットを指定します。
以下のタグを記述でき、自動的に置換されます。
設定例:Deleted <@@mimetype@@>.
|
無害化変換の処理対象を指定するファイルです。
以下に設定例を示します。
harmless.confの設定例
# 元のMIMEタイプ 変換後のMIMEタイプ 拡張子 変換コマンド
multipart/alternative text/plain .alt alternative
multipart/mixed multipart/mixed - multipart
text/html text/plain .txt /usr/bin/python-html2text
* - - extension
* - - @none
|
1行あたり4つの設定項目をスペースまたはタブ区切りで記述します。#で始まる行はコメント行として無視されます。
- 元のMIMEタイプ → 変換対象とするMIMEタイプを記述します。「*」を指定することにより、全てのMIMEタイプが対象となります。書式チェックは行いません。
- 変換後のMIMEタイプ → ここに記述されたMIMEタイプに変換されます。ハイフンを指定した場合、MIMEタイプは変換されません。
- 拡張子 → 変換対象パートにファイル名が存在した場合、指定した拡張子が付与されます。ハイフンを記述した場合、拡張子は付与されません。
- 変換コマンド → 変換後のファイル名を記述します。また、コマンドの先頭に@を記述すると無害化処理結果添付メッセージを書き込ませないようにできます。
変換コマンドのパートには、alternative・multipart・extension・noneおよび外部コマンドを記述します。
- alternative
- alternativeパートを分割し、text/plainパート以外を削除します。
- text/plainパートが複数存在した場合、最初の1つを残し、それ以外を削除します。
- text/plainパートがひとつも存在しなかった場合、変換後のMIMEタイプをtext/plainに設定されているパートを探し、変換を試みます。
- 残せるパートがひとつも存在しなかった場合、変換エラーとなり、メールは送信されません。
- multipart
- multipartパートを分割し、それぞれのパートを変換します。
- 環境設定ファイルに指定された最大のネスト数に達した場合、変換エラーとなります。
- 最大ネスト数は、MaxMultipartDepthの項目で指定します。
- extension
- 添付ファイル名の拡張子で設定項目MimeTypeFileに指定されたファイルを検索し、定義されているMIMEタイプを取得します。
- 添付ファイル名や拡張子がない場合と拡張子がMimeTypeFileで指定されたファイルになかった場合、extensionコマンドの次の処理へ進みます。
- その取得したMIMEタイプでもう一度無害化処理を行います。
- none
- 変換を行いません。
- 主に、text/plainパートを指定することで、本文を変換対象外とすることができます。
- 外部コマンド
- スラッシュ (/) で始まる、変換コマンドを記述できます。
- 変換コマンドは絶対パスで指定し、実行権が必要です。
- 標準入力からデータを受け取り、標準出力に変換後のデータを返す必要があります。
- 正常終了した場合には、終了コードとして0を返す必要があります。
- SaMMAから外部コマンドが起動される時、環境変数 SAMMA_FILENAME に添付ファイル名が設定されます。外部コマンドでは、環境変数 SAMMA_FILENAME を参照することで、添付ファイル名を参照することができます。
- 先の設定例では、HTMLパートをpython-html2txtコマンドによってテキストファイルに変換しています。
harmless.confで指定できるextensionコマンドで参照するファイルです。
以下に設定例を示します。
mime.typesの設定例
# MIMEタイプ 拡張子
application/andrew-inset ez
application/applefile
application/atom+xml atom
application/atomcat+xml atomcat
application/atomdeleted+xml atomdeleted
application/atomicmail
application/atomsvc+xml atomsvc
application/auth-policy+xml apxml
application/batch-SMTP
application/cellml+xml cellml cml
:
(以下省略)
|
1行あたり2つの設定項目をスペースまたはタブ区切りで記述します。#で始まる行はコメント行として無視されます。
また、「mailcap」パッケージに含まれるものと同様の形式のファイルとします。(mailcapパッケージは、CentOSでは標準でインストールされています。)
- MIMEタイプ → 拡張子ごとに定義されたMIMEタイプです。添付ファイルの拡張子を元にこの項目から新しいMIMEタイプを取得します。書式チェックは行いません。
- 拡張子 → MIMEタイプを定義する拡張子です。添付ファイルと同じ拡張子だった場合、対応するMIMEタイプとして再度無害化処理を行います。また、拡張子を複数指定する場合、スペース区切りで羅列します。拡張子の存在しない行は、書式上許可されますが無視されます。
Next: A. Appendix
Up: SaMMA
Previous: 4. 使い方
2018年3月14日