ファイアウォールを有効にする( ufw )

メモ:  Category:ubuntu

Ubuntu のファイアウォール設定は、 ufw (Uncomplicated Firewall) というツールで設定します。

裏では、 iptables が動いているようで、 iptabels を簡単に設定することができるツールになります。

ufw の状態を確認する

ufw は、 Ubuntu 8.04 LTS 以降デフォルトでインストールされますが、初期状態は無効になっており全ての通信が通る状態になっています。

まず、サービスの状態を確認してみます。

~$ sudo systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: active (exited) since Fri 2022-04-01 12:38:17 UTC; 11min ago
       Docs: man:ufw(8)
    Process: 494 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
   Main PID: 494 (code=exited, status=0/SUCCESS)

Warning: journal has been rotated since unit was started, output may be incomplete.

インストール直後の状態ですが、サービスは起動しているようです。

では、 ufw のステータスを確認してみます。

$ sudo ufw status
Status: inactive

inactive と表示され、有効ではないようです。

$ sudo ufw allow 22/tcp
Rules updated
Rules updated (v6)

ufw を有効にする

ssh で接続している場合、 ufw を有効にする前に ssh のポートを許可しておくと良いようなので、先に設定をしておきます。

いくつかのサイトには、そのまま有効にしても大丈夫との記載がありますが、「/etc/ufw/ufw.conf」には次のような記載があります。

# /etc/ufw/ufw.conf
#

# Set to yes to start on boot. If setting this remotely, be sure to add a rule
# to allow your remote connection before starting ufw. Eg: 'ufw allow 22/tcp'
ENABLED=no

それでは、次のコマンドを実行して ssh のポートを許可します。

$ sudo ufw allow 22/tcp
Rules updated
Rules updated (v6)

ufw の設定は、「/etc/ufw/」の user.rules (IPv4)と user6.rules (IPv6)に追記されます。

user.rules の中を確認すると、 22 番ポートの tcp と udp が許可されていることを確認できます。

### tuple ### allow any 22 0.0.0.0/0 any 0.0.0.0/0 in
-A ufw-user-input -p tcp --dport 22 -j ACCEPT

準備ができたので ufw を有効にします。

「ssh 接続が切断されるかもしれないですけど、いいですか?」と尋ねられますので「y」と入力します。

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

ufw が有効になったので状態を確認してみます。

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

今度は、ステータスが「active」になり、先程設定した 22 番ポートの設定が表示されました。

これでファイアウォールの設定ができるようになりました。

bluenote by BBB