GNU/Linux >> Linux の 問題 >  >> Debian

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

適切に構成されたファイアウォールは、システム全体のセキュリティの最も重要な側面の1つです。

UFW(Uncomplicated Firewall)は、iptablesファイアウォールルールを管理するためのユーザーフレンドリーなフロントエンドです。その主な目標は、iptablesの管理を簡単にすること、またはその名前が示すように、複雑にしないことです。

この記事では、Debian10でUFWを使用してファイアウォールを設定する方法について説明します。

前提条件#

rootまたはsudo権限を持つユーザーのみがシステムファイアウォールを管理できます。

UFWのインストール#

次のコマンドを入力して、ufwをインストールします パッケージ:

sudo apt updatesudo apt install ufw

UFWステータスの確認#

サーバーからのロックアウトを回避するために、インストールによってファイアウォールが自動的にアクティブ化されることはありません。次のように入力すると、UFWのステータスを確認できます。

sudo ufw status verbose

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

Status: inactive

UFWがアクティブになっている場合、出力は次のようになります。

UFWデフォルトポリシー#

デフォルトでは、UFWはすべての着信接続をブロックし、すべての発信接続を許可します。これは、特にポートを開かない限り、サーバーにアクセスしようとする人は誰も接続できないことを意味します。サーバー上で実行されているアプリケーションとサービスは、外部にアクセスできるようになります。

デフォルトのポリシーは/etc/default/ufwで定義されています ファイルであり、sudo ufw default <policy> <chain>を使用して変更できます コマンド。

ファイアウォールポリシーは、より詳細でユーザー定義のルールを構築するための基盤です。一般的に、最初のUFWデフォルトポリシーは良い出発点です。

アプリケーションプロファイル#

ほとんどのアプリケーションには、サービスを記述し、UFW設定を含むアプリケーションプロファイルが付属しています。プロファイルは/etc/ufw/applications.dに自動的に作成されます パッケージのインストール中のディレクトリ。

システムタイプで使用可能なすべてのアプリケーションプロファイルを一覧表示するには:

sudo ufw utf --help

システムにインストールされているパッケージに応じて、出力は次のようになります。

Available applications:
  DNS
  IMAP
  IMAPS
  OpenSSH
  POP3
  POP3S
  Postfix
  Postfix SMTPS
  Postfix Submission
  ...

特定のプロファイルと含まれるルールの詳細については、app infoを使用してください コマンドの後にプロファイル名が続きます。たとえば、使用するOpenSSHプロファイルに関する情報を取得するには:

sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp

出力には、プロファイル名、タイトル、説明、およびファイアウォールルールが含まれます。

SSH接続を許可する#

最初にUFWファイアウォールを有効にする前に、着信SSH接続を許可する必要があります。

リモートの場所からサーバーに接続していて、着信SSH接続を明示的に許可する前にUFWファイアウォールを有効にすると、Debianサーバーに接続できなくなります。

SSH接続を受け入れるようにUFWファイアウォールを設定するには、次のコマンドを実行します。

sudo ufw allow OpenSSH
Rules updated
Rules updated (v6)

SSHサーバーがデフォルトのポート22以外のポートでリッスンしている場合は、そのポートを開く必要があります。

たとえば、sshサーバーはポート7722でリッスンします 、実行します:

sudo ufw allow 7722/tcp
UFWを有効にする#

着信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接続が中断される可能性があるという警告が表示されます。 「y」と入力して「Enter」を押します。

ポートを開く#

サーバーで実行されるアプリケーションによっては、サービスが実行されるポートを開く必要があります。

以下は、いくつかの最も一般的なサービスへの着信接続を許可する方法のいくつかの例です。

ポート80を開く-HTTP#

HTTP接続を許可する:

sudo ufw allow http

httpの代わりに プロファイルでは、ポート番号80を使用できます :

sudo ufw allow 80/tcp

オープンポート443-HTTPS#

HTTPS接続を許可する:

sudo ufw allow https

ポート番号443を使用することもできます :

sudo ufw allow 443/tcp
ポート8080を開く#

Tomcatまたはポート8080でリッスンするその他のアプリケーションを実行する場合 次のコマンドでポートを開きます:

sudo ufw allow 8080/tcp

ポート範囲を開く#

UFWを使用すると、ポート範囲へのアクセスを許可することもできます。範囲を開くときは、ポートプロトコルを指定する必要があります。

たとえば、7100からのポートを許可するには 7200へ 両方のtcp およびudp 、次のコマンドを実行します:

sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udp
特定のIPアドレスを許可する#

特定のIPアドレスからのすべてのポートへのアクセスを許可するには、ufw allow fromを使用します コマンドの後にIPアドレスを続ける:

sudo ufw allow from 64.63.62.61
特定のポート番号で特定のIPアドレスを許可する#

特定のポートへのアクセスを許可するには、たとえばポート22 IPアドレス64.63.62.61の作業マシンから、次のコマンドを使用します。

sudo ufw allow from 64.63.62.61 to any port 22

サブネットの許可#

IPアドレスのサブネットからの接続を許可するコマンドは、単一のIPアドレスを使用する場合と同じです。唯一の違いは、ネットマスクを指定する必要があることです。たとえば、192.168.1.1から192.168.1.254の範囲のIPアドレスからポート3360(MySQL)へのアクセスを許可する場合は、次のコマンドを使用できます。

sudo ufw allow from 192.168.1.0/24 to any port 3306

特定のネットワークインターフェースへの接続を許可する#

特定のポートでのアクセスを許可するには、たとえばポート3360を特定のネットワークインターフェースeth2にのみ許可します。 、allow in onを使用します およびネットワークインターフェイスの名前:

sudo ufw allow in on eth2 to any port 3306

接続を拒否する#

すべての着信接続のデフォルトポリシーはdenyに設定されています 、つまり、特に接続を開かない限り、UFWはすべての着信接続をブロックします。

ポートを開いたとしましょう80 および443 、およびサーバーが23.24.25.0/24から攻撃を受けています 通信網。 23.24.25.0/24からのすべての接続を拒否するには 、次のコマンドを使用します:

sudo ufw deny from 23.24.25.0/24

ポート80へのアクセスのみを拒否したい場合 および443 23.24.25.0/24から 使用:

sudo ufw deny from 23.24.25.0/24 to any port 80sudo ufw deny from 23.24.25.0/24 to any port 443

拒否ルールを作成することは、許可ルールを作成することと同じです。 allowを置き換えるだけです。 denyを使用 。

UFWルールの削除#

UFWルールを削除する方法は2つあります。ルール番号と実際のルールを指定します。

特にUFWを初めて使用する場合は、ルール番号でUFWルールを削除する方が簡単です。

最初にルールをその番号で削除するには、削除するルールの番号を見つける必要があります。これを行うには、次のコマンドを実行します:

sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

ポート8080への接続を許可するルール番号3を削除するには、次のコマンドを使用できます。

sudo ufw delete 3

2番目の方法は、実際のルールを指定してルールを削除することです。たとえば、ポート8069を開くルールを追加した場合 次のコマンドで削除できます:

sudo ufw delete allow 8069
UFWを無効にする#

何らかの理由でUFWを停止し、すべてのルールを非アクティブ化する場合は、次のコマンドを実行します。

sudo ufw disable

後でUTFを再度有効にしてすべてのルールをアクティブにする場合は、次のように入力します。

sudo ufw enable
UFW#をリセット

UFWをリセットすると、UFWが無効になり、アクティブなルールがすべて削除されます。これは、すべての変更を元に戻して最初からやり直したい場合に役立ちます。

UFWをリセットするには、次のコマンドを入力するだけです。

sudo ufw reset

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

  2. Debian9でCSFを使用してファイアウォールを構成する方法

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

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

  2. Debian 11に静的IPを設定する-その方法は?

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

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

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

  3. Debian11でPostfixAdminを使用してメールサーバーを設定する方法