オープンソース

サーバー構築のデージーネットTOP > OSS情報 > デージーネットのOSS > SaMMA ZIP無害化プラグイン

next up previous contents
Next: この文書について... Up: SaMMA ZIP無害化プラグイン Previous: 4. SaMMA ZIP無害化プラグインの動作


5. 設定詳細

本章では、設定の詳細について解説します。

5.1 zipsanitize.conf

zipsanitize.confは、本プラグインの設定ファイルです。 ファイルの文字コードはUTF-8です。

zipsanitize.conf
[common]
ZipSaveDir = "/var/lib/samma/sanitaize/original/";
TmpDir = "/var/lib/samma/sanitaize/tmp/";
SanitizeZIPSaveDir = "/var/lib/samma/sanitaize/sanitized/";
SyslogFacility = "LOG_LOCAL0";
WebUser = "apache";

[database]
DBDriver = "sqlite"
DB = "/var/lib/samma/sanitaize/sqlite.db";

[connector]
URLPrefix = "http://example.com/zipsanitize/";

[zipsanitize]
MailSubject = "無害化を行ないました"
WarnMailSubject = "一部ファイルの無害化に失敗しました"
ErrMailSubject = "無害化に失敗しました"
MailFrom = "postmaster@example.com"
SanitizeFailedAction = "encrypt"
ZipFileMax = 1000

[zipdelete]
SaveLimit = "30";

各設定の意味は以下の通りです。

commonセクション
項目名 解説
ZipSaveDir 無害前のZIPファイルの配置パスを設定します。
TmpDir 無害化前のZIPファイルを展開する一時ディレクトリのパスを設定します。
SanitizeZipSaveDir 無害のZIPファイルの配置パスを設定します。
SyslogFacility Syslogのファシリティを設定します。 フォーマットはPHPのSyslogファシリティのマクロに準拠します。
WebUser WEBサーバの実行ユーザを設定します。

databaseセクション
項目名 解説
DBDriver sqliteを指定します。
DB SQLiteデータベースのファイルパスを設定します。

connectorセクション
項目名 解説
URLPrefix Z無害化WEBインタフェースのURLを設定します。

zipsanitizeセクション
項目名 解説
MailSubject 無害化後に送信するメールの件名を設定します
WarnMailSubject 一部ファイルの無害化に失敗した場合に送信する警告メールの件名を設定します
ErrMailSubject コマンドの失敗など致命的なエラーの場合に送信するエラーメールの件名を設定します
MailFrom メールのFromを設定します
SanitizeFailedAction 無害化に失敗した場合の挙動を設定します。encryptまたはpassを設定できます。 encryptの場合は、無害化に失敗したZIPをランダムパスワードで再圧縮して送信します。ランダムパスワードは、ログに出力します。passの場合は、該当ファイルを無害化せずに送信します。
ZipFileMax ZIPファイルに格納されているファイル数の上限値を設定します。 上限に達している場合は、無害化処理が必ず失敗します。

zipdeleteセクション
項目名 解説
SaveLimit 無害化済みのデータを削除するまでの日数を設定します。

5.2 rule.conf

rule.confは、ZIPファイルに含まれるファイルを無害化するルールを設定する設定ファイルです。 ファイルの文字コードはUTF-8です。

rule.conf
###############################################################################
# suffix coverted command
###############################################################################
#
# Example of converting html to txt
# html txt /bin/python-html2text
#
# Example of registering multiple extensions
# htm,xhtml txt /bin/python-html2text
#
# Example of emptying .exe file
# exe - /bin/echo
#
# Examples of giving command options
# png jpg /bin/convert - jpg:-
#
# In the case of unexpected extensions, an example of always failing conversion
# * - /bin/false

* - none


rule.confの書式は以下の通りです。

  • 一行あたり空白文字(スペース・タブ文字)区切りで3カラム設定します。
  • 1カラム目は、無害化対象のファイル拡張子です
  • 2カラム目は、無害化後のファイル拡張子です
  • 3カラム目は、無害化を行うコマンドです。3カラム目以降はコマンドのオプションとみなされます。
  • #から始まる行はコメント行とみなされます。


無害化対象のファイル拡張子の仕様は以下の通りです。

  • ファイル拡張子をASCII文字で指定します。
  • 「file.txt」をマッチさせたい場合、txtを設定します。つまりドットは不要です。
  • 1行にカンマ区切りで複数の拡張子を設定することができます。
  • *を指定することで、他のルールでマッチしなかったファイルを処理するルールになります。
  • 拡張子は大文字小文字区別なく一致するように処理されます。
  • 同じ拡張子を複数設定することはできません。


無害化後のファイル拡張子の仕様は以下の通りです。

  • 無害化コマンドの実行に成功した場合のみ、拡張子の変更が行われます
  • -を指定すると拡張子の変更を行ないません。


無害化コマンドの仕様は以下の通りです。

  • 絶対パスでコマンドを指定します。
  • 変換の結果は、コマンドの終了コードが0の場合、成功とみなされます。0以外の場合は失敗とみなされます。
  • データを変換する場合、標準入力でデータを受け取り、変換結果を標準出力に出力できる必要があります。
  • 特定のデータに置き換える場合は、標準出力に出力することでファイルの内容は置き換えが可能です。

5.3 メールテンプレート

5.3.1 URL通知テキストファイルテンプレート

ZIP無害化コネクタが、宛先のユーザにURLを通知する場合に利用する添付ファイルのテンプレートです。 テンプレート名は「url.tmpl」です。 ファイルの文字コードはUTF-8です。 以下は利用可能なタグ文字です。

  • {$file} … 添付ファイルの名前
  • {$url} … WEBインタフェースのURL

rule.conf
本メールに添付されていたZIPファイルを参照するためには、以下のURLに接続してください。

添付ファイル名:{$file}
URL:{$url}

5.3.2 無害化通知メールテンプレート

無害化後に送信するメールのテンプレートです。 テンプレート名は「mail.tmpl」です。 ファイルの文字コードはUTF-8です。

rule.conf
ZIPファイルを無害化しました。
ZIPファイルに含まれるファイルが自動的に変換されています。

参照できないファイルがある場合は、管理者にお問い合わせください。
なお本メールに返信を行っても対応が行えません。ご注意ください。

5.3.3 無害化警告メールテンプレート

無害化が一部失敗した場合に送信するメールのテンプレートです。 テンプレート名は「mailwarn.tmpl」です。

以下は利用可能なタグ文字です。

  • $errors … 無害化に失敗したファイルの一覧

rule.conf
ZIPファイルを無害化しましたが、一部ファイルの無害化に失敗しました。
添付されているZIPファイルには、無害化されていないファイルが含まれています。
注意して展開してください。

[無害化に失敗したファイル一覧]
{$errors}

参照できないファイルがある場合は、管理者にお問い合わせください。
なお本メールに返信を行っても対応が行えません。ご注意ください。

5.3.4 無害化エラーメールテンプレート

システムに致命的なエラーが発生した場合に送信するメールのテンプレートです。 テンプレート名は「mailerror.tmpl」です。 ファイルの文字コードはUTF-8です。

以下は利用可能なタグ文字です。

  • {$hash} … 処理に失敗したデータのハッシュ値

rule.conf
ZIPファイルを無害化に失敗しました。

プロセスキーワード: {$hash}

管理者にお問い合わせください。
なお本メールに返信を行っても対応が行えません。ご注意ください。


next up previous contents
Next: この文書について... Up: SaMMA ZIP無害化プラグイン Previous: 4. SaMMA ZIP無害化プラグインの動作

2017年10月31日