www.mtkn.jp

Manuscripts for my personal webpage.
git clone https://git.mtkn.jp/www.mtkn.jp
Log | Files | Refs | README

commit d7c9c9df98b6b1e4036965fbb923a58c97e193ea
parent 7fb8a4bed146fae484fdb7b9f8872e7fb5140078
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Tue, 16 Jan 2024 12:25:07 +0900

update draft

Diffstat:
Mman/draft/mailserver.html | 88++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
Mpub/draft/mailserver.html | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
Mpub/rss.xml | 4++--
3 files changed, 153 insertions(+), 15 deletions(-)

diff --git a/man/draft/mailserver.html b/man/draft/mailserver.html @@ -321,6 +321,12 @@ DNSのレコードを設定する。\ <td>mail.mtkn.jp</td> <td>10</td> </tr> +<tr> +<td></td> +<td>TXT</td> +<td>v=spf1 mx -all</td> +<td></td> +</tr> </tbody> </table> @@ -331,8 +337,8 @@ PTRレコードを設定する。\ (mtkn.jp)を入力する。TODO: mail sub domain?? </p> -<h2>OpenSMTPDの設定<h2> -<h3>ユーザーの作成<h3> +<h2>OpenSMTPDの設定</h2> +<h3>ユーザーの作成</h3> <p> メールの送受信を担当するユーザーを作成する:\ </p> @@ -373,6 +379,54 @@ PTRレコードを設定する。\ ~ 2 * * * acme-client mail.mtkn.xyz && rcctl restart smtpd </code></pre> +<h3>ドメインキーの作成とDNSへの登録</h3> +<p> +OpenSMTPD用のDKIMフィルターをインストールする。 +</p> +<pre><code>\ +# pkg_add opensmtpd-filter-dkimsign +</code></pre> + +<p> +ドメインキーとしてRSAの秘密鍵と公開鍵を作成する。\ +DNSのTXTレコードの制約により、鍵の長さは1024ビットにする。 +</p> +<pre><code>\ +# openssl genrsa -out /etc/mail/dkim/private.key 1024 +# openssl rsa -in /etc/mail/dkim/private.key -pubout -out /etc/mail/dkim/public.key +# chown -r _dkimsign:_dkimsign /etc/mail/dkim +# chmod 0400 /etc/mail/dkim/private.key +</code></pre> + +<p>\ +作成したドメインキーの公開鍵をDNSに登録する:\ +</p> +<table> +<thead> +<tr> +<th>サブドメイン</th> +<th>種別</th> +<th>内容</th> +<th>優先度</th> +</tr> +</thead> +<tbody> +<tr> +<td>selector1._domainkey.mail</td> +<td>TXT</td> +<td>v=DKIM1;k=rsa;p=<i>公開鍵</i></td> +<td></td> +</tr> +</tr> +</tbody> +</table> + +<p> +サブドメインのselector1は\ +以下のsmtpd.confの<code>filter-dkimsign</code>の-sオプションと\ +同じものであれば他のものでもいい。\ +</p> + <h3>/etc/mail/smtpd.confの設定</h3> <p> /etc/mail/smtpd.confを以下の通り変更:(TODO: 説明)\ @@ -385,6 +439,9 @@ table aliases file:/etc/mail/aliases table passwd file:/etc/mail/passwd table virtuals file:/etc/mail/virtuals +filter dkim_sign proc-exec\\ + "filter-dkimsign -d mail.mtkn.xyz -s selector1\\ + -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign filter check_rdns phase connect match !rdns disconnect "550 no rDNS." filter check_fcrdns phase connect match !fcrdns disconnect "550 no FCrDNS." @@ -392,13 +449,13 @@ smtp max-message-size 25M listen on socket listen on lo0 -listen on vio0 port 25 tls pki mtkn.jp hostname "mail.mtkn.jp"\ +listen on vio0 port 25 tls pki mtkn.jp hostname "mail.mtkn.jp"\\ filter { check_rdns, check_fcrdns } -listen on vio0 mask-src port submission smtps pki mtkn.jp\ - hostname "mail.mtkn.jp" auth <passwd> +listen on vio0 mask-src port submission smtps pki mtkn.jp\\ + hostname "mail.mtkn.jp" auth <passwd> filter dkim_sign action "local_mail" mbox alias <aliases> -action "domain" maildir "/var/vmail/%{dest.domain:lowercase}/%{dest.user:lowercase}"\ +action "domain" maildir "/var/vmail/%{dest.domain:lowercase}/%{dest.user:lowercase}"\\ virtual <virtuals> action "outbound" relay @@ -420,8 +477,25 @@ match auth from any for any action "outbound" <i>パスワードを入力し、エンター、Ctrl-D</i> </code></pre> -<h2>SSLの設定</h2> +<p> +<code>/etc/mail/virtuals</code>にはメールの転送を設定できる。\ +以下のようにする:\ +</p> +<pre><code>\ +abuse@mtkn.xyz user@mtkn.xyz +portmaster@mtkn.xyz user@mtkn.xyz +webmaster@mtkn.xyz user@mtkn.xyz +user@mtkn.xyz vmail +</code></pre> +<p> +abuse, portmaster, webmasterはなんか一応作っとけみたいに書いてたけど\ +必要なんかな? +</p> + <h2>Dovecotの設定</h2> +<p> +MDAとして<code>dovecot(1)</code>をインストールする。\ + <p> サーバーの証明書が更新される際に<code>dovecot(1)</code>も再読み込みされるように\ diff --git a/pub/draft/mailserver.html b/pub/draft/mailserver.html @@ -256,14 +256,20 @@ DNSのレコードを設定する。ムームーDNSの場合、コントロー <td>mail.mtkn.jp</td> <td>10</td> </tr> +<tr> +<td></td> +<td>TXT</td> +<td>v=spf1 mx -all</td> +<td></td> +</tr> </tbody> </table> <p>PTRレコードを設定する。さくらのVPSの場合、VPS管理画面にログインし、ネットワーク>ホスト名逆引き登録と進み、カスタムホスト名に自分のドメイン名(mtkn.jp)を入力する。TODO: mail sub domain?? </p> -<h2>OpenSMTPDの設定<h2> -<h3>ユーザーの作成<h3> +<h2>OpenSMTPDの設定</h2> +<h3>ユーザーの作成</h3> <p> メールの送受信を担当するユーザーを作成する:</p> <pre><code># useradd -m -c "Virtual Mail" -d /var/vmail -s /sbin/nologin vmail @@ -291,6 +297,46 @@ DNSのレコードを設定する。ムームーDNSの場合、コントロー ~ 2 * * * acme-client mail.mtkn.xyz && rcctl restart smtpd </code></pre> +<h3>ドメインキーの作成とDNSへの登録</h3> +<p> +OpenSMTPD用のDKIMフィルターをインストールする。 +</p> +<pre><code># pkg_add opensmtpd-filter-dkimsign +</code></pre> + +<p> +ドメインキーとしてRSAの秘密鍵と公開鍵を作成する。DNSのTXTレコードの制約により、鍵の長さは1024ビットにする。 +</p> +<pre><code># openssl genrsa -out /etc/mail/dkim/private.key 1024 +# openssl rsa -in /etc/mail/dkim/private.key -pubout -out /etc/mail/dkim/public.key +# chown -r _dkimsign:_dkimsign /etc/mail/dkim +# chmod 0400 /etc/mail/dkim/private.key +</code></pre> + +<p>作成したドメインキーの公開鍵をDNSに登録する:</p> +<table> +<thead> +<tr> +<th>サブドメイン</th> +<th>種別</th> +<th>内容</th> +<th>優先度</th> +</tr> +</thead> +<tbody> +<tr> +<td>selector1._domainkey.mail</td> +<td>TXT</td> +<td>v=DKIM1;k=rsa;p=<i>公開鍵</i></td> +<td></td> +</tr> +</tr> +</tbody> +</table> + +<p> +サブドメインのselector1は以下のsmtpd.confの<code>filter-dkimsign</code>の-sオプションと同じものであれば他のものでもいい。</p> + <h3>/etc/mail/smtpd.confの設定</h3> <p> /etc/mail/smtpd.confを以下の通り変更:(TODO: 説明)</p> @@ -301,6 +347,9 @@ table aliases file:/etc/mail/aliases table passwd file:/etc/mail/passwd table virtuals file:/etc/mail/virtuals +filter dkim_sign proc-exec\ + "filter-dkimsign -d mail.mtkn.xyz -s selector1\ + -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign filter check_rdns phase connect match !rdns disconnect "550 no rDNS." filter check_fcrdns phase connect match !fcrdns disconnect "550 no FCrDNS." @@ -308,11 +357,14 @@ smtp max-message-size 25M listen on socket listen on lo0 -listen on vio0 port 25 tls pki mtkn.jp hostname "mail.mtkn.jp" filter { check_rdns, check_fcrdns } -listen on vio0 mask-src port submission smtps pki mtkn.jp hostname "mail.mtkn.jp" auth <passwd> +listen on vio0 port 25 tls pki mtkn.jp hostname "mail.mtkn.jp"\ + filter { check_rdns, check_fcrdns } +listen on vio0 mask-src port submission smtps pki mtkn.jp\ + hostname "mail.mtkn.jp" auth <passwd> filter dkim_sign action "local_mail" mbox alias <aliases> -action "domain" maildir "/var/vmail/%{dest.domain:lowercase}/%{dest.user:lowercase}" virtual <virtuals> +action "domain" maildir "/var/vmail/%{dest.domain:lowercase}/%{dest.user:lowercase}"\ + virtual <virtuals> action "outbound" relay match from any for domain mtkn.jp action "domain" @@ -328,8 +380,20 @@ match auth from any for any action "outbound" <i>パスワードを入力し、エンター、Ctrl-D</i> </code></pre> -<h2>SSLの設定</h2> +<p> +<code>/etc/mail/virtuals</code>にはメールの転送を設定できる。以下のようにする:</p> +<pre><code>abuse@mtkn.xyz user@mtkn.xyz +portmaster@mtkn.xyz user@mtkn.xyz +webmaster@mtkn.xyz user@mtkn.xyz +user@mtkn.xyz vmail +</code></pre> +<p> +abuse, portmaster, webmasterはなんか一応作っとけみたいに書いてたけど必要なんかな? +</p> + <h2>Dovecotの設定</h2> +<p> +MDAとして<code>dovecot(1)</code>をインストールする。 <p> サーバーの証明書が更新される際に<code>dovecot(1)</code>も再読み込みされるように<code>cron(8)</code>に追加しておく: diff --git a/pub/rss.xml b/pub/rss.xml @@ -5,8 +5,8 @@ <description>ウェブページの更新履歴</description> <language>ja-jp</language> <link>https://www.mtkn.jp</link> -<lastBuildDate>Tue, 16 Jan 2024 10:00:09 +0900</lastBuildDate> -<pubDate>Tue, 16 Jan 2024 10:00:09 +0900</pubDate> +<lastBuildDate>Tue, 16 Jan 2024 12:24:55 +0900</lastBuildDate> +<pubDate>Tue, 16 Jan 2024 12:24:55 +0900</pubDate> <docs>https://www.rssboard.org/rss-specification</docs> <item> <title>使用しているハードウェア、ソフトウェア</title>