ufwの設定【Ubuntu 20.04】

ufw(Uncomplicated FireWall)は、⁠iptablesのフロントエンドツールです。

1. ufwの有効化

まず、ステータスを確認します。
$ sudo ufw status
状態: 非アクティブ
デフォルトでは無効になっていますので、有効化します。
$ sudo ufw enable
ここで、「コマンドにより、既存のssh接続が中断される場合があります。 操作を続行しますか(y | n)?」という確認メッセージが表示されますので、「y」を入力します。
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
※このままログアウトすると再度サーバにログインできなくなる可能性もありますので、必ず最後まで設定を完了させて下さい。

なお、無効化する場合は、以下のようにします。
sudo ufw disable

2. デフォルト「拒否」の設定

デフォルトを「拒否」にして、そこから許可していくようにします。
$ sudo ufw default deny

3. ポート番号の許可

許可するポート番号を指定します。
$ sudo ufw allow 22
プロトコルを指定しない場合は、TCPとUDPが許可されますが、プロトコルを指定することもできます。
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp

4. IPアドレス制限

(1) ufwでの設定
指定のIPアドレスのみ許可します。
sudo ufw allow from xxx.xxx.xxx.xxx/32 to any port 22
(2) /etc/hosts.allowでの設定
「/etc/hosts.allow」でも設定できます。
SSHのIP制限 を参照して下さい。

5. ルールの削除

「ufw status numbered」を実行すると、番号付きでルールが表示されます。
$ sudo ufw status numbered
状態: アクティブ
 
     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 443/tcp                    ALLOW IN    Anywhere
[ 4] 22                         ALLOW IN    xxx.xxx.xxx.xxx
[ 5] 22 (v6)                    ALLOW IN    Anywhere (v6)
[ 6] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 7] 443/tcp (v6)               ALLOW IN    Anywhere (v6)
ここで、[ 1]の「22」を削除します。
$ sudo ufw delete 1
削除:
 allow 22
操作を続けますか (y|n)? y
ルールを削除しました

5. 再読み込み

ルールの追加・削除を行った場合は、必ず再読み込みします。
$ sudo ufw reload

6. IPv6の無効化

IPv6の設定を無効化します。

無効化前にstatusの表示を行います。
$ sudo ufw status
状態: アクティブ
 
     To                         Action      From
     --                         ------      ----
22                         ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere
22 (v6)                    ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
443/tcp (v6)               ALLOW IN    Anywhere (v6)

「/etc/default/ufw」の編集を行います。
$ sudo vi /etc/default/ufw
「IPV6=yes」の記述を「iPV6=no」に変更します。
#IPV6=yes
IPV6=no

ufwの再起動を行います。
$ sudo systemctl restart ufw.service

再度statusの表示を行います。
$ sudo ufw status
状態: アクティブ
 
     To                         Action      From
     --                         ------      ----
22                         ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere



タグ:

ubuntu ufw IP制限
最終更新:2021年01月06日 08:34