UFW の基本と実践― Ubuntu ファイアウォール超入門 ―

こんにちは、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 disableufwの一時停止
sudo ufw enableufwの有効化
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 追加で対処できます。

よくあるトラブル

  1. SSH に接続できない
    コンソールから sudo ufw disable → ポート設定を見直し。
  2. サービスは動くのに外から見えない
    sudo ufw status で対象ポートが ALLOW か確認。
  3. ルールが多すぎて混乱
    iptableへの移行を検討しましょう

まとめ

UFW はシンプルゆえに設定を見直しやすいのが利点。事前に設計を立ててから作業をすることで一貫性のあるセキュリティを実現できますので、事前に紙などにメモを取ってから作業することをお勧めします

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です