ubuntu前書きUFWは、デフォルトでUbuntuに含まれているiptables用のファイアウォール構成ツールです。この虎の巻スタイルのガイドは、iptablesファイアウォールルールを作成するUFWコマンドのクイックリファレンスを提供し、一般的な日常のシナリオで役立ちます。これには、ポート、ネットワークインターフェイス、および送信元IPアドレスによってさまざまなサービスを許可およびブロックするUFWの例が含まれます。[UFWの紹介]ここで説明するルールのほとんどは、デフォルトのUFWルールセットを使用していることを前提としています。デフォルトのポリシーを介して、発信トラフィックを許可し、着信トラフィックを拒否するように設定されているため、次のトラフィックを選択的に許可する必要があります。達成しようとしているものに該当する後続のセクションを使用します。ほとんどのセクションは他のセクションに基づいていないため、以下の例を個別に使用できます。+」で確認できることに注意してください。IPアドレスをブロックする特定のIPアドレス、たとえば「15.15.15.51」から発信されるすべてのネットワーク接続をブロックするには、次のコマンドを実行します。IPアドレスを指定します。+」などのサブネットを指定できます。*ルールを含む任意のファイアウォールルールで指定できます。+」が追加されています。ネットワークインターフェイスは任意のファイアウォールルールで指定でき、ルールを特定のネットワークに制限するのに最適な方法です。サービス:SSHクラウドサーバーを使用している場合は、サーバーに接続して管理できるように、着信SSH接続(ポート22)を許可する必要があります。このセクションでは、さまざまなSSH関連のルールを使用してファイアウォールを構成する方法について説明します。SSHを許可すべての着信SSH接続を許可するには、次のコマンドを実行します。ssh別の構文は、SSHサービスのポート番号を指定することです。22特定のIPアドレスまたはサブネットからの着信SSHを許可する特定のIPアドレスまたはサブネットからの着信SSH接続を許可するには、ソースを指定します。+`サブネット全体を許可する場合、次のコマンドを実行します。22特定のIPアドレスまたはサブネットからの着信Rsyncを許可するポート873で実行されるRsyncは、あるコンピューターから別のコンピューターにファイルを転送するために使用できます。特定のIPアドレスまたはサブネットからの着信rsync接続を許可するには、ソースIPアドレスと宛先ポートを指定します。+`サブネット全体をサーバーに再同期できるようにするには、次のコマンドを実行します。873サービス:WebサーバーApacheやNginxなどのWebサーバーは、通常、それぞれHTTP接続とHTTPS接続のポート80と443でリクエストをリッスンします。着信トラフィックのデフォルトポリシーがドロップまたは拒否に設定されている場合、サーバーがそれらの要求に応答できるようにするルールを作成する必要があります。すべての着信HTTPを許可するすべての着信HTTP(ポート80)接続を許可するには、次のコマンドを実行します。http別の構文は、HTTPサービスのポート番号を指定することです。80すべての着信HTTPSを許可するすべての着信HTTPS(ポート443)接続を許可するには、次のコマンドを実行します。https別の構文は、HTTPSサービスのポート番号を指定することです。443すべての着信HTTPおよびHTTPSを許可するHTTPトラフィックとHTTPSトラフィックの両方を許可する場合は、両方のポートを許可する単一のルールを作成できます。すべての着信HTTPおよびHTTPS(ポート443)接続を許可するには、次のコマンドを実行します。+`でプロトコルを指定する必要があることに注意してください。サービス:MySQLMySQLはポート3306でクライアント接続をリッスンします。MySQLデータベースサーバーがリモートサーバー上のクライアントによって使用されている場合、そのトラフィックを許可する必要があります。特定のIPアドレスまたはサブネットからMySQLを許可する特定のIPアドレスまたはサブネットからの着信MySQL接続を許可するには、ソースを指定します。+`サブネット全体を許可する場合、次のコマンドを実行します。次のコマンドを使用します。3306サービス:PostgreSQLPostgreSQLは、ポート5432でクライアント接続をリッスンします。PostgreSQLデータベースサーバーがリモートサーバー上のクライアントによって使用されている場合、そのトラフィックを許可する必要があります。特定のIPアドレスまたはサブネットからのPostgreSQL特定のIPアドレスまたはサブネットからの着信PostgreSQL接続を許可するには、ソースを指定します。+`サブネット全体を許可する場合、次のコマンドを実行します。+`に設定されていない場合にのみ必要です。次のコマンドを使用します。+`に設定されていない場合にのみ必要です。サービス:メールSendmailやPostfixなどのメールサーバーは、メール配信に使用されているプロトコルに応じて、さまざまなポートでリッスンします。メールサーバーを実行している場合は、使用しているプロトコルを特定し、適切な種類のトラフィックを許可します。送信SMTPメールをブロックするルールを作成する方法も示します。送信SMTPメールをブロックするサーバーが送信メールを送信してはならない場合、その種のトラフィックをブロックすることができます。ポート25を使用する送信SMTPメールをブロックするには、次のコマンドを実行します。25これにより、ポート25のすべての発信トラフィックが*ドロップ*されるようにファイアウォールが構成されます。ポート25の代わりにポート番号で別のサービスを拒否する必要がある場合は、単に置き換えてください。すべての着信SMTPを許可するサーバーがポート25のSMTP接続に応答できるようにするには、次のコマンドを実行します。25すべての着信IMAPを許可サーバーがポート143のIMAP接続に応答できるようにするには、次のコマンドを実行します。143すべての着信IMAPSを許可サーバーがポート993のIMAPS接続に応答できるようにするには、次のコマンドを実行します。993すべての着信POP3を許可サーバーがポート110のPOP3接続に応答できるようにするには、次のコマンドを実行します。110すべての着信POP3Sを許可するサーバーがポート995のPOP3S接続に応答できるようにするには、次のコマンドを実行します。995結論これは、UFWを使用してファイアウォールを構成するときに一般的に使用されるコマンドの多くをカバーするはずです。UFWは非常に柔軟なツールなので、ここで説明されていない場合は、コマンドをさまざまなオプションと組み合わせて、特定のニーズに合わせて自由に組み合わせてください。