Decision Log
作成: Shintaro / Acia
対象OS: Debian 13 (Sakura VPS)
目的
本ドキュメントは、VPS 上で Web / Mail サーバを構築・運用する際の「主要な判断・方針決定」を時系列で記録する。
技術的な手順や設定値そのものではなく、なぜその選択をしたのか(背景・意図) を明確化し、
将来の再構築・移行・トラブルシュートにおける再現性と透明性を高めることを目的とする。
記載ルール
- 対象: 設定変更・採用技術・運用方針・ドキュメント構成など
- 形式: 日付/対象/決定内容/理由・背景
- 更新: 変更ごとに追記(古い記録は削除しない)
- 優先順位: 手順よりも “なぜそうしたか” の記録を重視する
ログ一覧
| 日付 | 対象 | 決定内容 | 理由・背景 |
|---|---|---|---|
| 2025-09-30 | ドキュメント構成 | 00_top.md を起点に、Markdownベースの Runbook として管理開始 | VPS 構築の再現性とメンテナンス性を高めるため |
| 2025-09-30 | Git 運用方針 | Git リポジトリを採用、main ブランチ保護を設定 | バージョン管理の一元化と安全性の確保 |
| 2025-10-05 | ドキュメント運用 | 各章を構築順に並べ、分類ブロックを廃止 | 実際の作業手順に沿った再現性を重視 |
| 2025-10-07 | ドキュメント構成 | 01_index.md 初版作成、相対リンク方式を採用 | GitHub 上での参照性向上 |
| 2025-10-08 | 初期設定ドキュメント | 02_initial-setup.md のユーザ名を抽象化 | 公開性・汎用性と一貫性向上 |
| 2025-10-08 | ファイアウォール設定 | 初期構築では SSH のみ許可に統一 | 最小構成原則と安全性確保 |
| 2025-10-27 | SSH 設定方針(※後に撤回) | /etc/ssh/sshd_config の直接編集方式を一時採用 | 設定簡略化を試みたが、更新競合の懸念が判明 |
| 2025-10-27 | Fail2ban 導入 | [sshd] ジェイルを有効化(backend=systemd) | SSH 総当たり攻撃に対する早期防御 |
| 2025-10-28 | Postfix 構成 | 非SSL → TLS → SASL の段階構築方式に統一 | 教材性・拡張性・移行性の両立 |
| 2025-10-28 | Dovecot 構成 | IMAPS+SASL 連携、Maildir 運用を採用 | 安定性と互換性向上 |
| 2025-10-28 | メール認証方式 | SPF/DKIM/DMARC を段階導入(初期は p=none) | 柔軟性と検証性を確保しつつ本番移行しやすくするため |
| 2025-10-28 | SSH 設定方針(最終) | sshd_config.d/override.conf 分離方式に確定 | アップデート時の競合回避・保守性向上・テンプレ展開のしやすさを優先 |
| 2025-11-21 | Dovecot メール保存方式 | Maildir に統一し mail_driver = maildir / mail_path = ~/Maildir を明示設定 | Debian 13 デフォルト mbox 設定との不整合により POP3S 受信エラーが発生したため、Postfix の Maildir 配送と完全整合させる方針に確定 |
| 2025-11-21 | UFW 方針 | Postfix/Dovecot 用ポート 25/465/587/993/995 を、UFW アプリ名プロファイル経由で正式開放 | サービス完成後に必要最小限のメール関連ポートのみを開放し、運用ミスと誤開放リスクを低減するため |
| 2025-11-21 | PTR / 逆引き DNS | PTR(逆引きホスト名)は当面さくらデフォルトのままとし、「必須ではなく推奨」扱いに整理 | 現状の PTR でも送信成功性に致命的な問題がなく、まず SPF/DKIM/DMARC の整備を優先する方針としたため |
| 2025-11-21 | メールサービス公開判定 | MXToolbox / open relay チェック / ImmuniWeb TLS テストの結果を踏まえ、インターネット公開 OK と判断 | 不正中継なし・TLS1.2/1.3 正常・安全 Cipher のみ有効であり、現状構成で実運用に耐えることを確認したため |
| 2025-11-27 | DMARC ポリシー | SPF/DKIM/DMARC 全て pass を確認し、DMARCポリシーを p=quarantine に移行 | Gmail からのレポートにより正当メールがすべて pass していることを確認したため。段階導入の方針に沿い、p=none からのポリシー強化を実施 |
補足記録(詳細)
2025-10-08: UFW ドキュメント調整
- ファイル名:
03_ufw.md - 主な変更点:
- タイトルを「UFW (ファイアウォール)」に統一し、index.md との整合性を確保
- 初期構築時は SSH のみ許可とし、Apache 関連手順を削除
- 「将来ポート(計画)」を「今後開放予定のポート一覧」に変更し、開放タイミング・目的を明確化
- 運用ノートに Fail2ban 連携や管理コマンド補足を追加
- 決定理由:
- ドキュメントを「初期構築」と「将来拡張」の 2 段階で整理するため
- 将来的なサービス追加時に参照しやすくするため
- 読者が意図を即時把握できる記述構成を重視
2025-10-27: SSH ドキュメント更新
- ファイル名:
04_sshd.md - 主な変更点:
- 設定を
/etc/ssh/sshd_config.d/override.confに分離 /etc/ssh/sshd_config本体には手を加えない- 実行時構成確認は
sshd -Tにて実施 PasswordAuthentication noなど既定値でも明示記述- 緊急対応手順では
override.confのみを編集対象とする - 決定理由:
- 直接編集方式では
dpkgやopenssh-server更新時に差分競合が発生するリスクがある - 分離構成は保守性・ドキュメント整合性が高く、再構築時に明快
- Debian 13 では
/etc/ssh/sshd_config.d/*.confが既定で読み込まれるため、追加設定だけで完結する - 組織展開や VM 配布時のテンプレートとしても汎用性が高い
2025-10-27: Fail2ban 運用構成の確立
- ファイル名:
05_fail2ban.md - 主な設定:
[sshd]ジェイルを有効化(enabled = true)backend = systemd,bantime = 1h,findtime = 10m,maxretry = 5/var/log/auth.logを補助的に利用- 決定理由:
- 総当たり攻撃が日常的に発生しており、自動遮断が有効に機能している
systemdバックエンドは Debian 13 標準構成として最も安定- Postfix/Dovecot 導入時の拡張(postfix / dovecot ジェイル追加)も容易であるため、基盤として先行適用
2025-10-28: Postfix / Dovecot / 認証設計の統合調整
- ファイル名:
07_postfix.md/08_dovecot.md/09_mail-auth.md - 主な調整:
- Postfix/Dovecot を段階構築形式に統一(非SSL → TLS/IMAPS → SASL)
- 認証メール転送先に
<MAIN_USER>抽象記法を導入し、実運用への再利用性を確保 - SPF/DKIM/DMARC については
p=none開始 → 段階強化という展開方針を明示 - OpenDKIM を milter 連携とし、Postfix main.cf の
milter_protocol = 2を明示的に指定 - 決定理由:
- 初学者・中級者でも段階的に構築できる設計とし、教材性と拡張性の両立を図るため
- TLS 証明書は Apache・Postfix・Dovecot 間で共用し、Let’s Encrypt 管理を一元化
- メール認証技術の導入によるスパム・なりすまし対策の強化を意図
2025-11-21: Maildir 統一方針(重要)
- ファイル名:
08_dovecot.md/07_postfix.md - 主な内容:
- Debian 13 の
10-mail.confデフォルトがmail_driver = mboxであることを確認 - Postfix 側の
home_mailbox = Maildir/と不整合があり、Sylpheed による POP3S 受信で「INBOX autocreate: Permission denied」が発生 - 10-mail.conf の Debian defaults セクションを
mail_driver = maildir/mail_path = %{home}/Maildirに変更し、mail_inbox_pathをコメントアウトする設計に確定 - 決定理由:
- Postfix と Dovecot 間で Maildir の解釈が分かれていると、トラブルシュートが難しくなる
- Maildir への統一により、将来のユーザ追加やバックアップ・移行手順が単純化される
2025-11-21: メールサービス公開テスト完了
- 対象: メールサービス全体(Postfix / Dovecot / TLS / UFW / パケットフィルタ)
- 実施した主な外部テスト:
- MXToolbox SMTP Test(Open Relay なし / TLS 有効 / Hostname OK)
- check.openrelay.org による不正中継テスト(全パターン拒否)
- ImmuniWeb による TLS1.2/1.3・Cipher・PQC レポート(メール用途として十分な安全性を確認)
- 決定理由:
- 不正中継が完全にブロックされていること
- SMTPS/Submission/IMAPS/POP3S で Let’s Encrypt 証明書が正常に利用できること
- TLS1.2/1.3 および Forward Secrecy 対応 Cipher のみを提供していることを確認し、現行構成でインターネット公開に耐えると判断したため
他補足
- ここに記載のない細部(UFW の個別ルール例、Fail2ban のログ例、Postfix/Dovecot の細かいパラメータなど)は、各章のドキュメント(03_ufw.md / 05_fail2ban.md / 07_postfix.md / 08_dovecot.md / 09_mail-auth.md)側で詳細管理する。
- Decision Log では、あくまで方針・判断理由にフォーカスし、手順そのものは重複して記載しない 方針とする。
本 Decision Log は、過去の誤った判断も含めて記録し、将来の改善に活用する。
Maintained as a public runbook.