Ubuntuで自宅サーバー構築!【ufw(ファイアウォール)編】

ubuntu-ufw
  • URLをコピーしました!

本記事では、前回書き切れなかったファイアウォールの設定方法について詳しくご紹介します。
今まで著者が利用していたCentOSでは、iptablesもしくはfirewalldを使用していましたが、Ubuntuではufwを使用します。
何れも設定方法が異なるので、最初は設定し辛く感じましたが、慣れればわかりやすくて簡単です。

目次

ufwの初期設定

Ubuntu 20.04(LTS)ではデフォルトでufwが入っていますが、初期状態では何でも通す、いわゆる無効な状態になっているはずです。
これではセキュリティ的によろしくないので、まずは状態を確認してみましょう。
※前提として、本記事でのコマンドは全てroot権限で行います

ufwの状態を確認する

以下のコマンドで状態を確認できます。

無効な場合はこのように表示されます。

有効になっているなら、

と表示されます。
デフォルトは無効なので、次の手順で有効化してあげましょう。

ufwの有効化

ここでSSH接続で作業している方は注意です!

いきなりファイアウォールを有効にすると、SSH接続できなくなってしまいます!

SSH以外でサーバーに接続する手段がない場合は、先に次の手順に進んでください。
それでは、ファイアウォール有効にするコマンドです。

これだけですね。
ちなみに、無効化する場合はこのようにします。

特に問題無ですね。

ufwのIPv6無効化とデフォルト設定

Ubuntuの初期設定でも記載した通リ、OS自体のIPv6無効にしているので、ファイアウォールでもIPv6は使いません。
以下のファイルを書き換えてIPv6無効化しましょう。

さらに、デフォルトで全ての通信を遮断する「ホワイトリスト形式」か、全て許可してから特定の通信を遮断する(ブラックリスト形式)も設定することができます。

  • deny (廃棄)
  • reject (拒絶)
  • allow (許可)

設定は可能ですが、特に意識する必要はなく、一般的な「denyホワイトリスト)」を使います。

これでufwの初期設定は完了です。

簡単なルールの追加と削除

まずは、基本的なルール追加削除方法をご紹介します。
この章では特に制限を意識することなく、通信許可のルールを追加します。
ここからは例として、22番ポート(SSH)を許可、削除します。

ポート番号を指定したルールの追加

単純にポート番号だけを指定して追加する場合は以下の通りです。

プロトコルTCP」も指定すると以下のようになります。

アプリケーションを指定したルールの追加

次はアプリ名を指定して追加する方法です。

これだけでアプリが使用しているポートを自動で許可してくれます。
ちなみに、指定できるアプリを確認するには、以下のコマンドを使用します。

追加したルールを確認する

追加したルール確認するには、以下のコマンドを実行します。

しかし、次の番号指定でルールを削除するために、ルール番号を表示する「numberedオプションを付けます。

次では、ここに表示された番号を基に削除します。

番号を指定したルールの削除

上記で表示されたルール番号を指定して削除します。

普通にポートを指定して削除する方法もありますが、ルールが複数ある場合や削除ミス防止の観点からも、こちらの削除方法をオススメします。
※逆に、任意のルール番号の間に新しいルールを挿入したい場合は「insertオプションもありますよ

詳細なルールの追加

通常ならこれらの方法で問題ありませんが、もっと通信元制限をかけたり、NICが複数ある場合にどのネットワーク許可するかなど、細かく設定することもできます。
最後に少しだけ例を上げて終わりたいと思います。

通信元を制限する

例えば、同じセグメント内のIPアドレスからしか通信受け付けない場合は、以下のように設定します。

更に、特定のポートからの通信を指定したIPアドレスだけ受け付ける場合はこのようになります。

ちなみに、インターフェース名(ens160やeth0)でも追加できます。
これでセキュリティがグッと向上すると思います。

著:中島 能和
¥3,762 (2024/07/12 03:00時点 | Amazon調べ)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (1件)

コメントする

CAPTCHA


目次