ファイアウォール · 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権限

このチュートリアルでカバーされる内容は?

  1. UFWのインストール。
  2. 基本的なUFWコマンド構文。
  3. UFWの許可および拒否コマンド。
  4. 高度なUFWコマンド。
  5. UFWのルールを削除する。
  6. UFWを無効にしてリセットする。

UFWのインストール

デフォルトでは、UFWはUbuntu 20.04に既にインストールされているはずです。次のコマンドでこれを確認できます:

which ufw

上記のようにコマンドのパスが返されない場合は、次のaptコマンドでUFWをインストールしてください:

sudo apt install ufw

UFWファイアウォールのインストール

次に、UFWを有効にするために次のコマンドを実行します:

sudo ufw enable

結果:

コマンドは既存のssh接続を中断する可能性があります。操作を続行しますか(y|n)? y  
ファイアウォールはアクティブで、システム起動時に有効になっています

基本的なUFWコマンド

「ufw enable」コマンドは、デフォルトのルールでUFWをオンにします。次のコマンドを発行してUFWが実行中であることを確認できます:

sudo ufw status verbose

UFWステータスチェック

結果:

ステータス:アクティブ  
ログ:オン(低)  
デフォルト:拒否(受信)、許可(送信)、無効(ルーティング)  
新しいプロファイル:スキップ

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

UFWでSSHポートを開く

2. UFW拒否コマンド

「deny」コマンドは「allow」コマンドと似たように機能し、ファイアウォールでポートを閉じるために使用されます:

ポートオプションで拒否:

sudo ufw deny 80

結果:

ルールが更新されました  
ルールが更新されました(v6)

サービス名での「deny」の例。この例では、httpポート/80をブロックします:

sudo ufw deny http

UFWファイアウォールでサービスへのアクセスを拒否

注:

すべてのポートとそのサービス名は、ファイル「/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 80

UFWファイアウォールルールの削除

このセクションでは、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 2

UFWを無効にしてリセットする

ルールを削除せずにUFWをオフにしたい場合は、「disable」コマンドを使用できます:

sudo ufw disable

結果:

ファイアウォールは停止し、システム起動時に無効になりました

UFWファイアウォールをリセット

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にアクセスできます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。