はじめに
この記事では、UFWの設定方法を紹介します!
実行環境はUbuntu20.04(bash)です。
UFWの設定は、SSHの設定と同時に行うことをおすすめします!
SSH接続のための設定まとめ【サーバーでの事前準備〜鍵の生成〜登録〜接続まで】
設定方法
UFWのステータスを確認
以下のコマンドでUFWが起動しているかどうか確認してみましょう。
sudo ufw status起動していない場合
Status: inactiveUFWを有効化
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/tcpUDPを指定
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 1UFWをリロード
ルールを追加したり削除したりした後は再読み込みしておきましょう。
sudo ufw reloadIPv6の設定を無効にする
/etc/default/ufwを編集
sudo nano /etc/default/ufwIPV6=yes <-これを
IPV6=no <-このように変更UFWを再起動
sudo systemctl restart ufw.serviceIPv6を無効化できたか確認
sudo ufw statusおわりに
今回は以上です。
お読みいただきありがとうございました!


