Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Dovecotのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Dovecot
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:メールサーバー]] [[en:Dovecot]] {{Related articles start}} {{Related|Postfix}} {{Related|Courier MTA}} {{Related|OpenSMTPD}} {{Related|Fail2ban}} {{Related|SOGo}} {{Related|仮想ユーザーメールシステム}} {{Related articles end}} この記事では個人やスモールオフィスでの利用に適したメールサーバーの設定方法について記述しています。 [http://www.dovecot.org/ Dovecot] は Linux/Unix ライクなシステム向けのオープンソースの [[Wikipedia:IMAP|IMAP]] と [[Wikipedia:POP3|POP3]] サーバーで、セキュリティを主眼に置いて書かれています。Dovecot は Timo Sirainen によって開発され、2002年7月に初めてリリースされました。Dovecot は第一に軽量で高速、設定しやすいオープンソースのメールサーバーを目指しています。詳しい情報は、公式の [https://wiki2.dovecot.org/ Dovecot Wiki] を見て下さい。 ==インストール== {{Pkg|dovecot}} と {{Pkg|pam}} パッケージを[[pacman|インストール]]してください。 ==設定== ===前提=== * Dovecot によるメールアカウントはそれぞれ、サーバーに定義するローカルのユーザーアカウントを持ちます。 * サーバーはローカルのユーザーデータベース (/etc/passwd) ではなく [[PAM]] を使ってユーザーを認証します。 * 認証パスワードの暗号化には [[Wikipedia:ja:Transport_Layer_Security|SSL]] が使われます。 * 一般的な [[Wikipedia:ja:Maildir|Maildir]] フォーマットを使ってユーザーのホームディレクトリにメールを保存します。 * [[Wikipedia:ja:メール配送エージェント|MDA]] はあらかじめローカルユーザーにメールを配達するように設定されています。 ===SSL 証明書の作成=== {{Pkg|dovecot}} パッケージにはサーバーの SSL 証明書を生成するためのスクリプトが含まれています。 * サンプルファイルから設定ファイルをコピーしてください: {{ic|# cp /usr/share/doc/dovecot/dovecot-openssl.cnf /etc/ssl/dovecot-openssl.cnf}}。 * {{ic|/etc/ssl/dovecot-openssl.cnf}} を編集して証明書を設定してください。 * {{ic|# /usr/lib/dovecot/mkcert.sh}} を実行すれば証明書が生成されます。 証明書・キーのペアは {{ic|/etc/ssl/certs/dovecot.pem}} と {{ic|/etc/ssl/private/dovecot.pem}} として作成されます。 証明書を変更した時は {{ic|cp /etc/ssl/certs/dovecot.pem /etc/ca-certificates/trust-source/anchors/dovecot.crt}} と {{ic|# trust extract-compat}} を実行してください。 {{Warning|SSL/TLS を使用する場合、{{ic|/etc/dovecot/conf.d/10-ssl.conf}} の[[#Dovecot の設定|設定]]に以下を追加して [http://disablessl3.com/ POODLE] と [https://weakdh.org/sysadmin.html FREAK/Logjam] の対策をしてください: {{bc|1= ssl_protocols = !SSLv3 ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA ssl_prefer_server_ciphers = yes }}}} ===DH パラメータの生成=== 新しい DH パラメータファイルを生成するには (長い時間がかかります): # openssl dhparam -out /etc/dovecot/dh.pem 4096 {{ic|/etc/dovecot/dovecot.conf}} にファイルを追加してください: ssl_dh = </etc/ssl/dh.pem ===PAM 認証=== {{note| 最新の {{pkg|dovecot}} パッケージでは、この設定がデフォルトで有効になります。 }} * dovecot の PAM を設定するには、以下の内容で {{ic|/etc/pam.d/dovecot}} を作成してください: {{hc|/etc/pam.d/dovecot| auth required pam_unix.so nullok account required pam_unix.so }} ===PAM 認証と LDAP=== * [[OpenLDAP]] サーバーを使って認証している場合、[[LDAP 認証]]に書かれているように先に LDAP ユーザーでログインできることを確認してください。それから、{{ic|/etc/pam.d/dovecot}} に以下を記述します。エントリの順番には意味があるので注意してください: {{hc|/etc/pam.d/dovecot|2= auth sufficient pam_ldap.so auth required pam_unix.so nullok account sufficient pam_ldap.so account required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel umask=0022 session sufficient pam_ldap.so }} 上記の設定の場合 LDAP とシステムユーザーの両方がメールボックスを持つことになります。 * {{ic|/etc/dovecot/conf.d/auth-system.conf}} を編集して {{ic|passdb}} ディレクティブを以下のように変更: <pre> passdb { driver = pam args = session=yes dovecot } </pre> {{ic|pam_mkhomedir.so}} モジュールを使用して {{ic|passdb}} ディレクティブに {{ic|session}} を追加することで、LDAP ユーザーが最初にログインしたときにホームディレクトリを自動的に作成します。 ===Dovecot の設定=== * {{ic|/usr/share/doc/dovecot/example-config}} から {{ic|/etc/dovecot}} に {{ic|dovecot.conf}} と {{ic|conf.d/*}} 設定ファイルをコピーしてください: {{bc| # cp /usr/share/doc/dovecot/example-config/dovecot.conf /etc/dovecot # cp -r /usr/share/doc/dovecot/example-config/conf.d /etc/dovecot }} ほとんどのシステムではデフォルト設定で問題ありませんが、設定ファイルを読んで利用できるオプションを確認してください。詳しい説明は [https://wiki2.dovecot.org/QuickConfiguration クイック設定ガイド] や [https://wiki2.dovecot.org/#Dovecot_configuration dovecot configuration] を見て下さい。 デフォルトで dovecot はシステムで使われているメールストレージシステムを検出しようとします。Maildir フォーマットを使うには {{ic|/etc/dovecot/conf.d/10-mail.conf}} を編集して {{ic|1=mail_location = maildir:~/Maildir}} を設定してください。 ===Sieve=== [[wikipedia:Sieve (mail filtering language)|Sieve]] はメールサーバーのメールのフィルターを作成するのに使うことができるプログラミング言語です。 ====Sieve Interpreter Plugin==== * {{Pkg|pigeonhole}} をインストールしてください。 * {{ic|sieve}} を {{ic|mail_plugins}} に追加してください: ** {{ic|<nowiki>/etc/dovecot/conf.d/15-lda.conf</nowiki>}}{{bc|<nowiki> protocol lda { mail_plugins = $mail_plugins sieve } </nowiki>}} ** {{ic|/etc/dovecot/conf.d/20-lmtp.conf}}{{bc|<nowiki> protocol lmtp { mail_plugins = $mail_plugins sieve } </nowiki>}} {{Note|最近は LDA のかわりに LMTP を使用することが推奨されます。ただし小規模なメールサーバー用に Dovecot LDA はまだ使い続けられます。詳しくは [https://wiki2.dovecot.org/LMTP Dovecot Wiki] を参照。}} * 任意で {{ic|plugin}} セクションに設定を追加してください。設定オプションとデフォルト値については [https://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration Sieve Interpreter Documentation] を見てください。例: {{bc|<nowiki> plugin { sieve = file:~/sieve;active=~/.dovecot.sieve } </nowiki>}} {{Note|{{ic|/etc/dovecot/conf.d/}} 内の設定ファイルは {{ic|/etc/dovecot/dovecot.conf}} に {{ic|!include /etc/dovecot/conf.d/*.conf}} という行がないと読み込まれません。[[仮想ユーザーメールシステム]]のガイドに従っている場合、行を追加してください。}} =====SpamAssassin - スパムを "Junk" フォルダに移動===== * スパムテスト設定を追加: {{hc|/etc/dovecot/conf.d/90-sieve.conf|<nowiki> plugin { sieve_extensions = +spamtest +spamtestplus sieve_spamtest_status_type = score sieve_spamtest_status_header = \ X-Spam_score: (-?[[:digit:]]+\.[[:digit:]]).* sieve_spamtest_max_value = 5.0 sieve_before = /var/lib/dovecot/sieve/global_sieves/move_to_spam_folder.sieve } </nowiki>}} {{Note|上記は "X-Spam_score" (Exim のデフォルト設定におけるスパムのヘッダー形式) をテストします。ヘッダーは多少異なる可能性があります。例: "X-Spam-Score"。}} * sieve スクリプトを作成: {{hc|/var/lib/dovecot/sieve/global_sieves/move_to_spam_folder.sieve|<nowiki> require "spamtestplus"; require "fileinto"; require "relational"; require "comparator-i;ascii-numeric"; if spamtest :value "ge" :comparator "i;ascii-numeric" "5" { fileinto "Junk"; } </nowiki>}} * sieve をコンパイル: {{bc|<nowiki> sievec /var/lib/dovecot/sieve/global_sieves </nowiki>}} {{ic|move_to_spam_folder.sieve}} と {{ic|move_to_spam_folder.svbin}} ファイルが誰からでも読み込めるように権限が設定されているか確認してください。 ====ManageSieve Server==== サーバー上の Sieve スクリプトをリモートで管理できる ManageSieve プロトコルが実装されています。 * 上記の '''Sieve Interpreter Plugin''' の手順に従ってください。 * {{ic|dovecot.conf}} の {{ic|protocols}} に {{ic|sieve}} を追加: {{bc|<nowiki> protocols = imap pop3 sieve </nowiki>}} * {{ic|/etc/dovecot/conf.d/20-managesieve.conf}} を追加: {{bc|<nowiki> service managesieve-login { } service managesieve { } protocol sieve { } </nowiki>}} * {{ic|dovecot}} を再起動してください。managesieve デーモンはデフォルトではポート 4190 を使用します。 ==サーバーを起動する== 標準の [[systemd]] を使って {{ic|dovecot.service}} [[デーモン]]を操作してください。 # systemctl start dovecot.service ブート時に起動させるには # systemctl enable dovecot.service == ヒントとテクニック == デフォルトではないハッシュ関数を使ってハッシュを生成する: doveadm pw -s SHA512-CRYPT -p "superpassword" データベースのカラムが十分大きいことを確認してください (警告は表示されません)。 dovecot-sql.conf ファイルにパスワードの形式を設定します: default_pass_scheme = SHA512-CRYPT
このページで使用されているテンプレート:
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Dovecot
に戻る。
検索
検索
Dovecotのソースを表示
話題を追加