お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。

さくらのレンタルサーバーにLet's EncryptのDNS-01 チャレンジの証明書を持ち込む方法。自動更新できないので実用性はないが、一時的に使う場合に有用。

前提条件

DNS-01 チャレンジの証明書を既に作っている。

やり方

  1. 発行した証明書をhomeに移す
    sudo cp /etc/letsencrypt/live/<サイトディレクトリ>/*.pem .
    sudo chown $USER:$USER privkey.pem fullchain.pem
    
  2. さくらのコンパネから設定するドメインのSSL設定を開く
  3. SSL証明書の種類を選択→独自SSL
  4. 秘密鍵にprivkey.pemをアップロードする
  5. SSL証明書インストールでfullchain.pemの中身を張り付けて登録する

ここ最近なりすましメールが目立つのでなりすましメール防御対策を取りましょうという話。

なりすましメールが増えている一例

ここ数日の間にイラストレーターのIxy先生やMastodonインスタンス管理人のにょき氏といった一定の知名度を持つ人物を中心になりすましメールの被害にあっているようだ。

ここまで目立つのは余り見聞きしなかったので恐らくここ昨今のGMailとかの騒動を見たところで、なりすましメールを作れることに気づいた人物が愉快犯的に行為をしているのだろう。

取りうる防御策

個人レベルでできる対策としてはDNSレコードやメールサーバーの設定にSPF, DKIM, DMARCを設定することだ。これらの内容についてはGoogleによるDMARC を使用してなりすましと迷惑メールを防止するが詳しい。

さくらのレンタルサーバーを利用している場合は以下が参考になる。

さくらのレンタルサーバーを利用して外部DNSを利用している場合は、私が以前書いたValue-DomainのドメインをさくらのレンタルサーバーのメールでSPF, DKIM, DMARC対応させるが参考になるだろう。

SPD, DKIM, DMARCの三点を設定することで相手のメールサーバーがこれらに対応している場合になりすましメールを迷惑メールとして分類したり、メールの受信を拒否できるとされているため、設定することでなりすましメールを防御できる可能性が高まる。

メール送信に使っていないドメインに関しても以下のようなDMARCを設定しておくことで、悪意のある第三者によるなりすましを防げるだろう。

txt _dmarc v=DMARC1; p=reject; aspf=r; adkim=r

またメールサーバーを運用されている各位におかれては、SPD, DKIM, DMARCの三点を識別し、適切に受信メールをフィルタリングできる仕組みを導入して頂けると犯罪予告や迷惑メールによる被害を減らせる可能性があるので、是非とも導入を検討いただきたい。

🚀 やりたいこと

  • ApexドメインのDNSレコードで次の振り分けを行いたい
    • AレコードをGitHub Pagesへ
    • MXレコードをさくらのレンタルサーバーにあるメールボックスへ

⚗️ ハマったところ

以下のようにMXレコードをIPで指定するとメールが受信できないケースがありました具体的にはさくらのメールボックスやGMailから投げると届くのですが、WantedlyやMeetyからの自動配信メールが届かない状態でした原因はDNSレコードの状態がRFC 1035に準拠しない事と思われます

ホスト レコードタイプ データ
lycolia.info A 185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
lycolia.info MX 10 163.43.80.45.

🛠️ 解決方法

Aレコードにメール用のサブドメインを追加し、これにIPを設定し、MXレコードからはそのドメインを参照することで上手くいくようになりますサブドメインはmail.である必要はなく、別になんでもいいみたいですWebサーバーとメールサーバーが同じならApexドメインでも行けるっぽい

ホスト レコードタイプ データ
lycolia.info A 185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
mail.lycolia.info A 163.43.80.45
lycolia.info MX 10 mail.lycolia.info.

📖 参考情報

GitHub Pagesにドメインを紐付ける

# ルートドメイン, cnameだとメールが届かなくなるのでaliasを使う
alias @ example-user.github.io.
# サブドメイン
cname sub example-user.github.io.

メールサーバーは分けたい

メールサーバーがさくらインターネットの場合はこんな感じで行ける

mx xxx.xxx.xxx.xxx. 10
txt xxx.xxx.xxx.xxx. v=spf1 a:wwwXXXX.sakura.ne.jp mx ~all
a mail xxx.xxx.xxx.xxx

Let’s EncryptのDNS-01チャレンジの設定方法

  • サブドメインのケースで書いてる
  • ワイルドカード証明書の設定も確かできたはずだが、今ん所使える環境がないので書いてない
  • @lycolia/value-domain-dns-cert-registerで自動更新できる
    a sub xxx.xxx.xxx.xxx
    txt _acme-challenge.sub XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX