🛡️ Ubuntu UFW 完全使用チュートリアル

2025-05-01

廣告

UFW (Uncomplicated Firewall) は、Ubuntu に標準搭載されているファイアウォール管理ツールで、iptables の複雑な設定を簡素化します。 このガイドでは、インストール方法から基本コマンド、応用設定、ログ管理までを網羅し、Ubuntu サーバーのセキュリティを強化する方法を解説します。


1. UFW のインストールと有効化

Ubuntu 20.04 以降では通常プリインストールされていますが、未インストールの場合:

sudo apt update
sudo apt install ufw -y

UFW を有効化:

sudo ufw enable

注意:有効化すると、デフォルトで全ての受信(incoming) 接続を拒否し、全ての送信(outgoing) 接続を許可します。必ずルールを設定した後に有効化してください。


2. ステータスとデフォルトポリシーの確認

UFW の状態を確認:

sudo ufw status verbose

例:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
  • Default incoming policy: 受信トラフィックのデフォルト動作
  • Default outgoing policy: 送信トラフィックのデフォルト動作

デフォルトポリシーを変更する場合:

sudo ufw default deny incoming    # 受信を全て拒否
sudo ufw default allow outgoing   # 送信を全て許可

3. 基本的な許可 (Allow) と拒否 (Deny) ルール

3.1 許可ルール

# SSH(ポート22)を許可
sudo ufw allow ssh

# HTTP(ポート80)を許可
sudo ufw allow http

# HTTPS(ポート443)を許可
sudo ufw allow https

# 特定ポート(例:8080/tcp)を許可
sudo ufw allow 8080/tcp

# 特定IPレンジ(例:192.168.1.0/24)からポート22へ許可
sudo ufw allow from 192.168.1.0/24 to any port 22

3.2 拒否ルール

# 特定IPからの全トラフィックを拒否
sudo ufw deny from 203.0.113.42

# 特定ポート(例:MySQL 3306/tcp)を拒否
sudo ufw deny 3306/tcp

3.3 レート制限 (Limit)

SSH へのブルートフォース攻撃防止:

sudo ufw limit ssh/tcp

-> 30秒間に最大6回の接続試行を許可し、超過すると一時的にブロックします。


4. サービス名とアプリケーションプロファイルの利用

UFW は /etc/ufw/applications.d/ 下のプロファイルを読み込みます。利用可能なアプリ一覧:

sudo ufw app list

特定プロファイルの詳細:

sudo ufw app info "Nginx Full"

プロファイル名でルール設定:

sudo ufw allow "OpenSSH"
sudo ufw allow "Nginx HTTP"

5. ロギングとモニタリング

5.1 ログの有効化

sudo ufw logging on      # 低レベルでログを有効化

ログレベルの変更(off, low, medium, high, full):

sudo ufw logging medium

ログファイル:

/var/log/ufw.log

5.2 ログのリアルタイム監視

sudo tail -f /var/log/ufw.log

6. ルールの一覧表示と削除

6.1 番号付きルールの一覧

sudo ufw status numbered

6.2 ルールの削除

番号で削除:

sudo ufw delete 3         # 3番目のルールを削除

ルール指定で削除:

sudo ufw delete allow 80/tcp

7. 応用設定

7.1 IPv6 のサポート

/etc/default/ufw を編集し、

IPV6=yes

に変更後ロード:

sudo ufw reload

7.2 ルーティングルール

インターフェース間でルーティングを許可:

sudo ufw route allow in on eth0 out on eth1 to 10.0.0.0/24

7.3 GUI 管理(GUFW)

GUI が必要な場合:

sudo apt install gufw -y

8. UFW のリセットと無効化

警告:全てのルールが削除され、UFW が無効化されます。

sudo ufw reset

再度有効化:

sudo ufw enable
廣告