Ubuntu の Firewallツール (UFW:Uncomplicated firewall)で試してみる。
※ Wikipedia から引用
Uncomplicated Firewall(UFW)は、簡単に使用できるように設計された、netfilter(英語版)ファイアウォールの管理プログラムである。少数のシンプルなコマンドからなるコマンドラインインターフェイスを使用する。内部の設定には、iptablesを使用している。UFWは、8.04 LTS以降のすべてのUbuntuインストールでデフォルトで使用可能である。
はじめに
今回の試行条件は下記のとおりです。
試行環境
今回試した環境は以下(※一応記録しておく)
cat /etc/os-release
実行結果
NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.5 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal
初期状態
初期状態はインアクティブになっている。
systemctl status ufw
実行結果
● ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:ufw(8)
FW設定変更
下記のとおり軽く設定を変更してみる。
TCP接続を許可する
SSH通信用にTCP接続を許可する。
ufw allow 22/tcp
実行結果
Rules updated Rules updated (v6)
接続を許可する
任意の通信用にTCP/UDP接続を許可する。
ufw allow 80
実行結果
Rules updated Rules updated (v6)
特定IPからの接続を許可する
特定IP(135.22.65.0/24)から9090ポートへのTCP通信を全て許可する。
ufw allow from 135.22.65.0/24 to any port 9090 proto tcp
実行結果
Rules updated
特定IP(135.22.65.0/24)から9091ポートへのTCP通信を全て許可する。
ufw allow from 135.22.65.0/24 to any port 9091 proto tcp
実行結果
Rules updated
FW有効化
ファイアウォールを有効にして、システム起動時に自動実行されるようにする。
ufw enable
実行結果
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
ファイアウォールはアクティブかつシステムの起動時に有効化されます。
FW実行/停止
手動で実行する
systemctl start ufw
特に何も表示されないため、以下のコマンドでステータスを確認する。
systemctl status ufw
実行結果
● ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: active (exited) since Fri 2023-03-31 22:14:06 EDT; 2s ago Docs: man:ufw(8) Process: 21145 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS) Main PID: 21145 (code=exited, status=0/SUCCESS) Mar 31 22:14:06 node01 ufw-init[21149]: Firewall already started, use 'force-reload'
手動で停止する
systemctl stop ufw
特に何も表示されないため、以下のコマンドでステータスを確認する。
systemctl status ufw
実行結果
● ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: inactive (dead) since Fri 2023-03-31 22:19:12 EDT; 2s ago Docs: man:ufw(8) Process: 21145 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS) Process: 21953 ExecStop=/lib/ufw/ufw-init stop (code=exited, status=0/SUCCESS) Main PID: 21145 (code=exited, status=0/SUCCESS) Mar 31 22:14:06 node01 ufw-init[21149]: Firewall already started, use 'force-reload'