Ubuntu22.04LTS_Server

Ubuntu Server 22.04 LTS ファイアウォール ufw の設定方法

Ubuntu Server 標準でインストールされているファイアウォール ufw の設定方法を紹介します。

確認環境

  • Ubuntu 22.04 LTS Server

ufw 状態確認および起動停止

ufwはインストール直後では停止した状態となっています。

ufw 状態確認( ufw status )

ufw status コマンド状態を確認できます。 active が有効 inactive と表示されていたら停止状態

詳細表示方法および番号リスト付きのファイアウォールのルールの表示として下記オプションがあります。

  • sudo ufw status verbose
  • sudo ufw status numbered

ufw 起動 ( enable )

ufw の起動方法 (自動起動の設定も同時に設定される)

ufw 停止 ( disable )

ufwの停止方法 (自動起動の設定も同時に無効になります。)

ufw ファイアウォール初期動作の確認および変更方法

ufw ファイアウォールは起動した状態では外部(incoming)からのパケットをdeny ( 廃棄 ) 状態となっています。

Defaultの動作は、すべてのルールの条件をパスした結果の動作になります。従って、ルールがない状態だと外部(incommoing)からのパケットはdeny(廃棄)する動作となります。

これらの状態を変更には ufw default で変更することができます。

  • deny (廃棄)
  • reject (拒絶)
  • allow (許可)

が選択できます。デフォルトの動作ufw default で変更することができます。下記は incoming をreject に変更になります。

ufw のルールの追加、削除

TCP/UDP 両方のポート番号許可 ルール追加

プロトコルを記載しない場合 TCP / UDP 両方が設定されます。 下記はポート53 (TCP/UDP)を許可する設定になります。

TCP / UDP 両方のポート番号許可 ルール削除

上記で設定した TCP/DUP ポート番号 53 のルールの削除は下記になります。

TCPのみポート番号許可 ルール追加

TCPプロトコルを指定した上で特定のポート番号を許可 下記は 80/tcp の設定

TCPのみポート番号許可 ルール削除

TCPプロトコルを指定した上で特定のポート番号を削除

UDPのみポート番号許可 ルール追加

UDPプロトコルを指定した上で特定のポート番号の許可 下記は ポート番号 51820 プロトコル UDP

UDPのみポート番号許可 ルール削除

UDPプロトコルを指定した特定のポート番号のルール削除

連続したポート番号許可 ルール追加

連続したポート番号でルールの追加 今回の例は 10500-10599 連続したポート番号 かつ TCP の許可

連続したポート番号許可 ルール削除

連続したポート番号でルールの削除

アドレス指定(送信元アドレス src) での許可 ルール追加

指定アドレス(ネットワーク)を許可するルールの追加 下記は 192.168.0.0/16 からの送信元パケットは許可します。

アドレス指定(送信元アドレス src) での許可 ルール削除

指定アドレス(ネットワーク)を許可したルールの削除します。

アドレス指定(送信先アドレス dest) での許可 ルール追加

指定アドレス(ネットワーク)を許可するルールの追加 下記は 192.168.0.0/16 への送信先パケットは許可します。

アドレス指定(送信先アドレス dest) での許可 ルール削除

指定アドレス(ネットワーク)を許可するルールの削除 下記は 192.168.0.0/16 への送信先パケットのルールを削除します。

インターフェイス(eth0)指定での許可 ルール追加

eth0インターフェイスに入ってくるパケットを許可するルールを追加する。

インターフェイス(eth0)指定での許可 ルール削除

eth0インターフェイスに入ってくるパケットを許可するルールを削除する。

条件の組み合わせ

宛先やポート番号やインターフェイスを組み合わせてた条件のルールを設定することが可能です。下記は送信元 172.18.0.0/16 宛先 any ポート番号 80 の条件が全て一致した場合allow(許可)になります。

条件の組み合わせ

上記のルールの削除になります。

ufw 番号に基づくルール編集

ルールの番号確認 ufw status numbered

ルールの左に[ number ] が番号になります。 上記の例では 番号4 は 443/tcp がルールになります。

ufw status number コマンドでufwのルールの番号を確認することができます。ufwのファイアウォールはこの若番から順番に評価されます。
上記の例では、「2」に10.0.0.0/8 からのパケットをdeny(廃棄)設定がはいっていますが、「1」の22/tcp SSH から先に記載されていますので、10.0.0.0/8であっても 22/TCPは許可されます。逆に「3」以降に80(http), 443(https)のallow(許可)を記載していますが、10.0.0.0/8からのhttpパケットは[2]のルールが先に記載されているのでdeny(廃棄)されます。
そのため、設定する際はルール番号を意識して設定する必要があります。

ルール番号を元に削除 ufw delete 番号

ルール番号から該当のルールを削除することができます。下記は 3 を削除した実行例になります。

番号の任意箇所にルールの追加

ルールは小さい番号から評価して処理が決定されます。通常のルール設定では、番号の最終行に追加されます。番号を指定することで任意の場所にルールを追加することが可能です。

ufw reset ( 初期化 および ファイアウォール停止 )

設定したufwのルールおよびファイアウォールを無効を reset コマンドで実行できます。

参考サイト

Ubuntu 22.04 LTS Server 記事一覧

Ubuntu 22.04 LTS Server インストール

Ubuntu 22.04 LTS Server 環境変更

Ubuntu 22.04 LTS Server ソフトインストール

-Ubuntu22.04LTS_Server