基本的なファイアウォールの有効化

LinuxBeginner
オンラインで実践に進む

はじめに

このハンズオン実験(Lab)へようこそ。基本的なファイアウォールの有効化について学習します。サーバーのセキュリティ保護は、あらゆるシステム管理者にとって極めて重要なタスクであり、ファイアウォールは不正なネットワークアクセスに対する最初の防御線となります。

この実験では、Debian および Ubuntu システムにおける iptables ファイアウォールルールの管理のためのユーザーフレンドリーなインターフェースである UFW (Uncomplicated Firewall) を使用します。UFW はシンプルで直感的に設計されており、基本的なファイアウォール管理を誰でも利用できるようにしています。UFW のインストール方法、特定のトラフィックを許可するためのルールの追加方法、ファイアウォールの有効化と無効化、およびステータスの確認方法を学びます。

この実験を終える頃には、UFW を使用して基本的なファイアウォール操作を実行する方法について確固たる理解が得られるでしょう。

apt install ufw -y コマンドを使用した UFW のインストール

このステップでは、Uncomplicated Firewall (UFW) をインストールします。UFW は多くの Ubuntu ディストリビューションに含まれていますが、インストールされていることを確認するか、不足している場合にインストールすることが良い習慣です。ここでは apt パッケージマネージャを使用します。

まず、利用可能な最新バージョンを取得するために、パッケージリストを更新することが常に推奨されます。

ターミナルで次のコマンドを実行します。

sudo apt update

パッケージリストがリポジトリから更新される際の出力を確認できます。

次に、UFW のインストールに進みます。-y フラグは、インストールプロセス中に表示されるすべてのプロンプトに自動的に「はい」と答えます。

sudo apt install ufw -y

コマンドが完了すると、UFW がシステムにインストールされます。以下のような出力が表示され、インストールが成功したことを示します。

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  ufw
0 upgraded, 1 newly installed, 0 to remove and ... not upgraded.
Need to get ...
After this operation, ... of additional disk space will be used.
...
Setting up ufw (...)
...

この時点では、UFW はインストールされていますが、まだアクティブではありません。次のステップでは、有効化する前にルールを設定します。

ufw allow 80 コマンドを使用した HTTP の許可

このステップでは、着信 HTTP トラフィックを許可するためのファイアウォールルールを追加します。デフォルトでは、UFW はすべての着信接続を拒否します。Web サーバーを実行している場合、ユーザーがアクセスできるように明示的にルールを作成する必要があります。HTTP トラフィックはポート 80 を使用します。

ルールは、ufw allow コマンドの後にポート番号またはサービス名を指定して追加できます。

ポート 80 でのトラフィックを許可するために、次のコマンドを実行します。

sudo ufw allow 80

ルールが追加されたことの確認メッセージが表示されます。UFW は IPv4 トラフィックと IPv6 トラフィックの両方にルールを追加するのに十分賢いため、出力には 2 行が表示されます。

Rule added
Rule added (v6)

このルールは設定されましたが、ファイアウォールが有効になるまで適用されません。有効化は次のステップで行います。これは安全な手順であり、ファイアウォールをアクティブ化して誤って自分自身をロックアウトする前に、必要なすべてのルール(例:SSH 用)を設定できるようにします。

ufw enable コマンドを使用したファイアウォールの有効化

このステップでは、ファイアウォールをアクティブ化します。UFW をインストールしルールを追加するだけでは不十分であり、ルールを適用するためにはファイアウォールサービスが実行されている必要があります。

ファイアウォールを有効にする前に、システムから締め出されるのを防ぐために、SSH トラフィックを許可することが重要です。SSH はデフォルトでポート 22 を使用します。

sudo ufw allow ssh

SSH ルールが追加されたことの確認メッセージが表示されます。

Rule added
Rule added (v6)

これで安全に UFW を有効にできます。ufw enable コマンドを使用します。

sudo ufw enable

ファイアウォールがアクティブ化され、システム起動時に自動的に有効になることが出力で確認されます。

Firewall is active and enabled on system startup

これでファイアウォールが稼働し、SSH アクセスの許可を含む設定したルールが適用されます。

ufw status コマンドによるステータスの確認

このステップでは、ファイアウォールのステータスを確認し、アクティブなルールを表示する方法を学びます。これは、設定を確認するために不可欠なコマンドです。

基本的なステータスレポートを確認するには、ufw status コマンドを使用します。

sudo ufw status

出力には、ファイアウォールがアクティブであることと、設定したルールの一覧が表示されます。追加した SSH およびポート 80 のルールが表示されるはずです。

Status: active

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
80 (v6)                    ALLOW       Anywhere (v6)
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

より詳細な表示を行うには、verbose オプションを使用できます。これにより、デフォルトポリシーも表示されます。

sudo ufw status verbose

verbose 出力は、着信、発信、ルーティングされたトラフィックのデフォルトポリシーを含む、より多くのコンテキストを提供します。デフォルトでは、UFW はすべての着信トラフィックを拒否し、すべてのアウトバウンドトラフィックを許可します。

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere
80/tcp (v6)                ALLOW IN    Anywhere (v6)
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)

ファイアウォールが意図したとおりに設定されていることを確認するために、定期的にステータスを確認することは良い習慣です。

ufw disable コマンドによるルールの無効化と削除

このステップでは、ファイアウォールを無効化し、既存のルールを削除する方法を学びます。これは、メンテナンス、トラブルシューティング、またはファイアウォールをゼロから再設定する場合に必要になることがあります。

まず、ファイアウォールを無効化します。これにより、UFW によるネットワークトラフィックのフィルタリングが停止します。

sudo ufw disable

出力により、サービスが停止したことが確認されます。

Firewall stopped and disabled on system startup

次に、追加したルールを削除します。ファイアウォールが無効になっている間も、ルールは設定ファイルに保存されています。特定のルールを削除するには、まず ufw status numbered を使用して番号付きで一覧表示します。

sudo ufw status numbered
Status: inactive

ファイアウォールが非アクティブであるため、番号付きルールを確認するために再度有効化します。

sudo ufw enable
sudo ufw status numbered

出力は次のようになります。

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80                         ALLOW IN    Anywhere
[ 2] 80 (v6)                    ALLOW IN    Anywhere (v6)
[ 3] 22                         ALLOW IN    Anywhere
[ 4] 22 (v6)                    ALLOW IN    Anywhere (v6)

これで、番号を指定してルールを削除できます。ここでは、最初のルール(IPv4 用)を削除します。

sudo ufw delete 1

UFW は確認を求めます。この環境では自動的に処理が続行されます。ルールが削除されたことの確認メッセージが表示されます。

Deleting:
 allow 80
Proceed with operation (y|n)?
Rule deleted

最後に、UFW をデフォルトの状態に完全にリセットし、すべてのルールを削除して無効化したい場合は、ufw reset コマンドを使用できます。

sudo ufw reset

このコマンドは、クリーンなファイアウォール設定で最初からやり直す場合に非常に役立ちます。

まとめ

この実験(Lab)の完了おめでとうございます!UFW を使用して Linux システム上でファイアウォールを管理するための基礎を習得しました。

この実験(Lab)では、以下の操作を練習しました。

  • apt パッケージマネージャを使用した UFW のインストール。
  • ufw allow を使用した特定のトラフィックを許可するルールの追加。
  • ufw enable を使用したファイアウォールの有効化とアクティベーション。
  • ufw status を使用したファイアウォールのステータスとルールの確認。
  • ufw disable および ufw delete を使用したファイアウォールの無効化とルールの削除。

これらの基本コマンドを習得することで、サーバーのセキュリティを強化するための強力なツールを手に入れることができます。ファイアウォールを適切に設定することは、システム管理およびネットワークセキュリティにおける基礎的なスキルです。