きっとブログ
887 words
4 minutes
UFWの設定方法

はじめに#

この記事では、UFWの設定方法を紹介します!

実行環境はUbuntu20.04(bash)です。

UFWの設定は、SSHの設定と同時に行うことをおすすめします!

SSH接続のための設定まとめ【サーバーでの事前準備〜鍵の生成〜登録〜接続まで】

設定方法#

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
IPV6=yes  <-これを
IPV6=no  <-このように変更

UFWを再起動

sudo systemctl restart ufw.service

IPv6を無効化できたか確認

sudo ufw status

おわりに#

今回は以上です。

お読みいただきありがとうございました!