shintaro.info infra

VPS Web/Mail Server Design Docs

作成: Shintaro / Acia
対象OS: Debian 13 (Sakura VPS)


1. 目的

本設計書は、任意の独自ドメインを運用する VPS サーバの構築・運用手順を体系的に整理することを目的とする。

  • VPS サーバ構築の再現性確保
  • 将来のメンテナンスや移行時のナレッジベース
  • セキュリティ・運用ポリシーの明文化

本書では、公開資料として再利用しやすいように以下のプレースホルダを利用する。

表記意味
<DOMAIN>運用ドメイン
<MAIL_HOST>メールホストの FQDN
<MAIN_USER>常用ユーザ
<SERVER_IPV4>VPS のグローバル IPv4 アドレス

2. 契約 VPS のスペック

  • サービス: さくらのVPS(v5) 512 IK01
  • リージョン: 石狩第1ゾーン
  • vCPU: 1 Core
  • メモリ: 512 MB
  • ディスク: SSD 25 GB
  • 帯域: 共用 100 Mbps

3. 全体アーキテクチャ

本 VPS は以下のサービスを順次構築・運用する。
外部からのアクセスはまず UFW を経由し、許可されたポートのみ各サービスへ到達する。
また、Fail2ban が各サービスのログを監視し、総当たり攻撃や不審なアクセスを検知すると UFW にBANルールを反映する。
これにより SSH / Apache / Postfix / Dovecot を多層防御する。

  • SSH セキュアアクセス
  • Apache (Let’s Encrypt SSL)
  • Postfix / Dovecot (メール送受信)
  • Fail2ban(総当たり攻撃対策、不正アクセス検知、UFW連携)
  • DNS + SPF / DKIM / DMARC
  • 監視 / ログ / バックアップ
flowchart TD
  Client[Client / Admin] -->|Traffic| UFW[UFW Firewall]

  subgraph VPS["<DOMAIN> VPS"]
    UFW --> SSH[SSH]
    UFW --> Apache[Apache]
    UFW --> Postfix[Postfix]
    UFW --> Dovecot[Dovecot]
    UFW --> Monitoring[Monitoring & Backup]

    Fail2ban[Fail2ban] -.-> UFW
    Fail2ban -.-> SSH
    Fail2ban -.-> Apache
    Fail2ban -.-> Postfix
    Fail2ban -.-> Dovecot
  end

4. 文書体系

  • 00_top.md (本書 / 概要)
  • 01_index.md(目次)
  • 02_initial-setup.md(初期設定)
  • 03_ufw.md
  • 04_sshd.md
  • 05_fail2ban.md
  • 06_apache.md
  • 07_postfix.md
  • 08_dovecot.md
  • 09_mail-auth.md
  • 99_decision-log.md

5. 運用ルール

  • Git で履歴管理する
  • コミットコメントは英語 prefix (chore:, feat:, fix: etc.)
  • 改行コード LF 統一
  • バックアップ: /etc, /var/www, /etc/letsencrypt を対象に定期同期

変更履歴

日付編集者内容
2025-09-30Shintaro / Acia初版作成
2025-10-07Shintaro変更履歴を表形式に統一