shintaro.info infra

UFW (ファイアウォール)

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


目的

最小許可(デフォルト拒否)ポリシーのもと、
SSH のみを許可した状態から安全に運用を開始する。
今後、Web(Apache)やメール(Postfix / Dovecot)などのサービスを追加する際に、
必要なポートを安全に開放できるよう基盤設定を整備する。


手順

UFW インストール

sudo apt update && sudo apt install -y ufw

デフォルトポリシー設定

sudo ufw default deny incoming
sudo ufw default allow outgoing

SSH のみ許可(初期構築段階)

sudo ufw allow OpenSSH

有効化

sudo ufw enable

今後開放予定のポート一覧

SSH 以外のサービス(Web / Mail 等)は段階的に導入予定である。
以下は、各サービスを構築した際に開放を検討するポートの一覧。

サービスポート用途開放タイミング設定例
HTTP80/tcpWebサーバ(Apache)Web構築時sudo ufw allow 80
HTTPS443/tcpSSL通信(Let's Encrypt)SSL導入時sudo ufw allow 443
SMTP25/tcpメール配送(Postfix)メール送信設定時sudo ufw allow 25
Submission587/tcpクライアント送信(認証付きSMTP)メール送信設定時sudo ufw allow 587
IMAPS993/tcpメール受信(暗号化)Dovecot導入時sudo ufw allow 993
POP3S995/tcpPOP受信(暗号化)Dovecot導入時sudo ufw allow 995

各ポートの開放は、対象サービスの構築完了後に実施する。 不要なポートを先に開放することは避けること。


検証

UFW ステータス確認

sudo ufw status verbose

実際のポートリスン状態確認

ss -tulpen | egrep ':22|:80|:443|:25|:587|:993|:995'

運用ノート

  • IPv6 対応: /etc/default/ufwIPV6=yes が既定で有効。
  • ログ出力: 通常は無効。必要に応じて sudo ufw logging low を利用。
  • Fail2ban との連携により SSH 攻撃を自動検知・ブロック。
  • ポート開放の追加・削除は **sudo ufw status numberedsudo ufw delete <番号>** で管理可能。
  • 設定変更後は sudo ufw reload を実施。

変更履歴

日付編集者内容
2025-09-30Shintaro / Acia初版作成
2025-10-08Shintaroタイトルを「UFW (ファイアウォール)」に変更、Apache関連手順を削除、今後開放予定ポート一覧の説明を具体化