LoginSignup
6
4

UFWの設定方法

Last updated at Posted at 2022-08-25

はじめに

備忘録
タイトルの通りです。
実行環境はUbuntu20.04(bash)です。
どなたかのお役に立てれば幸いです。

UFWのステータスを確認

以下のコマンドでUFWが起動しているかどうか確認してみましょう。

$ sudo ufw status

起動していない場合

Status: inactive

UFWを有効化

UFWを起動してみましょう。

$ sudo ufw enable

「コマンドにより、既存のSSH接続が中断される場合があります。操作を続行しますか(y/n)?」
と出てきた場合には、必ず「y」で操作を続行してください。
SSHで接続している場合は、このままログアウトすると再度サーバーにログインできなくなる可能性があります。
サーバーの管理画面などから直接ターミナルを開いている場合(SSHをしていない場合)は関係ありません。

有効化した後にもう一度

$ sudo ufw status

をしてみると、ステータスが「active」になっていることを確認できます。

デフォルトを拒否に設定する

次のコマンドにより、サーバーへのアクセスをデフォルトで拒否することができます。

$ sudo ufw default deny

許可するポート番号を指定

SSH接続でよく使われる22番ポートを解放するためには次のコマンドを実行します。

$ sudo ufw allow 22

プロトコルを指定しない場合にはTCPとUDPがどちらも許可されます。
初期設定では、IPv4だけではなく、IPv6のルールも追加されます。
IPv6の設定を無効にする方法はこちら(この記事の下の方で紹介しています。)

プロトコルを指定

TCPを指定

$ sudo ufw allow 22/tcp

UDPを指定

$ sudo ufw allow 22/udp

許可するIPアドレスを指定

10.255.3.210から22番ポートへのアクセスを許可する場合

$ sudo ufw allow from 10.255.3.210 to any port 22

$ sudo ufw allow from 10.255.3.0/24 to any port 22
のようにサブネットマスクを指定することで、↑の例であれば10.255.3.xxxからのアクセスをまとめて許可することもできます。

さらにプロトコルを指定

$ sudo ufw allow from 10.255.3.210 to any port 22 proto tcp

グローバルIPアドレスを持ったサーバーにローカルのIPアドレスからログインする場合、ルーターによりIPアドレスが書き換えられるため、サーバーに届くパケットの送信元はルーターのIPアドレスに変わっています。
つまり、IPを指定してUFWを設定する際に、ローカルのIPアドレスからのアクセスのみ許可したい場合には、ルーターのIPアドレスを指定する必要があります。

UFWのステータスを確認

これまでに設定したルール一覧を確認してみましょう。

$ sudo ufw status

番号付きで設定したルール一覧を確認

$ sudo ufw status numbered

番号を指定してルールを削除

1番のルールを削除

$ sudo ufw delete 1

UFWをリロード

ルールを追加したり削除したりした後は再読み込みしておきましょう。

$ sudo ufw reload

IPv6の設定を無効にする

/etc/default/ufwを編集

$ sudo nano /etc/default/ufw
/etc/default/ufw
- IPV6=yes
+ IPV6=no

UFWを再起動

$ sudo systemctl restart ufw.service

IPv6を無効化できたか確認

$ sudo ufw status

ブログもあります

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4