1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UFWを活用して特定の通信のみ許可する

Posted at

今回はUFWの設定により、特定の通信のみ許可する方法について書いていきます。
実際に設定したサーバはUbuntu22.04です。

UFWとは

Ubuntuで使用されるファイアウォールの設定ツールです。
ちなみにUncomplicated Firewall(複雑でないファイアウォール)の略です。
私はUbuntu FireWallの頭文字を取ったものだと勘違いしていました;
その名の通り、iptablesファイアウォールの設定を楽に行えるようです。

UFWの初期値は「すべての通信を遮断する」

UFWはデフォルトではオフになっていますが、これをオンにするとどう働くのでしょうか。
正解は「すべての通信が遮断される」ようになります。
UFWは、すべての通信を遮断しておいて、許可する通信のみ設定していく方式なのです。

ですので、サーバにSSH接続して作業する場合は、ターミナルを閉じてしまうと接続できなくなりますので注意が必要です。

UFWを使ってみる

では、実際にUFWを有効化してみましょう。

ターミナル
sudo ufw enable

次にデフォルトの設定を確認してみます。

ターミナル
sudo ufw status verbose

Default: deny (incoming), allow (outgoing)と表示されるはずです。
これは「サーバへの入力はすべてdeny(遮断)」、「サーバからの出力はすべてallow(許可)」を示しています。
UFWは外から内に入ってくる通信にのみ制御が可能です。
この状態で、別のターミナルからSSHログインを試してみると繋がらないはずです。

UFWでSSH接続を許可してみる

初期状態ではサーバアクセスができないため、SSH接続を許可してみます。

ターミナル
sudo ufw allow 22/tcp

ちなみに遮断するにはsudo ufw deny 22/tcp
定義自体を削除するにはsudo ufw delete deny 22/tcpとする。

また、ポート番号の他にも「サービス名」で許可/遮断を定義することもできる。
sudo ufw allow ssh
ちなみに、サービス名とポート番号の組合せは以下から確認することができる。
less /etc/services

もっと詳細に定義したい場合

UFWを使うと、もっと複雑な条件でも簡単に設定することができます。
正に痒い所に手が届くツールです。

特定のIPアドレスから、特定のポート番号に対してTCPプロトコルでの接続を許可

ターミナル
sudo ufw allow from 192.168.0.3 to any port 22 proto tcp

遮断するときはsudo ufw deny from 192.168.0.3 to any port 22 proto tcp

特定のサブネットから、特定のポート番号に対してTCPプロトコルでの接続を許可

ターミナル
sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp

遮断するときはsudo ufw deny from 192.168.0.0/24 to any port 22 proto tcp

特定のインタフェースから、特定のポート番号に対してTCPプロトコルでの接続を許可

ターミナル
sudo ufw allow in on eth0 to any port 22 proto tcp

遮断するときはsudo ufw deny in on eth0 to any port 22 proto tcp

まとめ

このようにして、UFWを上手く使いこなし、ファイアウォールによるセキュアなサーバを作っていきたいと思います。
今回は以上です。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?