こんにちは、nanosize です。Ubuntu サーバーを立ち上げた際に必ず行わなければいけないセキュリティ。その中でも今回はポートに関するファイヤーウォール、UFWについてまとめてみました。
この記事では UFW の基本捜査を自身の備忘録も兼ねてまとめました。
UFW とは

自分のサーバーに来る通信が全て許可されていると、現実世界でいうところの玄関が全開になっている状態です。
玄関は家族だけ入れて、自室は自分だけ入れるようにしたいですよね?
その入退室の権利を管理するのが、パソコンでいう「ファイアウォール」です。
ファイアーウォールとは、許可した通信のみを通過させ、それ以外のパケットは遮断または破棄する機能です。ネットワークやシステムを外部からの不正アクセスや攻撃から保護することができます。
そのうちの一つのアプリ、UFW(Uncomplicated Firewall)は、Linux 上でこのファイアーウォール(iptables)の設定を簡単に行えるようにしたツールの一つです。
Uncomplicated FireWallの略で、Uncomplicatedという名前どおり「ややこしくない」コマンド体系で、Debian,Ubuntu では標準リポジトリから簡単に導入できます。
セットアップ手順
インストールから初期設定まで、一緒にやっていきましょう〜!

インストール
sudo apt install ufw
状態確認
sudo ufw status
デフォルトポリシー (デフォルトの通信を許可・不許可にする)
sudo ufw default deny
SSH を許可(締め出し防止)
sudo ufw allow 22/tcp
有効化
sudo ufw enable
現在の状態を確認
sudo ufw status verbose
基本コマンド早見表
sudo ufw allow <番号・サービス名>/<tcp・udp> | ポート番号またはサービス名(http)などで指定できる。/の次に通信タイプを選べる |
sudo ufw status | ルール一覧 |
sudo ufw status numbered | 番号付き一覧 |
sudo ufw delete <番号> | 指定番号を削除(番号を知りたい場合はsudo ufw status numbered で番号を取得確認する) |
sudo ufw disable | ufwの一時停止 |
sudo ufw enable | ufwの有効化 |
sudo ufw reload | ルール再読み込み |
sudo ufw reset | 全設定のリセット |
例

- HTTPを許可
sudo ufw allow 80/tcp
もしくは sudo ufw allow http - 複数開放
sudo ufw allow 443/tcp - 範囲指定(例: 10000–10100)
sudo ufw allow 10000:10100/tcp
高度な設定
IP アクセス制御の例
sudo ufw <allow・deny> from
- 特定 IP を許可・不許可:
sudo ufw allow from 203.0.113.5
- サブネットごと拒否
sudo ufw deny from 198.51.100.0/24
ポートごとの詳細設定
sudo ufw allow proto tcp from any to any port 22,80,443
– proto tcp
:TCP プロトコル限定
– from any to any
:送信元/宛先をすべて許可
– port 22,80,443
:カンマ区切りで複数指定
ログ確認
ログは /var/log/ufw.log
に保存。リアルタイムで見るなら:
sudo tail -f /var/log/ufw.log
不審な IP を見つけたら即 deny
追加で対処できます。
よくあるトラブル
- SSH に接続できない
コンソールからsudo ufw disable
→ ポート設定を見直し。 - サービスは動くのに外から見えない
sudo ufw status
で対象ポートが ALLOW か確認。 - ルールが多すぎて混乱
iptableへの移行を検討しましょう
まとめ
UFW はシンプルゆえに設定を見直しやすいのが利点。事前に設計を立ててから作業をすることで一貫性のあるセキュリティを実現できますので、事前に紙などにメモを取ってから作業することをお勧めします