GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Ubuntu18.04でUFWを使用してファイアウォールを構成する方法

この記事では、Ubuntu18.04VPSにUFWをインストールして設定する方法を紹介します。まず、ファイアウォールとは何かを紹介して説明し、次にUFWの使用方法と適切なUFW構成を作成する方法を示します。

ファイアウォールは、ネットワークトラフィックを監視し、プライベートネットワークへの不正アクセスまたはプライベートネットワークからの不正アクセスを防止するソフトウェアプログラムです。 Linuxカーネルに関しては、ネットワークトラフィックを操作するために使用されるNetfilterサブシステムが実装されています。最近のほとんどすべてのLinuxファイアウォールソリューションは、このシステムを使用してネットワークパケットをフィルタリングします。さらに、「iptables」(コマンドラインからアクセスできるファイアウォールユーティリティ)もNetfilterフレームワークの一部です。ファイアウォールルールを作成するプロセスを簡素化するために、Canonical(Ubuntuの作成者)はUncomplicated Firewall(UFW)と呼ばれるiptablesインターフェースを開発しました。

Ubuntu 18.04を使用していて、iptablesの使用方法を学ぶ必要なしにネットワークを保護したい場合は、UFWが探している適切なソリューションである可能性があります。

前提条件

このチュートリアルに従うには、Ubuntu 18.04を備えたサーバーと、rootユーザー(またはsudo権限を持つユーザー)によるSSHアクセスが必要です。チュートリアルから始めましょう。

ステップ1:サーバーに接続する

始める前に、rootまたはsudo権限を持つユーザーとしてSSH経由でサーバーに接続する必要があります。これを行うには、次のコマンドを使用します。

ssh root@IP_Address -p Port_Number

もちろん、IP_Addressを置き換える必要があります およびPort_Number 実際のサーバーのIPアドレスとSSHポート番号を使用します。

ログインしたら、次のコマンドを実行して、サーバーが最新であることを確認します。

sudo apt update
sudo apt upgrade

ステップ2:UFWをインストールする

UFWはデフォルトでUbuntu18.04にすでにインストールされているはずですが、何らかの理由でインストールされていない場合は、次のコマンドでインストールできます。

sudo apt install ufw

インストールが完了したら、次のコマンドでUFWステータスを確認できます:

sudo ufw status verbose

UFWはデフォルトで最初は無効になっており、以前にアクティブ化したことがない場合は、出力が表示されます:

Output
Status: inactive

サーバーでUFWを既にアクティブにしている場合、出力はまったく異なり、次のようになります。

Output:

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

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

ステップ3:UFWデフォルトポリシー

最初に知っておく必要があるのは、デフォルトのポリシーです。デフォルトでは、UFWはすべての着信接続を拒否し、すべての発信接続を許可するように設定されています。つまり、サーバーにアクセスしようとするすべての接続が拒否され、サーバー上でローカルに検出されたすべてのアプリケーションとサービスが外部に到達して他のサーバーにアクセスできるようになります。

デフォルトのポリシーを確認または変更する場合は、/etc/default/ufwにあります。 構成ファイル。

これらのUFWルールをデフォルトに設定するには、次のコマンドを実行できます。

sudo ufw default deny incoming
sudo ufw default allow outgoing

サーバーは通常、インターネットユーザーからの着信要求に応答する必要があることに注意してください。したがって、ほとんどの場合、すべての着信接続をブロックするようにファイアウォールを設定することはできません。次のステップでは、特定の接続を許可する方法を学習します。

ステップ4:SSH接続を許可する

UFWを有効にする前に、着信SSH接続を許可するルールを追加して、サーバーでSSHアクセスを許可する必要があります。そうしないと、ロックされ、Ubuntuサーバーに接続できなくなります。

次のコマンドを使用して、すべての着信SSH接続を許可するようにUFWファイアウォールを構成できます。

sudo ufw allow ssh

次に、次の出力が表示されます。

Rules updated
Rules updated (v6)

このコマンドは、サーバーが標準化されたSSHポートをリッスンする場合のみであることに注意してください。22。SSHサービスがカスタムの非標準ポートを使用する場合は、そのポートを開く必要があります。サーバー上のSSHサービスが一意のポート(ポート900など)を使用している場合は、次のコマンドを使用できます。

sudo ufw allow 900

サービスが現在使用しているポート番号を知る必要があることに注意してください。

ステップ5:UFWを有効にする

これでファイアウォールがSSH接続を許可するように構成され、現在のSSH接続が影響を受けないことが確実になりました。UFWファイアウォールの有効化を続行できます。

sudo ufw enable

その後、次の出力が表示されます。

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

SSHルールを許可するように構成する必要があることを通知する警告が表示されます。構成しないと、既存のSSH接続が閉じられます。すでに持っているので、[y]と入力し、[Enter]を続行します。

ステップ6:特定のポートでの接続を許可する

使用するアプリケーションとサービスは、アプリケーションの目的に応じて、着信接続と発信接続のためにポートを開く必要がある場合があります。ブロックを解除する必要がある最も一般的なポートは、ウェブサーバーで使用されるポート80と443、およびメールサーバーで使用される25、110、143、587、993です。

いくつかの一般的なサービスの着信接続を許可する方法のいくつかの例を紹介します。

すべてのHTTP(ポート80)接続を許可するには、次のコマンドを実行します。

sudo ufw allow http

また、ポートを指定する場合は、基本的に同じルールを適用できますが、構文は異なります。

sudo ufw allow 80

すべてのHTTPS(ポート443)接続を許可するには、次のコマンドを実行します。

sudo ufw allow https

さらに、HTTPSポートを指定する場合は、別の構文でルールを適用できます。

sudo ufw allow 443

メールサーバーを使用している場合は、次のルールのいくつかが役立つ可能性があります。

すべての着信SMTPを許可するには、次のコマンドを実行できます。

sudo ufw allow 25

すべての着信IMAP接続を許可するには、次のコマンドを実行します。

sudo ufw allow 143

また、すべての着信IMAPS要求を許可するには、次のコマンドを使用できます。

sudo ufw allow 993

代わりにPOP3を使用している場合、以下のこのコマンドはすべての着信接続を許可します:

sudo ufw allow 110

そして、すべての着信POP3Sリクエストに対して、次のコマンドを使用します:

sudo ufw allow 995

最後に、Webアクセスを必要とする特定のプログラムを実行している場合は、そのプログラムに固有のポートも有効にする必要があります。たとえば、サーバーでTomcatを実行する場合は、ポート8080が必要になります。次のコマンドを使用して、このポートへのすべての着信接続を許可できます。

sudo ufw allow <port number>

これは、必要になる可能性のあるすべての特定のポートに対して実行できます。

ステップ7:ポート範囲を許可する

UFWは、単一のポートへのアクセスを許可する代わりに、ポート範囲へのアクセスを許可することもできます。 UFWポートでポート範囲を許可する場合は、ポートの範囲とプロトコル(TCPまたはUDP)を指定する必要があります。

たとえば、TCPとUDPの両方で8069から8080までのポートを許可する場合は、次のコマンドを使用できます。

sudo ufw allow 8069:8080/tcp
sudo ufw allow 8069:8080/udp

ステップ8:特定のIPアドレスを許可する

1つのIPアドレス(たとえば、ローカルネットワーク上にある信頼できるマシン)のみがすべてのポートにアクセスできるようにする場合は、次のコマンドを使用できます。

sudo ufw allow from 206.207.208.209

さらに、特定のポートに特定のIPアドレスを許可することもできます。特定のIPアドレスがMySQLポートを使用できるようにしたい場合(MySQLはポート3306を使用)、次のコマンドを使用できます。

sudo ufw allow from 206.207.208.209 to any port 3306

ステップ9:接続を拒否する

ステップ3で前述したように 、着信接続のデフォルトポリシーは「拒否」に設定されています。ただし、送信元IPアドレスまたは特定のポートに基づいて特定の接続を拒否する必要がある場合があります。

拒否ルールは、特定のIPアドレスからサーバーに攻撃があり、ポート80と443が開いている場合に非常に役立ちます。この場合、次の例を使用してそのIPアドレスをブロックできます。もちろん、IPアドレス24.25.26.27を、ブロックする実際のIPアドレスに変更することを忘れないでください。

sudo ufw deny from 24.25.26.27

これにより、IPアドレスが開いているすべてのポートにアクセスできなくなります。ただし、IPアドレスが特定のポートにアクセスできないようにする場合は、次の例を使用できます。

sudo ufw deny from 24.25.26.27 to any port 80
sudo ufw deny from 24.25.26.27 to any port 443

お気づきのとおり、拒否ルールの作成は許可のルールに似ています。

ステップ10:UFWルールを削除する

UFWルールを削除することの重要性は、それらを作成することと同じくらい重要です。 UFWルールを削除するには2つの方法があります。最初の方法はルール番号を使用する方法で、2番目の方法は実際のルールを指定する方法です。

番号付きのUFWルールを削除する場合は、ルールの番号を知っている必要があります。ルール番号を一覧表示するには、次のコマンドを使用できます:

sudo ufw status numbered
Output:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80                         ALLOW IN    Anywhere
[ 2] 443                        ALLOW IN    Anywhere
[ 3] 22                         ALLOW IN    Anywhere
[ 4] Anywhere                   ALLOW IN    206.207.208.209
[ 5] 7022                       ALLOW IN    Anywhere
[ 6] 8069                       ALLOW IN    Anywhere
...

IPアドレス206.207.208.209からの接続を許可するルール番号4のラベルが付いたルールを削除するには、次のコマンドを使用できます。

sudo ufw delete 4

2番目の方法を使用する場合は、実際のルールを指定してルールを削除します。たとえば、ポート8069を閉じたいとします。その場合、次のコマンドを使用します。

sudo ufw delete allow 8069

ステップ11:UFWを無効にするかリセットする

何らかの理由でサーバー上のすべてのUFWルールを停止する必要がある場合は、次のコマンドを使用して無効にすることができます:

sudo ufw disable

これにより、サーバーで現在アクティブになっているすべてのルールが停止します。ただし、ファイアウォールルールを再度アクティブにする必要がある場合は、再度有効にすることができます。

sudo ufw enable

何らかの理由ですべてのルールを削除し、新しいUFWから始めたい場合は、次のコマンドを使用できます。

sudo ufw reset

すでに変更されている場合、デフォルトのポリシーは元の設定に変更されないことに注意してください。

この記事では、UFWをインストールし、それを使用してUbuntu18.04でファイアウォールを構成する方法を説明しました。これで、このガイドの知識を使用して、独自のUFWファイアウォールルールの作成を開始し、サーバーを保護できます。

もちろん、マネージドUbuntu Hostingをご利用の場合は、サーバー上でUFWを使用してファイアウォールを構成する必要はありません。管理者に質問して、くつろいでリラックスしてください。管理者がサーバーのファイアウォールルールをすぐに構成します。

PS。 Ubuntu 18.04でUFWを使用してファイアウォールを構成する方法に関するこの投稿が気に入った場合は、下の共有ボタンを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションにコメントを残してください。ありがとう。


Panels
  1. Ubuntu\DebianでUFWを使用してファイアウォールを設定する方法

  2. Ubuntu16.04でUFWを使用してファイアウォールを設定する方法

  3. Debian9でUFWを使用してファイアウォールを設定する方法

  1. Ubuntu18.04でUFWファイアウォールを有効/無効にする方法

  2. Ubuntu18.04でUFWファイアウォールを設定する方法

  3. Ubuntu18.04でUFWファイアウォールを設定する方法

  1. Ubuntu18.04でUFWを使用してファイアウォールを設定する方法

  2. Ubuntu22.04で着信ファイアウォールポートを開く/許可する方法JammyJellyfish

  3. Ubuntu20.04でUFWを使用してファイアウォールを設定する方法