Ubuntu でファイアウォールを設定する方法

Ubuntu でファイアウォールを設定することは、ネットワーク トラフィックを制御することによってサーバーを保護するために不可欠です。Ubuntu は `iptables` を管理するためのユーザーフレンドリーなフロントエンドとして `ufw` (Uncomplicated Firewall) を使用しています。このガイドでは、UFW を構成するための基本的な手順を説明します。

Beginner

Ubuntu でファイアウォールを設定することは、ネットワーク トラフィックを制御することによってサーバーを保護するために不可欠です。Ubuntu は iptables を管理するためのユーザーフレンドリーなフロントエンドとして ufw (Uncomplicated Firewall) を使用しています。このガイドでは、UFW を構成するための基本的な手順を説明します。

1. UFW のステータスを確認し、必要に応じてインストールする

まず、UFW がシステムで既にアクティブかどうかを確認します。

sudo ufw status verbose

UFW がインストールされていない場合は、次を使用してインストールできます。

sudo apt update
sudo apt install ufw

2. デフォルト ポリシーを設定する

デフォルトですべての着信接続を拒否し、すべての発信接続を許可することがベストプラクティスです。これにより、明示的に許可されたトラフィックのみがサーバーに到達することが保証されます。

sudo ufw default deny incoming
sudo ufw default allow outgoing

3. 必須接続(特に SSH)を許可する

ファイアウォールを有効にする前に、特にリモートで接続している場合、サーバーへのアクセスをブロックしないように SSH 接続を許可することが重要です。

  • SSH を許可する: bash sudo ufw allow ssh # または、カスタム SSH ポート (例: 2222) を使用している場合: # sudo ufw allow 2222/tcp

4. UFW を有効にする

SSH アクセスが許可されていることを確認したら、ファイアウォールを有効にします。

sudo ufw enable

ファイアウォールを有効にすると既存の接続が中断される可能性があるため、確認を求められます。y を入力して ENTER を押します。

5. その他の必要なサービスを許可する

サーバーが提供する必要のある他のサービスへのトラフィックを許可します。

  • HTTP (ポート 80): Web サーバー用。 bash sudo ufw allow http # または sudo ufw allow 80/tcp
  • HTTPS (ポート 443): セキュアな Web トラフィック用。 bash sudo ufw allow https # または sudo ufw allow 443/tcp
  • 特定のポート: 他のアプリケーションの場合、それらの特定のポートを許可します。たとえば、ポート 8080 でのトラフィックを許可するには: bash sudo ufw allow 8080/tcp
  • 特定の IP アドレスからの許可: 信頼できる IP アドレスからのアクセスのみを許可するには: bash sudo ufw allow from 203.0.113.100 to any port 22 proto tcp

6. 不要な接続を拒否する

デフォルト ポリシーは着信トラフィックを拒否しますが、以前に許可されていた場合や、より広範なルールをオーバーライドする必要がある場合は、特定のポートまたは IP を明示的に拒否したい場合があります。

  • 特定のポートを拒否する: bash sudo ufw deny 23/tcp

7. ステータスとルールを確認する

変更を加えた後は、必ずファイアウォールのステータスとルールを確認してください。

sudo ufw status verbose

このコマンドは、ファイアウォールのステータス、デフォルト ポリシー、およびすべての有効なルールのリストを表示します。

8. UFW を無効にするかリセットする (オプション)

  • UFW を無効にするには: bash sudo ufw disable これによりファイアウォールがオフになりますが、設定済みのルールは保持されます。
  • UFW をデフォルトの状態にリセットするには(無効化してすべてのルールを削除): bash sudo ufw reset このアクションを確認するように求められます。

これらの手順に従うことで、Ubuntu サーバー上で効果的にファイアウォールを設定および管理し、そのセキュリティを大幅に向上させることができます。