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

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

Debianには、ベースシステムの一部としてインストールされたiptablesを使用してファイアウォールを管理するためのツールを提供するいくつかのパッケージが含まれています。初心者がiptablesツールを使用してファイアウォールを適切に構成および管理する方法を学ぶのは複雑な場合がありますが、UFWはそれを簡素化します。

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

このチュートリアルでは、Debian9でUFWを使用してファイアウォールを設定する方法を紹介します。

前提条件#

このチュートリアルを続行する前に、ログインしているユーザーがsudo権限を持っていることを確認してください。

UFW#をインストール

Debian9にはデフォルトでUFWがインストールされていません。ufwをインストールできます 次のように入力してパッケージ化します:

sudo apt install ufw
UFWステータスの確認#

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

sudo ufw status verbose

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

Status: inactive

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

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

UFWデフォルトポリシー#

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

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

ファイアウォールポリシーは、より詳細でユーザー定義のルールを構築するための基盤です。ほとんどの場合、最初のUFWデフォルトポリシーが出発点として適しています。

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

aptを使用してパッケージをインストールする場合 /etc/ufw/applications.dにアプリケーションプロファイルを追加します サービスを説明し、UFW設定を含むディレクトリ。

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

sudo ufw app list

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

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

特定のプロファイルと含まれるルールの詳細を確認するには、次のコマンドを使用します。

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

A上記の出力は、OpenSSHプロファイルがポート22を開くことを示しています。 。

SSH接続を許可する#

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

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

着信SSH接続を許可するようにUFWファイアウォールを構成するには、次のコマンドを実行します。

sudo ufw allow OpenSSH
Rules updated
Rules updated (v6)

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

たとえば、sshサーバーはポート8822でリッスンします 、次に、次のコマンドを使用して、そのポートでの接続を許可できます。

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

UFWファイアウォールが着信SSH接続を許可するように構成されたので、次を実行して有効にできます。

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

httpsの代わりに同じことを達成するため ポート番号443を使用できます :

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

Tomcatまたはポート8080でリッスンするその他のアプリケーションを実行している場合は、次のコマンドで着信接続を許可できます。

sudo ufw allow 8080/tcp

ポート範囲を許可する#

UFWを使用すると、ポート範囲へのアクセスを許可することもできます。 UFWでポート範囲を許可する場合は、tcpのいずれかのプロトコルを指定する必要があります またはudp

たとえば、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アドレスを許可する

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

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 特定のネットワークインターフェース上eth2allow 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. Debian 11に静的IPを設定する-その方法は?

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

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

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

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

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

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

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

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