【ユーエフダブリュー】

ufw(シンプルファイアウォール) とは?

最終更新:
💡 通信を通す条件を、簡単なコマンドで管理する

Linuxのファイアウォールを簡単なコマンドで管理するツール。ポートや送信元などの条件に応じて通信を許可・拒否するルールを設定する。Ubuntuで使われ、実際の動作は既存ルールや既定の方針にも左右される。

📌 このページのポイント
ufwで「通す条件」を管理するサーバーサービスが待機LinuxのファイアウォールTCP 443番へ許可するルールTCP 3306番へ拒否するルール実際の可否は、既存ルールや既定方針も確認
許可・拒否ルールを設定した受信通信の例。矢印は通信の方向、赤い×は拒否を表す。有効化だけで不要な通信がすべて止まるという意味ではない。
ひよこ ひよこ
ufwは通信を受け取るサーバーなの?
ペンギン先生 ペンギン先生
通信を通す条件を管理するツールだよ。たとえば「このサーバーのTCP 443番への接続を許可する」というルールを作る。実際にパケットを選別するのは、Linux側のファイアウォールの仕組みなんだ。
ひよこ ひよこ
すぐに有効化してもいい?
ペンギン先生 ペンギン先生
SSHで遠隔操作中なら、先に実際に使うSSHポートへの接続を許可し、別の管理手段も確保しよう。有効化で接続が切れる可能性があるんだ。22番を使う場合の例はsudo ufw allow 22/tcpだけど、変更済みのポートにはその番号が必要だよ。
ひよこ ひよこ
HTTPSを許可するには?
ペンギン先生 ペンギン先生
TCP 443番を使うサービスならsudo ufw allow 443/tcpが一例だよ。sudo ufw status verboseで有効状態や既定の方針、ufwが管理するルールを確認する。許可してもサービス自体が起動していなければ接続先にはならないよ。
ひよこ ひよこ
特定のネットワークだけ許可できる?
ペンギン先生 ペンギン先生
sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22のように送信元を条件にできるよ。ただし、この追加だけで既存の広い許可が取り消されるわけではない。ルールの順序や既定の方針を含めて確認しよう。
ひよこ ひよこ
有効にしたら不要な通信は全部止まる?
ペンギン先生 ペンギン先生
そうは断定できないよ。導入時は受信を拒否・送信を許可する既定の方針だけど、例外ルールもあり、後から設定も変えられる。statusに出ないルールもあるので、必要ならsudo ufw show rawで全体を見る。認証や更新などの対策も別に必要だよ。
もっと詳しく知りたい人へ

アプリ名で許可できる?

アプリケーションプロファイルが登録されていれば使えるよ。sudo ufw app listで名前を調べ、sudo ufw app info 名前で対象のポートなどを確認する。名前があるだけで必要最小限の許可とは限らないので、内容を見てから使おう。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ufw」って出てきたら「Linuxの通信ルールを簡単に管理するツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Uncomplicated Firewall」 = 複雑でないファイアウォール
💬 複雑なルール管理を扱いやすくする、という名前だよ。Linuxのnetfilterファイアウォールを管理するためのツールなんだ。

参考資料

← 用語集にもどる