MENU
やすひら
やすひらと申します。
長靴を履いたタヌキ(ITエンジニア)です。
モノ作りの楽しさを発信中。
X(旧Twitter)のフォローもお願いします。

[Linuxコマンド]ufwコマンドの概要と使い方

ufwコマンドはLinuxのファイアウォールを設定するコマンドです。

やすひら

ufwコマンドの概要と使用方法を紹介します

この記事でわかること
  • ufwコマンドの概要
  • ufwコマンドの使い方
目次

コマンド概要

ufwは、Linuxシステムで簡単にファイアウォールの管理を行うためのツールです。
ファイアウォールは、ネットワークトラフィックを制御し、システムを不正アクセスから守る役割を担っています。
ufwでは簡単な操作で、ファイアウォールのルールを作成、変更、削除することができます。

コマンドオプション

コマンドオプションを紹介します。

コマンドオプション意味
enableファイアウォールを有効に設定
disnableファイアウォールを無効に設定
statusファイアウォールの状態を表示
verboseファイアウォールの状態詳細を表示
numberedファイアウォールの状態を番号ありで表示
allowアクセス許可を設定
denyアクセス拒否を設定
deleteルールを削除
resetファイアウォールを初期状態にリセット

コマンドの使い方

ufwコマンドの使い方を紹介します。

ファイアウォールを有効に設定

ファイアウォールを有効に設定します。

コマンド形式

sudo ufw enable

コマンド実行例

 sudo ufw status
[sudo] password for user:
Status: inactive
$ sudo ufw enable
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active

ファイアウォールを有効に設定しました。

ssh接続が切断される可能性について、警告があります。

ファイアウォールを無効に設定

ファイアウォールを無効に設定します。

コマンド形式

sudo ufw disable

コマンド実行例

$ sudo ufw status
[sudo] password for user:
Status: active
$ sudo ufw disable
Firewall stopped and disabled on system startup
$ sudo ufw status
Status: inactive

ファイアウォールを無効に設定しました。

ファイアウォールの状態を表示

ファイアウォールの状態を表示します。

コマンド形式

sudo ufw status

コマンド実行例

$ sudo ufw status
[sudo] password for user:
Status: active

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
21/tcp                     ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
21/tcp (v6)                ALLOW       Anywhere (v6)             
22 (v6)                    ALLOW       Anywhere (v6)             

ファイアウォールの状態を表示しました。

ファイアウォールの状態詳細を表示

ファイアウォールの状態詳細を表示します。

コマンド形式

sudo ufw status verbose

コマンド実行例

$ sudo ufw status verbose
[sudo] password for user:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW IN    Anywhere                  
80/tcp                     ALLOW IN    Anywhere                  
21/tcp                     ALLOW IN    Anywhere                  
22                         ALLOW IN    Anywhere                  
443/tcp (v6)               ALLOW IN    Anywhere (v6)             
80/tcp (v6)                ALLOW IN    Anywhere (v6)             
21/tcp (v6)                ALLOW IN    Anywhere (v6)             
22 (v6)                    ALLOW IN    Anywhere (v6)             

ファイアウォールの状態詳細を表示しました。

ファイアウォールの状態を番号ありで表示

ファイアウォールの状態を番号ありで表示します。

コマンド形式

sudo ufw status numbered

コマンド実行例

$ sudo ufw status numbered
[sudo] password for user:
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 443/tcp                    ALLOW IN    Anywhere                  
[ 2] 80/tcp                     ALLOW IN    Anywhere                  
[ 3] 21/tcp                     ALLOW IN    Anywhere                  
[ 4] 22                         ALLOW IN    Anywhere                  
[ 5] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             
[ 6] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 7] 21/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 8] 22 (v6)                    ALLOW IN    Anywhere (v6)             

ファイアウォールの状態を番号ありで表示しました。

アクセス許可を設定

アクセス許可を設定します。

コマンド形式

sudo ufw allow [ポート番号]
sudo ufw allow [アプリケーション名]

コマンド実行例

$ sudo ufw allow 50000
[sudo] password for user:
Rule added
Rule added (v6)
$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
21/tcp                     ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
50000                      ALLOW       Anywhere                  
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
21/tcp (v6)                ALLOW       Anywhere (v6)             
22 (v6)                    ALLOW       Anywhere (v6)             
50000 (v6)                 ALLOW       Anywhere (v6)             

アクセス許可を設定しました。

アクセス拒否を設定

アクセス拒否を設定します。

コマンド形式

sudo ufw deny [ポート番号]
sudo ufw deny [アプリケーション名]

コマンド実行例

$ sudo ufw status
[sudo] password for user:
Status: active

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
21/tcp                     ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
21/tcp (v6)                ALLOW       Anywhere (v6)             
22 (v6)                    ALLOW       Anywhere (v6)             

$ sudo ufw deny 50000
Rule added
Rule added (v6)
$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
21/tcp                     ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
50000                      DENY        Anywhere                  
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
21/tcp (v6)                ALLOW       Anywhere (v6)             
22 (v6)                    ALLOW       Anywhere (v6)             
50000 (v6)                 DENY        Anywhere (v6)             

アクセス拒否を設定しました。

ルールを削除

ルールを削除します。

コマンド形式

sudo ufw delete [ルール]
sudo ufw delete [ルール番号]

コマンド実行例

$ sudo ufw status numbered
[sudo] password for user:
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 443/tcp                    ALLOW IN    Anywhere                  
[ 2] 80/tcp                     ALLOW IN    Anywhere                  
[ 3] 21/tcp                     ALLOW IN    Anywhere                  
[ 4] 22                         ALLOW IN    Anywhere                  
[ 5] 50000                      DENY IN     Anywhere                  
[ 6] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             
[ 7] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 8] 21/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 9] 22 (v6)                    ALLOW IN    Anywhere (v6)             
[10] 50000 (v6)                 DENY IN     Anywhere (v6)             

$ sudo ufw delete deny 50000
Rule deleted
Rule deleted (v6)
$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 443/tcp                    ALLOW IN    Anywhere                  
[ 2] 80/tcp                     ALLOW IN    Anywhere                  
[ 3] 21/tcp                     ALLOW IN    Anywhere                  
[ 4] 22                         ALLOW IN    Anywhere                  
[ 5] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             
[ 6] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 7] 21/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 8] 22 (v6)                    ALLOW IN    Anywhere (v6)             
$ sudo ufw status numbered
[sudo] password for user:
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 443/tcp                    ALLOW IN    Anywhere                  
[ 2] 80/tcp                     ALLOW IN    Anywhere                  
[ 3] 21/tcp                     ALLOW IN    Anywhere                  
[ 4] 22                         ALLOW IN    Anywhere                  
[ 5] 50000                      ALLOW IN    Anywhere                  
[ 6] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             
[ 7] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 8] 21/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 9] 22 (v6)                    ALLOW IN    Anywhere (v6)             
[10] 50000 (v6)                 ALLOW IN    Anywhere (v6)             


$ sudo ufw delete 5
Deleting:
 allow 50000
Proceed with operation (y|n)? y
Rule deleted
$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 443/tcp                    ALLOW IN    Anywhere                  
[ 2] 80/tcp                     ALLOW IN    Anywhere                  
[ 3] 21/tcp                     ALLOW IN    Anywhere                  
[ 4] 22                         ALLOW IN    Anywhere                  
[ 5] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             
[ 6] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 7] 21/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 8] 22 (v6)                    ALLOW IN    Anywhere (v6)             
[ 9] 50000 (v6)                 ALLOW IN    Anywhere (v6)             

ルールを削除しました。
ルールの指定は、ルール内容とルール番号で指定可能です。

ファイアウォールを初期状態にリセット

ファイアウォールを初期状態にリセットします。

コマンド形式

sudo ufw reset

コマンド実行例

$ sudo ufw status
[sudo] password for user:
Status: active

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
21/tcp                     ALLOW       Anywhere
22                         ALLOW       Anywhere
443/tcp (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
21/tcp (v6)                ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)

$ sudo ufw reset
Resetting all rules to installed defaults. Proceed with operation (y|n)? y
Backing up 'user.rules' to '/etc/ufw/user.rules.20240625_142035'
Backing up 'before.rules' to '/etc/ufw/before.rules.20240625_142035'
Backing up 'after.rules' to '/etc/ufw/after.rules.20240625_142035'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20240625_142035'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20240625_142035'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20240625_142035'

$ sudo ufw status
Status: inactive

ファイアウォールを初期状態にリセットしました。

まとめ

ufwコマンドの概要と使い方を紹介しました。

ufwコマンドは
  • ファイアウォールを有効に設定できる
  • ファイアウォールを無効に設定できる
  • ファイアウォールの状態を表示できる
  • アクセス許可を設定できる
  • アクセス拒否を設定できる
  • ルールを削除できる
  • ファイアウォールを初期状態にリセットできる

ネットワークにおけるセキュリティ管理で必要なコマンドなので、 覚えて実践していきましょう。

  • URLをコピーしました!
目次