ブログに戻る

UFWの基本:必須のファイアウォールコマンドを学ぶ

UFWの基本:必須のファイアウォールコマンドを学ぶ

はじめに

UFWは「uncomplicated firewall」の略です。ファイアウォールの機能やコマンドを簡単に管理できるようにするフロントエンドプラットフォームです。UFWは、デフォルトのオプションとしてUbuntuサーバーに付属しています。このツールにまだ慣れていない場合、ファイアウォールのコマンドや機能の可能性を最大限に引き出すのは難しいかもしれません。

私たちの目標は、初心者の方でも利用できる包括的なガイドを提供することです。UFWで実行できるさまざまなアクションの例を交えて解説します。紹介するルールの多くは、日常的なサービスやアクティビティに非常に役立ちます。それでは始めましょう!

前提条件

読み進める前に、UFWがデフォルトのルールセットに設定されていることを確認してください。これは、ファイアウォールが送信トラフィックを許可し、受信トラフィックをブロックすることを意味します。このデフォルト設定のメリットは、ファイアウォールを通過させるトラフィックを選択できる点にあります。現在のUFWのルールセットのステータスが不明な場合は、次のコマンドを使用して確認してください:sudo ufw status。また、次のコマンドを使用することもできます:

それ以外については、ご自身の要件に最も関連するセクションに自由にジャンプしていただいて構いません。このガイドで提供されているすべてのコマンドを必ずしも使用する必要はありません。個人のニーズに合わせて組み合わせて使用できます。

IPアドレスをブロックする方法

まずは、ファイアウォールの最も基本的な機能の1つである、IPアドレスのブロックから始めましょう。特定のIPアドレスからのネットワーク接続をブロックするために使用できる、非常にシンプルなコマンドがあります。たとえば、今回の具体的なIPアドレスが 15.15.15.51 であるとします。この値は、UFWを通じてブロックしたいIPアドレスに置き換えることができます。この目的で使用するコマンドは次のとおりです:

ここで、from 15.15.15.51 は送信元IPアドレスのみ(「15.15.15.51」)を示しています。代わりに指定したいサブネットがある場合は、次のように追加できます:15.15.15.0/24。コマンドは同様に機能します。この送信元IPアドレスは、allow(許可)ルールなど、任意のファイアウォールルールで指定できます。

  • ネットワークインターフェース接続のブロック

特定のIPアドレスから特定のネットワークインターフェースへのネットワーク接続をブロックする必要がある場合があります。その場合は、送信元IPアドレスとともにネットワークインターフェースを指定する必要があります。この例では、送信元IPアドレスを 15.15.15.51、ネットワークインターフェースを eth0 とします:

送信元IPアドレスと同様に、任意のファイアウォールルールでネットワークインターフェースを指定することもできます。これらの指定の目的は、特定のファイアウォールルールを特定のネットワークまたは接続のみに制限することです。

SSH接続を許可する方法

このセクションは、クラウドサーバーを使用している場合に関連します。クラウドサーバーへの接続を確立するには、ファイアウォールで受信SSH接続を許可する必要があります。これらのSSH接続はポート22を経由します。次のチュートリアルに従って、UbuntuでSSHを使用してリモートサーバーに接続する方法を学ぶことができます.

。SSH接続を確立することで、ローカルユニットを使用してクラウドサーバーを正常に管理できます。ここでは、SSHに関連するファイアウォール設定に関連するさまざまなルールについて説明します:

  • SSHの許可

すべての受信SSH接続を許可するには、次のコマンドを使用します:

一方、代わりにSSHサービスのポート番号を指定してコマンドを実行することもできます:

  • 特定のIPアドレスからの受信SSHを許可する

特定のIPアドレスまたはサブネットからの受信SSH接続のみを許可したい場合は、送信元を指定することができます。たとえば、許可したいサブネットが 15.15.15.0/24 であるとします。実行する必要があるコマンドは次のとおりです:

  • 特定のIPアドレスからのRsync受信の許可

ポート873で動作するRsyncは、あるコンピュータシステムから別のコンピュータシステムへのファイル転送を可能にします。特定のIPアドレスまたはサブネット(この例では15.15.15.0/24)からのRsync接続のみを許可したい場合は、次のコマンドを使用します。

これは、15.15.15.0/24サブネット全体がサーバーへのRsyncを許可されることを意味します。また、以下はサーバー上のローカルディレクトリとリモートディレクトリを同期するためにRsyncを利用する方法に関する包括的なチュートリアルです。.

ウェブサーバー要求の構成方法

次に、ウェブサーバーサービスに関連するルールに進みます。次のようなウェブサーバーは、ApacheNginx は通常、ポート80とポート443の2つのポートからHTTPおよびHTTPS接続の要求を受け取ります。ポート80はHTTP要求に対応します。ポート443はHTTPS要求を担当します。

前提条件で説明したように、UFWのデフォルトのルールセットを使用しています。このルールセットに基づき、ファイアウォールはすべての受信トラフィックをブロックまたは拒否します。したがって、サーバーがこれらの受信要求を受け取って読み取ることを許可する新しいルールを構成する必要があります。

  • すべてのHTTPの許可

ポート80からのすべてのHTTP接続および要求を許可する場合は、次のコマンドを使用します。

コマンドでHTTPサービスを指定するために、ポート番号(ポート80)を使用することもできます。

  • すべてのHTTPSの許可

ポート443からのすべてのHTTPS接続および要求を許可する場合は、次のコマンドを実行します。

前のコマンドと同様に、「https」をHTTPSサービスのポート番号に置き換えることができます。

  • すべてのHTTPおよびHTTPSの許可

HTTPとHTTPSの両方の要求を許可したい場合は、両方に対する一括ルールを使用できます。この単一のコマンドにより、ポート80とポート443の両方からの受信トラフィックを許可できます。

一度に複数のポートを指定する場合は、proto tcpコマンドを使用する必要があります。

また、次の詳細なガイドに従って、Nginx および Ubuntu上でLet's Encryptを使用してApacheを保護する方法を確認することもできます。.

MySQLを許可する方法

MySQL 接続はポート3306を介して行われます。クライアントがリモートサーバー上のMySQLデータベースを使用している場合は、受信トラフィックを許可するルールを使用する必要があります。当社のチュートリアルに従って、MySQLの基本とサーバー上でのMySQLのセットアップ方法を学んでください。.

  • 特定のIPアドレスからのMySQLの許可

これまでのルールで見てきたように、受信MySQL接続を許可するには送信元を指定する必要があります。送信元は特定のIPアドレスまたはサブネットにすることができます。この例では、15.15.15.0/24サブネット全体を使用してコマンドを実行します。

  • 特定のネットワークインターフェースへのMySQLの許可

MySQL接続を許可するネットワークインターフェースも指定する必要がある場合は、別のコマンドを使用します。使用しているネットワークインターフェースがeth1というプライベートネットワークインターフェースであると仮定します。この値をご自身のネットワークインターフェースの名前に置き換えることができます。

PostgreSQLを許可する方法

The PostgreSQL 接続はポート5432を介して行われます。MySQL接続と同様に、クライアントがリモートサーバー上のPostgreSQLデータベースを使用している場合は、受信トラフィックを許可する必要があります。これは、以下のコマンドを使用して行うことができます。

  • 特定のIPアドレスからのPostgreSQLの許可

PostgreSQL接続が特定のサブネットまたはIPアドレスから送信されていることがわかっている場合は、送信元を指定する必要があります。ここでは、もう一度15.15.15.0/24サブネットの例を使用します。

OUTPUTポリシーが ACCEPT に設定されていない場合は、2つ目のコマンドを実行する必要があります。このコマンドは、すでに確立されている PostgreSQL 接続の送信トラフィックを許可します。

  • 特定のネットワークインターフェースへの PostgreSQL の許可

前述のルールと同様に、特定のネットワークインターフェースへの PostgreSQL 接続を許可します。今回の例では eth1 です。

OUTPUTポリシーが ACCEPT に設定されていない場合は、2つ目のコマンドを実行する必要があります。このコマンドは、すでに確立されている PostgreSQL 接続の送信トラフィックを許可します。次の詳細なチュートリアルに従って、Ubuntu で PostgreSQL をセットアップする方法を学ぶことができます.

メールサーバーの設定方法

次のようなメールサーバーを使用している場合もあります:Sendmail および Postfix をシステムで使用している場合があります。これらのサーバーは複数のポートを開放しています。リッスンするポートは、メール配信に設定されているプロトコルによって異なります。そのため、まずメール配信システムでどのプロトコルを実行しているかを特定する必要があります。その後、この情報に基づいて関連するタイプのトラフィックを許可します。

  • 送信 SMTP メールのブロック

メールサーバーへの受信トラフィックを許可するコマンドに進む前に、送信 SMTP mail をブロックする方法を見てみましょう。サーバーから送信メールを一切送りたくない場合は、このコマンドを使用できます。SMTP メールはポート 25 を使用します。このトラフィックをブロックするには、次のコマンドを使用します:

このコマンドを実行した結果、ファイアウォールはポート 25 のすべての送信トラフィックを破棄します。別のポートをブロックしたい場合は、ポート「25」を適切なポート番号に置き換えるだけです。

  • 受信 SMTP の許可

送信トラフィックをブロックする方法がわかったので、受信トラフィックを許可することも同様に簡単です。サーバーがポート 25 で SMTP 接続を受信できるようにするには、次のコマンドを使用します:

  • 受信 IMAP の許可

サーバーがポート 143 で IMAP 接続を確立できるようにするには、次のコマンドを使用します:

  • 受信 IMAPS の許可

サーバーがポート 993 で IMAPS 接続に応答できるようにするには、次のコマンドを使用します:

  • 受信 POP3 の許可

このコマンドにより、サーバーはポート 110 を介してすべての POP3 接続に応答できるようになります:

  • 受信 POP3S の許可

最後に、次のコマンドを使用して、サーバーが POP3S 接続のためにポート 995 からのリクエストを受信できるようにすることができます:

結論

このガイドは、UFW の基本機能を理解するのに役立ちます。ファイアウォールを設定するために知っておくべき重要なコマンドについて説明しました。特定の要件に最適なコマンドを選択して、パーソナライズされたファイアウォールソリューションを作成できます。UFW の柔軟な性質により、このようなカスタマイズが可能になります。色々と試して、自分に最適な設定を見つけてください。

ハッピーコンピューティング!

author

Akshay Nagpal

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。