ファイアウォール · 1 min read · Jan 08, 2026
Ubuntu 22.04でのUFW(Uncomplicated Firewall)の始め方

UFWまたはUncomplicated Firewallは、Ubuntu上でiptablesベースのファイアウォールを管理するためのアプリケーションです。UFWはUbuntu Linuxのデフォルトのファイアウォール設定ツールであり、ファイアウォールを設定するためのユーザーフレンドリーな方法を提供します。UFWコマンドは英語のように簡単なので、コマンドを覚えやすいです。UFWファイアウォールはIPv4とIPv6をサポートしています。
UFWはGUIアプリケーションも提供しています。GNOMEデスクトップを使用している場合はgufwをインストールできます。KDEデスクトップを使用している場合はkcm-ufwをインストールできます。
前提条件
- Ubuntuバージョンは16.04から22.04の間。新しいUbuntuバージョンでも動作するはずです。
- root権限
このチュートリアルでカバーされる内容は?
- UFWのインストール。
- 基本的なUFWコマンド構文。
- UFWの許可および拒否コマンド。
- 高度なUFWコマンド。
- UFWのルールを削除する。
- UFWを無効にしてリセットする。
UFWのインストール
デフォルトでは、UFWはUbuntu 20.04に既にインストールされているはずです。次のコマンドでこれを確認できます:
which ufw上記のようにコマンドのパスが返されない場合は、次のaptコマンドでUFWをインストールしてください:
sudo apt install ufw
次に、UFWを有効にするために次のコマンドを実行します:
sudo ufw enable結果:
コマンドは既存のssh接続を中断する可能性があります。操作を続行しますか(y|n)? y
ファイアウォールはアクティブで、システム起動時に有効になっています基本的なUFWコマンド
「ufw enable」コマンドは、デフォルトのルールでUFWをオンにします。次のコマンドを発行してUFWが実行中であることを確認できます:
sudo ufw status verbose
結果:
ステータス:アクティブ
ログ:オン(低)
デフォルト:拒否(受信)、許可(送信)、無効(ルーティング)
新しいプロファイル:スキップUFWを無効にするかオフにしたい場合は、次のコマンドを使用できます:
sudo ufw disable結果:
ファイアウォールは停止し、システム起動時に無効になりましたUFWの許可および拒否コマンド
1. UFW許可コマンド
UFWは、オンにした後、すべての受信接続を拒否します。したがって、サーバーをリモートで管理したい場合は、最初にSSHアクセスを許可する必要があります。「ufw allow sshport」コマンドはSSHによるアクセスを許可します。SSHサービスのポートをSSHPORTに置き換えてください。デフォルトのSSHポートは22です。
sudo ufw allow 22結果:
ルールが更新されました
ルールが更新されました(v6) #IPv6用TCPのみでポート22の受信接続を許可したい場合は、コマンドの最後に「/tcp」を追加します。以下の例のように。
sudo ufw allow 22/tcp許可したいサービスがデフォルトポートでリッスンしている場合は、ポート番号の代わりにサービス名を使用できます。これにより、ポートを開くのが簡単になります。ポート番号がわからない場合でも、UFWは/etc/servicesで正しいポート番号を調べます。
このコマンドはデフォルトのSSHポートを開きます:
sudo ufw allow sshルールを確認するには:
sudo ufw status
2. UFW拒否コマンド
「deny」コマンドは「allow」コマンドと似たように機能し、ファイアウォールでポートを閉じるために使用されます:
ポートオプションで拒否:
sudo ufw deny 80結果:
ルールが更新されました
ルールが更新されました(v6)サービス名での「deny」の例。この例では、httpポート/80をブロックします:
sudo ufw deny http
注:
すべてのポートとそのサービス名は、ファイル「/etc/services」にリストされています。
高度なUFWコマンド
ここでは、UFWコマンド構文をさらに深く掘り下げ、ポート範囲を許可する方法(例:FTPパッシブポート用)や、特定のIPまたはサブネットからのアクセスを許可する方法を学びます。
1. ポート範囲を許可する
UFWでポートの範囲を許可できます。一部のサービス(FTPやIRCなど)は、クライアントと通信するためにポートの範囲を使用します。
この例では、サーバー上のircdが使用するポート範囲を許可します。範囲はポート6660から6670です:
sudo ufw allow 6660:6670/tcp
sudo ufw allow 6660:6670/udpこのコマンドは、TCPおよびUDPプロトコルを介してポート6660-6670への接続を許可します。
2. 特定のIPアドレスを許可する
特定のIPを追加してすべてのサービスへのアクセスを許可するには、「from」オプションを追加します。これは、家庭やオフィスに静的IPがあり、そこからサーバー上のすべてのサービスへのアクセスを許可したい場合に便利です。以下のコマンドは、IP 192.168.1.106がサーバー上のすべてのポートにアクセスできるようにします:
sudo ufw allow from 192.168.1.106結果:
ルールが追加されました3. サブネットを許可する
サブネット上のすべてのIPアドレスを許可したい場合は、次のようにUFWコマンドにIPサブネット(IPアドレスの範囲)を追加できます:
sudo ufw allow from 192.168.1.1/24結果:
WARN: ルールが正規化後に変更されました
ルールが追加されました4. 特定のIPアドレスから特定のポートへのアクセスを許可する
特定のIPから特定のポートへのアクセスを許可したい場合は、上記で学んだUFWコマンドを組み合わせることができます。
例えば、IP192.168.1.106のみがsshポート22 TCPにアクセスでき、他のIPはそのポートから拒否される場合、次のコマンドを使用できます:
sudo ufw allow from 192.168.1.106 proto tcp to any port 22結果:
ルールが追加されました5. 特定のポートへのすべての受信トラフィックを許可する
ポート80でのすべてのトラフィックを許可したい場合は、次のコマンドを使用できます:
sudo ufw allow to any port 80UFWファイアウォールルールの削除
このセクションでは、UFWに保存されているルールを削除する方法を学びます。「delete」コマンドを使用してufwルールを削除できます。削除したいオプション(allowまたはdeny)の後に「ufw delete」と入力してください。
以下は幾つかの例です:
サービス名でSSHルールを削除する:
sudo ufw delete allow ssh結果:
ルールが削除されました
ルールが削除されました(v6)そのコマンドは「allow ssh」のルールを削除します。サーバーから自分をロックアウトしないように注意してください。
ポート80の「deny」ルールを削除する:
sudo ufw delete deny 80結果:
ルールが削除されました
ルールが削除されました(v6)複雑なルールがある場合、ルールIDで識別して削除する簡単な方法があります。次のコマンドを実行して、ID付きのすべてのルールのリストを取得します:
sudo ufw status numbered結果:
ステータス:アクティブ
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 22/tcp (v6) ALLOW IN Anywhere (v6)次に、ルールの番号を使用してIPv6のみのSSHルールを削除します:
sudo ufw delete 2UFWを無効にしてリセットする
ルールを削除せずにUFWをオフにしたい場合は、「disable」コマンドを使用できます:
sudo ufw disable結果:
ファイアウォールは停止し、システム起動時に無効になりました
UFWを完全にオフにしてすべてのルールを削除したい場合は、「reset」コマンドを使用できます:
sudo ufw reset結果:
すべてのルールをインストールされたデフォルトにリセットしています。これにより、既存のssh接続が中断される可能性があります。操作を続行しますか(y|n)? y
'after6.rules'を'/etc/ufw/after6.rules.20150918_190351'にバックアップしています
'user.rules'を'/lib/ufw/user.rules.20150918_190351'にバックアップしています
'after.rules'を'/etc/ufw/after.rules.20150918_190351'にバックアップしています
'before.rules'を'/etc/ufw/before.rules.20150918_190351'にバックアップしています
'before6.rules'を'/etc/ufw/before6.rules.20150918_190351'にバックアップしています
'user6.rules'を'/lib/ufw/user6.rules.20150918_190351'にバックアップしています結論
UFW(Uncomplicated Firewall)は、Ubuntuのデフォルトのファイアウォール設定ツールです。UFWコマンドは英語に似ており、使いやすく覚えやすいです。このUFWチュートリアルは、この優れたファイアウォールツールを始めるためのガイドです。UFWについてもっと知りたい場合は、Ubuntuウィキやufw-manpageにアクセスできます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。