Mailman の設定後、Postfix 側も設定の修正が必要になります。併せて、Apache Webサーバー側でメーリングリストをHTMLに出力するアーカイブ機能に関する設定の確認を行う必要もあります。
/etc/postfix/main.cf を以下のように修正します。
Mailman が使用する aliases を Postfix が参照できるように変更します。
alias_maps = hash:/etc/aliases
↓以下に修正
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
alias_database = hash:/etc/aliases
↓以下に修正
alias_database = hash:/etc/aliases, hash:/etc/mailman/aliases
# recipient_delimiter = +
↓ コメントを外して有効に
recipient_delimiter = +
以下を追加します。 Postfix は -owner と -request 宛のアドレスのメールは拒否するようになっているので、それを受け取るようになります。
以下は記載がなければ追記。CentOS6のパッケージには記載がありました。送信しないローカルアドレスに対して5日間メールを送ろうとする動作を無向にします。
Postfix は再起動しないで引き続き Apache の設定を行います。.
mailman をインストールした際に、メーリングリストをHTML化して公開するディレクトリの設定ファイルが作成されています。
デフォルトでは全てのネットワークから接続が可能になっているので、同一ホストのWebサーバーがインターネットに公開されている環境下であれば、アクセス制限を行っておく必要があります。(理由は後述)
本稿では、送受信の通信経路の暗号化保護に対応した機密性の高いメールの利用を目的にメールサーバーを構築しましたが、そこで運用されるメーリングリストの内容が、知らずに Web上に公開されては笑い話にもなりません。
重要!:後述しますが、mm_cfg.py を修正する方法では外部に誤って公開されてしまう問題は回避できません。mlオーナーの設定によっては、外部に公開されてしまいますので、必ず この Apache 側の設定は見直すようにして下さい。ここで設定しておけば、Mailman 側でどのように設定しても、誤ってメールの内容が外部に公開されることは無くなります。あくまで本稿のメール運用ポリシーにおける話しですが。
mailman.conf の内容は以下の通りです。
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
<Directory /usr/lib/mailman/cgi-bin/>
AllowOverride None
Options ExecCGI
# Order allow,deny
# Allow from all
# アクセス制限変更
order deny,allow
allow from 192.168.4.50 # アクセス制限を変更
</Directory>
Alias /pipermail/ /var/lib/mailman/archives/public/
<Directory /var/lib/mailman/archives/public>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
# Order allow,deny
# Allow from all
order deny,allow
allow from localhost
AddDefaultCharset Off
</Directory>
マーカーで示した箇所がアクセス制限に関する箇所です。この例では、192.168.4.50 以外からのアクセスは出来ないようにしています。
上記の設定の内容は、
に対するApacheの公開設定であり、ぞれぞれの運用目的、セキュリティポリシーに合わせてアクセス制限を行う必要があります。
/mailman/ は MLシステム管理者やML管理者、ユーザーに提供する GUI を提供するURLになります。MLの作成、MLに参加させるメールアドレスの登録、退会手続きを全てシステム管理者が行うのであれば、MLに参加するメールアドレスの参加者に対して、GUI による画面の提供は必須ではありません。業務における強制参加のMLなどが該当しますが、その場合は、Apache側で接続できるネットワークを絞り込むことでセキュリティレベルは向上します。必要もないのに外部に窓口を開きっぱなしにする意味はありませんので。
/pipermail/ の URL で提供される機能は、保存書庫の閲覧です。メーリングリストでやり取りされた内容をスレッド形式でHTMLで読むことが出来ます。つまり、インターネットに接続された環境下においては、社内のとある部所で限定して使用していた筈のMLの内容が、実はインターネット上で全て公開されていた、という情報漏えいにも直結しかねない重要なポイントとなります。ML管理インターフェイスの[書庫保存オプション]にて書庫機能の有効、無向の切替えは行えますが、デフォルトでは有効になっています。また、仮にここで無向にしても、設定ミスで公開される可能性は排除できません。一番、確実な対策として、mailman の ml管理だけでなく、この Apache の接続制限でローカルホストや管理者のIPアドレスに接続の許可するネットワークを絞り込む対策も併せて行っておくことです。
補足:システム管理者の使用に限定できるのであれば、Apache のクライアント認証による接続も検討してみて下さい。必要な証明書を提示しなければ、接続できなくする事が出来ます。WebサーバーのSSL化とクライアント認証の導入手順については、こちらで解説しています。
以上で設定は終了です。
以下の順で再起動、起動させ、上記設定を反映させます。
システム起動時に mailman が起動するようにします。
すべて off になっていればシステム起動時に起動しないので
これでシステム再起動時に mailman が起動します。
引き続き、Mailman の動作確認と、基本的な使い方について説明します。