#author("2018-08-29T12:57:05+09:00","","")

#author("2018-08-29T12:58:36+09:00","","")

[[CentOS7]]

*メールサーバーで添付ファイル自動暗号化(Postfix+SaMMA) [#bff0c645]

メールの添付ファイルを自動的にパスワード保護した''ZIP''形式に暗号化する。ここでは、''[[SaMMA>http://samma.osdn.jp/]]''を導入して、設定した宛先に添付ファイル付メールを送る場合、添付ファイルを自動でパスワード保護した''ZIP''形式に暗号化するようにする。パスワード通知メールは送信者のみに送られてくるので、送信者は内容を確認後、パスワード通知メールを宛先へ転送する。これにより、万が一宛先を誤った場合でも、パスワード通知メールを転送しなければ、宛先では添付ファイルを参照することはできない。

[[SaMMAによる添付ファイル自動暗号化運用イメージ>https://www.designet.co.jp/open_source/samma/node2.php#SECTION00211000000000000000]]



*SaMMAインストール [#p565fcb4]
|BGCOLOR(black):COLOR(white):|c
|&color(lime){''EPEL''リポジトリ導入(''EPEL'')を参照して''EPEL''リポジトリを導入する};|
|[root@centos ~]# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm &color(lime){← ''nux-dextop''リポジトリインストール};|

|[root@centos ~]# yum -y install sendmail-devel openldap-devel glib2-devel gmime-devel libspf2-devel &color(lime){← ''SaMMA''インストールに必要なパッケージをインストール};|

|[root@centos ~]# alternatives --config mta &color(lime){← ''sendmail''コマンド設定};|

|[root@localhost ~]# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm &color(lime){← ''nux-dextop''リポジトリインストール};|

|[root@localhost ~]# yum -y install sendmail-devel openldap-devel glib2-devel gmime-devel libspf2-devel &color(lime){← ''SaMMA''インストールに必要なパッケージをインストール};|

|[root@localhost ~]# alternatives --config mta &color(lime){← ''sendmail''コマンド設定};|

|2 プログラムがあり 'mta' を提供します。 &br;  &br;   選択       コマンド &br; ----------------------------------------------- &br;    1           /usr/sbin/sendmail.postfix &br; *+ 2           /usr/sbin/sendmail.sendmail &br;  &br; Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:&color(lime){1}; &color(lime){← 1を応答して''postfix''の''sendmail''コマンドを使用するように設定};|
|[root@centos ~]# wget https://ja.osdn.net/dl/samma/SaMMA-4.1.11.tar.gz &color(lime){← ''SaMMA''ダウンロード};|

|[root@localhost ~]# wget https://ja.osdn.net/dl/samma/SaMMA-4.1.11.tar.gz &color(lime){← ''SaMMA''ダウンロード};|

|&color(lightpink){※最新版のURLは[[ダウンロードページ>https://ja.osdn.net/projects/samma/releases/]]で確認すること};|
|[root@centos ~]# tar zxvf SaMMA-4.1.11.tar.gz &color(lime){← ''SaMMA''展開};|

|[root@centos ~]# cd SaMMA-4.1.11/ &color(lime){← ''SaMMA''展開先へ移動};|

|[root@centos SaMMA-4.1.11]# ./configure && make && make install &color(lime){← ''SaMMA''インストール};|

|[root@centos SaMMA-4.1.11]# cd &color(lime){← ホームディレクトリへ戻る};|

|[root@centos ~]# rm -rf SaMMA-4.1.11 &color(lime){← 展開先ディレクトリを削除};|

|[root@centos ~]# rm -f SaMMA-4.1.11.tar.gz &color(lime){← ダウンロードしたファイルを削除};|

|[root@centos ~]# echo /usr/local/lib > /etc/ld.so.conf.d/libdg.conf &color(lime){← ''libdg''ライブラリパス設定};|

|[root@centos ~]# ldconfig &color(lime){← ''libdg''ライブラリパス設定反映};|

|[root@localhost ~]# tar zxvf SaMMA-4.1.11.tar.gz &color(lime){← ''SaMMA''展開};|

|[root@localhost ~]# cd SaMMA-4.1.11/ &color(lime){← ''SaMMA''展開先へ移動};|

|[root@localhost SaMMA-4.1.11]# ./configure && make && make install &color(lime){← ''SaMMA''インストール};|

|[root@localhost SaMMA-4.1.11]# cd &color(lime){← ホームディレクトリへ戻る};|

|[root@localhost ~]# rm -rf SaMMA-4.1.11 &color(lime){← 展開先ディレクトリを削除};|

|[root@localhost ~]# rm -f SaMMA-4.1.11.tar.gz &color(lime){← ダウンロードしたファイルを削除};|

|[root@localhost ~]# echo /usr/local/lib > /etc/ld.so.conf.d/libdg.conf &color(lime){← ''libdg''ライブラリパス設定};|

|[root@localhost ~]# ldconfig &color(lime){← ''libdg''ライブラリパス設定反映};|




*SaMMA設定 [#odf69af3]
**SaMMA設定 [#xf7b7086]
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# cp /usr/local/etc/samma/samma.conf.enc.default /usr/local/etc/samma/samma.conf &color(lime){← サンプルより''SaMMA''設定ファイルをコピー};|

|[root@centos ~]# cp /usr/local/etc/samma/samma.tmpl.default /usr/local/etc/samma/samma.tmpl &color(lime){← サンプルよりパスワード通知書式ファイルをコピー};|

|[root@centos ~]# cp /usr/local/etc/samma/errmsg.tmpl.default /usr/local/etc/samma/errmsg.tmpl &color(lime){← サンプルより文字コード変換失敗用パスワード通知書式ファイルをコピー};|

|[root@centos ~]# cp /usr/local/etc/samma/sender.default /usr/local/etc/samma/sender &color(lime){← サンプルより送信元設定ファイルをコピー};|

|[root@centos ~]# cp /usr/local/etc/samma/rcpt.default /usr/local/etc/samma/rcpt &color(lime){← サンプルより宛先設定ファイルをコピー};|

|[root@localhost ~]# cp /usr/local/etc/samma/samma.conf.enc.default /usr/local/etc/samma/samma.conf &color(lime){← サンプルより''SaMMA''設定ファイルをコピー};|

|[root@localhost ~]# cp /usr/local/etc/samma/samma.tmpl.default /usr/local/etc/samma/samma.tmpl &color(lime){← サンプルよりパスワード通知書式ファイルをコピー};|

|[root@localhost ~]# cp /usr/local/etc/samma/errmsg.tmpl.default /usr/local/etc/samma/errmsg.tmpl &color(lime){← サンプルより文字コード変換失敗用パスワード通知書式ファイルをコピー};|

|[root@localhost ~]# cp /usr/local/etc/samma/sender.default /usr/local/etc/samma/sender &color(lime){← サンプルより送信元設定ファイルをコピー};|

|[root@localhost ~]# cp /usr/local/etc/samma/rcpt.default /usr/local/etc/samma/rcpt &color(lime){← サンプルより宛先設定ファイルをコピー};|




**暗号化対象設定 [#xbf2d9dc]
|BGCOLOR(black):COLOR(white):|c
|[root@centos samma]# cd /usr/local/etc/samma/ &color(lime){← ''SaMMA''設定ファイル格納先へ移動};|

|[root@centos samma]# echo @`hostname -d` >> sender &color(lime){← 暗号化対象送信元を設定 ※内部から送信するメールの添付ファイルはすべて暗号化};|

|[root@centos samma]# echo @example.co.jp >> rcpt &color(lime){← 暗号化対象宛先を設定※@example.co.jp宛に送信するメールの添付ファイルはすべて暗号化};|

|[root@centos samma]# make &color(lime){← 内部ドメインDB(''sender.db'')・受信者DB(''rcpt.db'')作成};|

|[root@centos samma]# cd &color(lime){← ホームディレクトリへ戻る};|

|[root@localhost samma]# cd /usr/local/etc/samma/ &color(lime){← ''SaMMA''設定ファイル格納先へ移動};|

|[root@localhost samma]# echo @`hostname -d` >> sender &color(lime){← 暗号化対象送信元を設定 ※内部から送信するメールの添付ファイルはすべて暗号化};|

|[root@localhost samma]# echo @example.co.jp >> rcpt &color(lime){← 暗号化対象宛先を設定※@example.co.jp宛に送信するメールの添付ファイルはすべて暗号化};|

|[root@localhost samma]# make &color(lime){← 内部ドメインDB(''sender.db'')・受信者DB(''rcpt.db'')作成};|

|[root@localhost samma]# cd &color(lime){← ホームディレクトリへ戻る};|




**パスワード通知メール文字化け対処 [#ea17c721]
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# nkf -w /usr/local/etc/samma/samma.tmpl > samma.tmpl &color(lime){← パスワード通知メールテンプレートを編集用に文字コード変換してコピー};|

|[root@centos ~]# vi samma.tmpl &color(lime){← パスワード通知メールテンプレート編集};|

|[root@localhost ~]# nkf -w /usr/local/etc/samma/samma.tmpl > samma.tmpl &color(lime){← パスワード通知メールテンプレートを編集用に文字コード変換してコピー};|

|[root@localhost ~]# vi samma.tmpl &color(lime){← パスワード通知メールテンプレート編集};|

|To: <@@TOADDR@@> &br; Subject: パスワード通知メール &br; Content-Type: text/plain; charset=ISO-2022-JP &color(lime){← 追加}; &br; Content-Transfer-Encoding: 8bit &color(lime){← 追加}; &br; MIME-Version: 1.0 &color(lime){← 追加}; &br;  &br; 以下のメールに添付されたファイルの解凍パスワードをお知らせします。 &br;  &br; 件名: <@@SUBJECT@@> &br; 日付: <@@DATE@@> &br; パスワード: <@@PASSWORD@@> &br;  &br; 受信者 &br; <@@RCPTLIST@@> &br;  &br; 添付ファイル名 &br; <@@FILENAME@@>|
|[root@centos ~]# nkf --ic=UTF-8 --oc=ISO-2022-JP -x -m0 samma.tmpl > /usr/local/etc/samma/samma.tmpl ; rm -f samma.tmpl &color(lime){← 編集したパスワード通知メールテンプレートを文字コード変換してコピー(戻し)後に削除};|

|[root@localhost ~]# nkf --ic=UTF-8 --oc=ISO-2022-JP -x -m0 samma.tmpl > /usr/local/etc/samma/samma.tmpl ; rm -f samma.tmpl &color(lime){← 編集したパスワード通知メールテンプレートを文字コード変換してコピー(戻し)後に削除};|




**日本語ファイル名文字化け対処 [#x016ed5e]
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# wget https://ja.osdn.net/dl/samma/libiconv-1.12-1.src.rpm &color(lime){← libiconvのSRPMをダウンロード};|

|[root@localhost ~]# wget https://ja.osdn.net/dl/samma/libiconv-1.12-1.src.rpm &color(lime){← libiconvのSRPMをダウンロード};|

|&color(lightpink){※最新版のURLは[[ダウンロードページ>https://ja.osdn.net/projects/samma/releases/]]で確認すること};|
|[root@centos ~]# rpm -ivh libiconv-1.12-1.src.rpm &color(lime){← ''libiconv''の''SRPM''を展開};|

|[root@localhost ~]# rpm -ivh libiconv-1.12-1.src.rpm &color(lime){← ''libiconv''の''SRPM''を展開};|

|更新中 / インストール中... &br;    1:libiconv-1.12-1                  ################################# [100%] &br; 警告: ユーザー yamauchi は存在しません - root を使用します &br; 警告: グループ designet は存在しません - root を使用します &br; 警告: ユーザー yamauchi は存在しません - root を使用します &br; 警告: グループ designet は存在しません - root を使用します &br; 警告: ユーザー yamauchi は存在しません - root を使用します &br; 警告: グループ designet は存在しません - root を使用します|
|[root@centos ~]# vi ~/rpmbuild/SPECS/libiconv.spec &color(lime){← libiconv.spec編集};|

|[root@localhost ~]# vi ~/rpmbuild/SPECS/libiconv.spec &color(lime){← libiconv.spec編集};|

|&color(lime){#};make &color(lime){← 行頭に#を追加してコメントアウト}; &br;  &br; %install &br; &color(lime){↓}; &br; %makeinstall &color(lime){← makeinstallに変更};|
|[root@centos ~]# rpmbuild -bb --clean ~/rpmbuild/SPECS/libiconv.spec &color(lime){← ''libiconv''の''RPM''を生成|

|[root@centos ~]# rpm -ivh --nodeps rpmbuild/RPMS/`uname -p`/libiconv-1.12-1.`uname -p`.rpm &color(lime){← 生成した''libiconv''の''RPM''をインストール};|

|[root@centos ~]# rm -f ~/rpmbuild/RPMS/`uname -p`/libiconv-1.12-1.`uname -p`.rpm &color(lime){← 生成した''libiconv''の''RPM''を削除};|

|[root@centos ~]# rpmbuild --rmsource --rmspec ~/rpmbuild/SPECS/libiconv.spec &color(lime){← ''RPM''生成後始末};|

|[root@centos ~]# rm -f libiconv-1.12-1.src.rpm &color(lime){← ダウンロードした''libiconv''の''SRPM''を削除};|

|[root@centos ~]# vi /usr/local/bin/sammainit &color(lime){← ''SaMMA''起動スクリプト作成};|

|[root@localhost ~]# rpmbuild -bb --clean ~/rpmbuild/SPECS/libiconv.spec &color(lime){← ''libiconv''の''RPM''を生成|

|[root@localhost ~]# rpm -ivh --nodeps rpmbuild/RPMS/`uname -p`/libiconv-1.12-1.`uname -p`.rpm &color(lime){← 生成した''libiconv''の''RPM''をインストール};|

|[root@localhost ~]# rm -f ~/rpmbuild/RPMS/`uname -p`/libiconv-1.12-1.`uname -p`.rpm &color(lime){← 生成した''libiconv''の''RPM''を削除};|

|[root@localhost ~]# rpmbuild --rmsource --rmspec ~/rpmbuild/SPECS/libiconv.spec &color(lime){← ''RPM''生成後始末};|

|[root@localhost ~]# rm -f libiconv-1.12-1.src.rpm &color(lime){← ダウンロードした''libiconv''の''SRPM''を削除};|

|[root@localhost ~]# vi /usr/local/bin/sammainit &color(lime){← ''SaMMA''起動スクリプト作成};|

|#!/bin/sh &br;  &br; export LD_LIBRARY_PATH=/usr/local/samma/lib &br; export LD_PRELOAD=/usr/local/samma/lib/preloadable_libiconv.so &br; export CHARSET_ALIAS="Shift_JIS=CP932:EUC-JP=EUC-JP-MS:ISO-2022-JP=ISO-2022-JP-MS" &br;  &br; /usr/local/bin/samma|
|[root@centos ~]# chmod +x /usr/local/bin/sammainit &color(lime){← ''SaMMA''起動スクリプトに実行権限付加};|

|[root@localhost ~]# chmod +x /usr/local/bin/sammainit &color(lime){← ''SaMMA''起動スクリプトに実行権限付加};|




*SaMMA起動 [#ia282c7b]
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# vi /usr/lib/systemd/system/samma.service &color(lime){← ''SaMMA''起動スクリプト作成};|

|[root@localhost ~]# vi /usr/lib/systemd/system/samma.service &color(lime){← ''SaMMA''起動スクリプト作成};|

|[Unit] &br; Description=SaMMA (SAfety Mail gateway with Milter Api) &br;  &br; [Service] &br; ExecStart=/usr/local/bin/sammainit &br; Restart=always &br;  &br; [Install] &br; WantedBy=multi-user.target|
|[root@centos ~]# systemctl start samma &color(lime){← ''SaMMA''起動};|

|[root@centos ~]# systemctl enable samma &color(lime){← ''SaMMA''自動起動設定};|

|[root@localhost ~]# systemctl start samma &color(lime){← ''SaMMA''起動};|

|[root@localhost ~]# systemctl enable samma &color(lime){← ''SaMMA''自動起動設定};|




*Postfix・SaMMA連携設定 [#u38aa97c]
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# vi /etc/postfix/main.cf &color(lime){← Postfix設定ファイル編集};|

|[root@localhost ~]# vi /etc/postfix/main.cf &color(lime){← Postfix設定ファイル編集};|

|&color(lightpink){【Milter設定(smtpd_milters)がない場合】}; &br; &color(lime){下記を追加}; &br; smtpd_milters = inet:127.0.0.1:20026 &br; milter_default_action = tempfail|
|&color(lightpink){【Milter設定(smtpd_milters)が既にある場合】}; &br; smtpd_milters = unix:/var/run/milter-manager/milter-manager.sock,inet:127.0.0.1:20026 &color(lime){← SaMMA連携設定を追記};|
|[root@centos ~]# systemctl reload postfix &color(lime){← Postfix設定反映};|

|[root@localhost ~]# systemctl reload postfix &color(lime){← Postfix設定反映};|




*SaMMA確認 [#k470e144]
-''/usr/local/etc/samma/rcpt''に設定したドメインのメールアドレス宛に添付ファイル付メールを送信して、添付ファイルがパスワード保護''ZIP''形式に暗号化されて宛先に送信されること
-パスワード通知メールのパスワードで宛先に送られた''ZIP''ファイルを復号化できること
-''/usr/local/etc/samma/rcpt''に設定していないドメインのメールアドレス宛に添付ファイル付メールを送信して、添付ファイルが暗号化されずにそのまま宛先に送信されること

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS