linux:postfix_dovecot
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| linux:postfix_dovecot [2013/04/12 02:35] – 外部編集 127.0.0.1 | linux:postfix_dovecot [2018/09/03 12:33] (現在) – [SIEVE関係] Wiki Editor | ||
|---|---|---|---|
| 行 26: | 行 26: | ||
| #/ | #/ | ||
| home_mailbox = .maildir/ | home_mailbox = .maildir/ | ||
| + | |||
| + | ==== ローカルヘッダの隠蔽 ==== | ||
| + | メールを送信する際に、接続元MUAのIPアドレスやホスト名がReceivedヘッダに記録される。メールの経路情報として重要ではあるが、内部のネットワーク構成をあまり知られたくないので、(メールシステムの仕様や理念からは少し外れるかもしれないが)ヘッダを削除しておく。 | ||
| + | |||
| + | Postfixのheader_checksで該当するヘッダを削除すればよい。ただし、 | ||
| + | |||
| + | # / | ||
| + | header_checks = regexp:/ | ||
| + | | ||
| + | # / | ||
| + | /^Received: from.*192\.168\..*/ | ||
| + | |||
| + | / | ||
| + | |||
| + | ただし、条件にマッチしたヘッダがすべて削除されるので、場合によっては外からのメールのヘッダも消えるので注意すること。たとえば、上記の場合、「192.168...」がReceivedヘッダに含まれていれば削除されてしまう。外出先から送信する場合などは、送信ホストのアドレスが記録されるので、これを消したいのだが、、、自分が接続した場合だけ削除する方法がわからない。 | ||
| + | |||
| + | ===== aliasによる簡易的なバーチャルメールボックス ===== | ||
| バーチャルユーザのメールボックスについては、いくつか実現方法がある。今回はaliasでファイルにmaildir形式で配送することで実現する。 | バーチャルユーザのメールボックスについては、いくつか実現方法がある。今回はaliasでファイルにmaildir形式で配送することで実現する。 | ||
| 行 70: | 行 87: | ||
| 「virtual.example.jp」という架空ドメインを作成し、バーチャルメールボックスはここで全て管理する。このドメインには、外部から直接メールを受け取らない。ローカルのaliasからのみ転送することにする。 | 「virtual.example.jp」という架空ドメインを作成し、バーチャルメールボックスはここで全て管理する。このドメインには、外部から直接メールを受け取らない。ローカルのaliasからのみ転送することにする。 | ||
| + | === バーチャルメールボックスの設定 === | ||
| + | / | ||
| + | account1@virtual.example.jp | ||
| + | account2@virtual.example.jp | ||
| + | 起点となるディレクトリ以下のどのディレクトリにメールを格納するかを決める。ディレクトリはあらかじめ作成しておく必要があるかもしれない。 | ||
| + | ファイルを作成したら、以下のコマンドでデータベースを更新する。 | ||
| + | > postmap / | ||
| - | + | これで、/ | |
| - | + | ||
| ===== dovecotの設定 ===== | ===== dovecotの設定 ===== | ||
| / | / | ||
| 行 293: | 行 315: | ||
| # | # | ||
| dovecot | dovecot | ||
| - | | + | |
| dovecotにアクセスしユーザ情報を取得するためのクエリにあたる部分。dovecotのバーチャルユーザマップでユーザ名のみを記載している場合「-d ${user}」でユーザ名のみで検索するようにする。ドメイン名まで含めてユーザを登録している場合は、Webサイトの通りでよい。 | dovecotにアクセスしユーザ情報を取得するためのクエリにあたる部分。dovecotのバーチャルユーザマップでユーザ名のみを記載している場合「-d ${user}」でユーザ名のみで検索するようにする。ドメイン名まで含めてユーザを登録している場合は、Webサイトの通りでよい。 | ||
| + | |||
| + | エラーメールを受け取った際に、エラーメールは「Return-Path」が空である必要があるが、dovecotでローカル配送すると送信元をReturn-Pathに設定するので、「Return-Path: | ||
| 行 355: | 行 379: | ||
| 振り分け先のフォルダがサブフォルダの時、ファイルシステム上では「.spam」のように隠しフォルダであるが、sieveではINBOX.サブフォルダ名と記述する。 | 振り分け先のフォルダがサブフォルダの時、ファイルシステム上では「.spam」のように隠しフォルダであるが、sieveではINBOX.サブフォルダ名と記述する。 | ||
| + | |||
| + | |||
| + | |||
| + | ===== 転送時の送信元書き換え ===== | ||
| + | メールが転送される時、メールを実際に送信(転送)するサーバと、メール本体に書かれている送信元情報が異なってしまう。メールシステム上は特に問題ないが、最近のスパム対策に引っ掛かり問題となる可能性がある。例えばspfはメール本体の送信者情報から送信元サーバを検証するため、転送メールでは送信元として転送前のspfレコードを検索してしまう。そうすると、そのspfには実際に送信している転送ホストがリストされていないため、検証に失敗してしまう。そこで、転送時にspfの検証に利用されるenvelope_senderを書き換えて対応する。 | ||
| + | |||
| + | Postfixの設定ファイル「main.cf」に以下を設定 | ||
| + | |||
| + | # 書き換え対象のヘッダ | ||
| + | sender_canonical_classes = envelope_sender | ||
| + | | ||
| + | # 書き換えルールを記述したファイル。「regexp: | ||
| + | sender_canonical_maps = regexp:/ | ||
| + | |||
| + | / | ||
| + | # 「@」以下をすべて自サイトのドメインに書き換え | ||
| + | / | ||
| + | |||
| + | 書き換えルールファイルを作成した後にpostmapでデータベース作成 | ||
| + | > postmap / | ||
| + | |||
| + | |||
| + | これで転送メールのspfの問題は解消されるが、問題もありそう。転送したメールの表面上のヘッダは書き変わらないが、Return-Pathには書き換えた値がセットされてしまう。転送先にトラブルがありエラーメールが帰って来た場合、「@」以下のみ書き換えているため転送ホストにそのようなユーザは存在しないため、エラーがどこにも帰らなくなる。 | ||
| + | |||
| + | |||
| + | ===== 2.3系へのアップデート対応 ===== | ||
| + | 2.3系のアップデートでいくつか設定ファイルの修正が必要だった。 | ||
| + | |||
| + | ==== SSL関係 ==== | ||
| + | 以下の設定が必須になったようだ。 | ||
| + | * [[https:// | ||
| + | |||
| + | 以前のバージョンではDiffie Hellman parametersが初回起動時に自動生成され週ごとに再生成されていたが、セキュリティ上のメリットがさほどないため廃止された。バージョン2.3からはssl_dhの指定が強制されるため、以下を必ず設定して、設定した場所にDiffie Hellman parametersファイルを配置しなければならない。 | ||
| + | |||
| + | / | ||
| + | ssl_dh = </ | ||
| + | |||
| + | ファイルの内容は、以前のものを再利用する場合以下のコマンドで変換できる | ||
| + | # 旧バージョンで生成されたssl-parameters.datファイルの場所は適宜探して指定する | ||
| + | dd if=/ | ||
| + | |||
| + | 今回は強度の高いものを新しく再生成する | ||
| + | openssl dhparam 4096 | ||
| + | |||
| + | 生成にはかなり時間がかかるので、しばらく待つ。 | ||
| + | |||
| + | ==== SIEVE関係 ==== | ||
| + | * [[https:// | ||
| + | |||
| + | バージョン2.3にすると、SIEVEの振り分けが動かなくなった。ログに以下のエラーが出力されていた。 | ||
| + | |||
| + | Sep 03 11:06:54 [dovecot] lda(****)< | ||
| + | |||
| + | エラーを返す際のpostmasterのメールアドレスのドメイン部分がうまく取得できていないようだ。これまでは厳密にチェックされていなかったが、バージョン2.3からはチェックされるようになり、SIEVEが起動できなくなったようだ。 | ||
| + | |||
| + | 以下のpostmaster_addressのパラメータにpostmasterのアドレスを設定してやると解決する。 | ||
| + | |||
| + | / | ||
| + | postmaster_address = postmaster@xxxx.co.jp | ||
linux/postfix_dovecot.1365701742.txt.bz2 · 最終更新: (外部編集)
