Rain WikiWindows · Linux · Android

UFW (Uncomplicated Firewall)

組み込みツールUbuntu, Debian

UFW (Uncomplicated Firewall) は、Ubuntuの標準ファイアウォールフロントエンドです。ufw allow 22/tcp のような短いコマンドでカーネルのパケットフィルタを管理します。デフォルトでインストールされていますが、初期状態では無効になっており、デフォルトポリシーでは着信接続を拒否し、発信接続を許可する設定になっています。

1ルール

ufw allow 443/tcp でポートを開放し、ufw deny でブロックします。また、ufw limit ssh を使用すると、SSHを許可しつつ接続試行回数が多すぎるアドレスをブロックできます。ufw allow from 203.0.113.5 to any port 22 は特定のIPアドレスのみを許可します。'OpenSSH' のようなアプリケーションプロファイルは ufw app list で確認できます。

2ステータスと削除

ufw status verbose でポリシーとルールを表示できます。ufw status numbered を実行するとルールに番号が振られ、ufw delete <number> で特定のルールを削除できるようになります。

3DockerとUFW

Dockerは公開されたコンテナポートに対して独自のiptablesルールを書き込みますが、これらはUFWのルールよりも先に処理されます。そのため、docker run -p で公開されたポートは、UFWで許可されていない場合でもアクセス可能な状態になることがあります。

接続を遮断せずにUFWを有効にする方法

  1. まずSSHを許可する: sudo ufw allow OpenSSH
  2. 必要な他のサービスを許可する(例): sudo ufw allow 443/tcp
  3. ファイアウォールを有効にする: sudo ufw enable
  4. 結果を確認する: sudo ufw status verbose

注意点

  • SSHルールを設定せずにSSH経由でUFWを有効にすると、接続が切断されます。
  • Dockerコンテナによって公開されたポートは、UFWのルールをバイパスする可能性があります。

出典

  1. ufw(8) マニュアルページ (Ubuntu) manpages.ubuntu.com
  2. ファイアウォール (Ubuntu Server ドキュメント) ubuntu.com

最終確認: