Debian 12、11、10 に UFW をインストールする方法

UFW (Uncomplicated Firewall) は、Linux システムでファイアウォール ルールを管理するための簡単なツールです。ファイアウォールの設定プロセスを簡素化するため、従来の iptables が難しいと感じる初心者ユーザーにとって特に便利です。UFW は、シンプルなコマンドでファイアウォール ルールを簡単に作成および管理する方法を提供するため、アクセスしやすく、効果的です。

UFW の技術的特徴は次のとおりです。

  • 使いやすさ: 一般的なファイアウォール タスクのコマンドが簡素化されています。
  • 事前設定されたプロファイル: 一般的なサービス用のプロファイルが付属しています。
  • ログ記録: アクティビティを監視するためのログを簡単に構成できます。
  • IPv6 サポート: IPv6を完全にサポートします。
  • 拡張可能: より高度な設定のために、追加のルールで拡張できます。

新規ユーザーにとって、UFW は iptables よりも優れている場合が多くあります。これは、UFW が複雑さを隠しつつ堅牢なセキュリティ機能を提供しているためです。UFW を使用すると、ユーザーは iptables の詳細な構文や操作を理解しなくてもファイアウォール ルールをすばやく設定できるため、エラーが発生する可能性が低くなります。

このガイドでは、Debian 12、11、または 10 に UFW をインストールして構成する方法を示し、ファイアウォールを効果的に管理するのに役立つ基本的なコマンドとヒントを紹介します。

APTコマンドでUFW(Uncomplicated Firewall)をインストールする

Debian Linux とコマンド ターミナルを初めて使用する場合は、ファイアウォールを使用してシステムを保護する方法を学ぶのは大変なことです。幸い、Debian ユーザーは Uncomplicated Firewall (UFW) を使用してシステムのセキュリティを簡単に管理できます。

UFW をインストールする前に、インストール中に競合が発生しないように、システムが最新であることを確認することが重要です。システムを更新するには、次のコマンドを実行します。

sudo apt update && sudo apt upgrade

Linux カーネルが更新された場合は、システムを再起動する必要がある場合があります。

システムが更新されたら、次のコマンドを実行して UFW をインストールできます。

sudo apt install ufw

Ubuntu などの他の Debian ベースのディストリビューションとは異なり、UFW は Debian ではデフォルトでインストールされません。したがって、UFW を手動でインストールすることが重要です。

UFW をインストールした後、次のコマンドを実行してサービスを有効にする必要があります。

sudo systemctl enable ufw --now

このコマンドは起動時に UFW サービスを有効にし、再起動後もシステムが保護された状態を維持できるようにします。

最後に、UFW がエラーなく実行されていることを確認するために、UFW のステータスを確認することが重要です。次のコマンドを実行して、UFW サービスのステータスを確認できます。

systemctl status ufw

上記のコマンドを実行すると、UFW が正常にインストールされ、正しく実行されることが確認されました。次の手順では、UFW を使用してシステムを保護する方法について説明します。

UFWファイアウォールを有効にする

UFW がインストールされ、実行されると、ファイアウォールが有効になります。デフォルトでは、UFW はすべての受信トラフィックをブロックし、すべての送信トラフィックを許可します。ファイアウォールを有効にすると、不正アクセスをブロックしてシステムが保護された状態を維持できます。

UFW を有効にするには、次のコマンドを実行します。

sudo ufw enable

コマンドを実行すると、ファイアウォールがアクティブであり、システムを再起動するたびに自動的に起動することを確認するメッセージが表示されます。出力例を次に示します。

Firewall is active and enabled on system startup

ファイアウォールがアクティブになると、システムへのすべての受信トラフィックがブロックされ、不正アクセスから保護されます。ただし、必要なサービスへのアクセスなど、一部の正当なトラフィックもブロックされる可能性があることに注意してください。

UFWステータスを確認する

UFW ファイアウォールを有効にした後、ルールがアクティブで正しく構成されていることを確認することが重要です。次のコマンドを使用して、ファイアウォールのステータスを確認できます。

sudo ufw status verbose

このコマンドを実行すると、アクティブなルールや、受信トラフィックと送信トラフィックに設定されているデフォルトのポリシーなど、ファイアウォールの現在のステータスが表示されます。

ファイアウォール ルールをより簡潔に表示するには、代わりに「番号付き」オプションを使用します。このオプションでは、ファイアウォール ルールが番号順に表示され、識別と管理が容易になります。ファイアウォール ルールを番号順に一覧表示するには、次のコマンドを使用します。

sudo ufw status numbered

番号付きの出力では、ルールがより整理された方法で表示されるため、ルールの識別と管理が容易になります。ルール番号を使用して、「delete」コマンドで特定のルールを変更または削除できます。

結論として、ファイアウォールの状態を確認することは、システムが不正アクセスから保護されていることを確認するために不可欠です。この手順で説明するコマンドを使用すると、UFW ファイアウォールの状態をすばやく確認し、誤った構成を特定できます。

UFWのデフォルトポリシーを設定する

UFW ファイアウォールのデフォルト設定では、すべての着信接続をブロックし、すべての発信接続を許可します。この構成は、明示的な許可なしに権限のないユーザーがシステムに接続できないようにするため、最も安全です。着信接続を許可するには、IP アドレス、プログラム、ポート、またはこれらの要素の組み合わせに基づいてトラフィックを許可する特定のルールを作成する必要があります。

UFW ルールを変更するには、ターミナルで次のコマンドを入力します。

すべての着信接続を拒否するには:

sudo ufw default deny incoming

すべての送信接続を許可するには:

sudo ufw default allow outgoing

デフォルトでは、UFW はデフォルトのルールで既に有効になっています。ただし、特定のニーズに合わせてこれらのルールを変更できます。たとえば、すべての送信接続をブロックし、特定の送信接続のみを許可する場合は、次のコマンドを使用してルールを調整できます。

すべての送信接続をブロックするには:

sudo ufw default deny outgoing

デフォルトの UFW ファイアウォール ポリシーを見つける必要がある場合は、/etc/default/ufw ファイルで見つけることができます。このファイルには、着信トラフィックと発信トラフィックのデフォルト ポリシーを含む、UFW の構成設定が含まれています。このファイルの設定を変更することで、ファイアウォール ルールをカスタマイズし、特定のセキュリティ ニーズを満たすことができます。

追加の UFW コマンド

次のセクションでは、UFW の基本的な側面のいくつかについて説明します。デフォルトでは、ほとんどのデスクトップ ユーザーは、着信接続をブロックし、すべての発信トラフィックを許可するだけでメリットを得られます。これは、ほとんどの環境に適しています。ただし、UFW は、デスクトップとサーバーに役立つ追加の構成を提供します。UFW で実行できることの例をいくつか以下に示します。

UFW アプリケーション プロファイルの表示

UFW を通じて利用可能なアプリケーション プロファイルについて詳しく知りたい場合は、次のコマンドを実行して表示できます。

sudo ufw app list

これにより、利用可能なすべてのアプリケーション プロファイルのリストが表示されます。アプリケーションのリストは、システムにインストールされているソフトウェアによって異なる場合があることに注意してください。

UFW アプリケーション プロファイルの便利な機能の 1 つは、特定のプロファイルに関する詳細情報を取得することです。これを行うには、次のコマンドを実行します。

sudo ufw app info [application]

[application] を詳細を知りたい名前に置き換えます。このコマンドは、アプリケーションとそれが使用するポートの簡単な説明を提供します。これは、開いているポートを調査し、それらがどのアプリケーションに属しているかを判断するときに役立ちます。

UFWでIPv6を有効にする

Debian システムが IPv6 で構成されている場合には、UFW が IPv6 と IPv4 のトラフィックをサポートするように構成されていることを確認する必要があります。デフォルトでは、UFW は両方のバージョンの IP のサポートを自動的に有効にするはずですが、これを確認することをお勧めします。

これを行うには、次のコマンドを使用してデフォルトの UFW ファイアウォール ファイルを開きます。

sudo nano /etc/default/ufw

ファイルを開いたら、次の行を見つけます。

IPV6=yes

値が「いいえ」に設定されている場合は、「はい」に変更し、を押してファイルを保存します。 CTRL+O その後 CTRL+X 出る。

ファイルに変更を加えた後、変更を有効にするには UFW ファイアウォール サービスを再起動する必要があります。これを行うには、次のコマンドを実行します。

sudo systemctl restart ufw

これにより、UFW ファイアウォール サービスが新しい構成で再起動され、IPv6 トラフィックのサポートが有効になります。

UFW SSH接続を許可する

SSH (Secure Shell) は、Linux サーバーにリモート アクセスするために不可欠です。ただし、デフォルトでは、UFW は SSH 接続を許可しません。特にファイアウォールをリモートで有効にしている場合は、ロックアウトされる可能性があるため、問題が発生する可能性があります。SSH 接続を許可するには、次の手順に従う必要があります。

まず、次のコマンドを入力して SSH アプリケーション プロファイルを有効にします。

sudo ufw allow ssh

デフォルトのポート 22 以外の SSH 接続用のカスタム リスニング ポート (ポート 3541 など) を設定している場合は、次のように入力して UFW ファイアウォールでポートを開く必要があります。

sudo ufw allow 3541/tcp

次のコマンドを使用すると、すべての SSH 接続をブロックしたり、ポートを変更して古い接続をブロックしたりできます。

次のコマンドを使用して、すべての SSH 接続をブロックします (ローカル アクセスが可能であることを確認してください)。

sudo ufw deny ssh/tcp

カスタム SSH ポートを変更する場合は、新しいポートを開いて既存のポートを閉じます。例:

sudo ufw deny 3541/tcp 

UFWポートを有効にする

UFW は、アプリケーションまたはサービスに対して特定のポートへのアクセスを許可できます。このセクションでは、Web サーバーの HTTP (ポート 80) および HTTPS (ポート 443) ポートを開く方法と、ポート範囲を許可する方法について説明します。

HTTP ポート 80 を許可するには、次のいずれかのコマンドを使用できます。

アプリケーション プロファイルで許可:

sudo ufw allow 'Nginx HTTP

サービス名で許可:

sudo ufw allow http

ポート番号で許可:

sudo ufw allow 80/tcp

HTTPS ポート 443 を許可するには、次のいずれかのコマンドを使用できます。

アプリケーション プロファイルで許可:

sudo ufw allow 'Nginx HTTPS'

サービス名で許可:

sudo ufw allow https

ポート番号で許可:

sudo ufw allow 443/tcp

HTTP ポートと HTTPS ポートの両方を許可する場合は、次のコマンドを使用できます。

sudo ufw allow 'Nginx Full'

UFW 許可ポート範囲

個々のポートとポート範囲を許可できます。ポート範囲を開くときは、ポート プロトコルを識別する必要があります。

TCP および UDP プロトコルでポート範囲を許可するには、次のコマンドを使用します。

sudo ufw allow 6500:6800/tcp
sudo ufw allow 6500:6800/udp

あるいは、次のコマンドを使用して、一度に複数のポートを許可することもできます。

sudo ufw allow 6500, 6501, 6505, 6509/tcp
sudo ufw allow 6500, 6501, 6505, 6509/udp

UFW でリモート接続を許可する

UFW でリモート接続を有効にすることは、ネットワーク構築に非常に重要であり、いくつかの簡単なコマンドですぐに実行できます。このセクションでは、UFW を介してシステムへのリモート接続を許可する方法について説明します。

UFW 特定の IP アドレスを許可する

次のコマンドを使用して、特定の IP アドレスがシステムに接続できるようにすることができます。これは、特定のシステムのみがサーバーに接続できるようにする必要がある場合に役立ち、その IP アドレスを指定できます。

sudo ufw allow from 192.168.55.131

UFW は特定のポートで特定の IP アドレスを許可します

次のコマンドを使用して、IP がシステム上の特定のポートに接続できるようにすることができます。たとえば、IP がシステムのポート 3900 に接続できるようにする必要がある場合は、次のコマンドを使用できます。

sudo ufw allow from 192.168.55.131 to any port 3900

指定されたポートへのサブネット接続を許可する

次のコマンドを使用すると、サブネット内の IP の範囲から特定のポートへの接続を許可できます。これは、特定の IP の範囲からの接続を許可する必要がある場合に役立ち、接続を許可するサブネットを指定できます。

sudo ufw allow from 192.168.1.0/24 to any port 3900

このコマンドは、192.168.1.1 から 192.168.1.254 までのすべての IP アドレスをポート 3900 に接続します。

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

特定のネットワーク インターフェイスへの接続を許可する必要がある場合は、次のコマンドを使用できます。これは、複数のネットワーク インターフェイスがあり、特定のインターフェイスへの接続を許可する必要がある場合に便利です。

sudo ufw allow in on eth2 to any port 3900

これらのコマンドを使用すると、セキュリティを維持しながら、UFW を介してシステムへのリモート接続を簡単に許可できます。

UFW でのリモート接続を拒否する

特定の IP アドレスから疑わしいトラフィックや不要なトラフィックが来ていることに気付いた場合は、UFW を使用してそのアドレスからの接続を拒否できます。UFW はデフォルトですべての着信接続を拒否しますが、特定の IP または IP 範囲からの接続をブロックするルールを作成できます。

たとえば、単一の IP アドレスからの接続をブロックするには、次のコマンドを使用できます。

sudo ufw deny from 203.13.56.121

ハッカーが同じサブネット内の複数の IP アドレスを使用してシステムを攻撃している場合は、CIDR 表記で IP 範囲を指定してサブネット全体をブロックできます。

sudo ufw deny from 203.13.56.121/24

ブロックされた IP または IP 範囲の特定のポートへのアクセスを拒否するルールを作成することもできます。たとえば、同じサブネットからポート 80 および 443 への接続をブロックするには、次のコマンドを使用します。

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

着信接続をブロックすることは効果的なセキュリティ対策ですが、万能ではないことに留意してください。ハッカーは、IP スプーフィングなどの手法を使用して、実際の IP アドレスを偽装することができます。したがって、IP ブロックだけに頼るのではなく、複数のセキュリティ レイヤーを実装することが重要です。

UFWルールを削除する

不要な UFW ルールを削除することは、整理された効率的なファイアウォールを維持するために不可欠です。UFW ルールは 2 つの異なる方法で削除できます。まず、番号を使用して UFW ルールを削除するには、次のコマンドを入力してルール番号をリストする必要があります。

sudo ufw status numbered

出力には番号付きの UFW ルールのリストが表示され、削除するルールを識別できます。削除するルールの番号を決定したら、次のコマンドを入力します。

sudo ufw delete [rule number]

たとえば、IP アドレス 1.1.1.1 の 3 番目のルールを削除するとします。その場合、「sudo ufw status numbered」コマンドを実行してルール番号を見つけ、ターミナルに次のコマンドを入力する必要があります。

sudo ufw delete 3

不要になったルールを削除すると、ファイアウォールのセキュリティと効率を維持するのに役立ちます。

UFW ログにアクセスして表示する

UFW ファイアウォールはすべてのイベントをログに記録します。潜在的なセキュリティ侵害を特定したり、ネットワークの問題をトラブルシューティングしたりするには、これらのログを定期的に確認することが重要です。デフォルトでは、UFW ログは低レベルに設定されており、ほとんどのデスクトップ システムではこれで十分です。ただし、サーバーでは、より詳細な情報を取得するために、より高いレベルのログ記録が必要になる場合があります。

UFW のログ レベルを低、中、高に調整したり、完全に無効にしたりできます。UFW のログ レベルを低に設定するには、次のコマンドを使用します。

sudo ufw logging low

UFW ログを中程度に設定するには:

sudo ufw logging medium

UFW ログを高に設定するには:

sudo ufw logging high

最後のオプションは、ログ記録を完全に無効にすることです。これで問題がなければ、ログのチェックは不要になります。

sudo ufw logging off

UFW ログを表示するには、デフォルトの場所である /var/log/ufw.log で見つけることができます。tail コマンドを使用すると、ライブ ログを表示したり、指定した数の最近のログ行を印刷したりできます。たとえば、ログの最後の 30 行を表示するには、次のコマンドを使用します。

sudo ufw tail /var/log/ufw.log -n 30

ログを確認することで、どの IP アドレスがシステムに接続しようとしているかを判断し、疑わしいアクティビティや不正なアクティビティを特定することができます。さらに、ログを確認することで、ネットワーク トラフィックのパターンを理解し、ネットワーク パフォーマンスを最適化し、発生する可能性のある問題を特定することができます。

UFWルールのテスト

UFW ファイアウォール ルールを適用する前にテストして、意図したとおりに動作することを確認することは常に良い考えです。「–dry-run」フラグを使用すると、実際に適用しなくても、変更内容を確認できます。これは、非常に重要なシステムで偶発的な変更を防ぐのに役立つオプションです。

「–dry-run」フラグを使用するには、次のコマンドを入力します。

sudo ufw --dry-run enable

「–dry-run」フラグを無効にするには、次のコマンドを使用します。

sudo ufw --dry-run disable

UFWルールをリセットする

場合によっては、ファイアウォールをリセットして、すべての受信接続をブロックし、送信接続のみを許可する元の状態に戻す必要がある場合があります。これは、「reset」コマンドを使用して実行できます。

sudo ufw reset

リセットを確認して、以下を入力します。

sudo ufw status

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

Status: inactive 

リセットが完了すると、ファイアウォールは非アクティブになるため、再度有効にして新しいルールを追加する必要があります。リセット コマンドは既存のルールをすべて削除し、正しく実行しないとシステムが脆弱になる可能性があるため、慎重に使用する必要があります。

開いているポートをすべて見つける方法(セキュリティ チェック)

システムのセキュリティは最優先事項であるべきであり、それを確保する方法の 1 つは、開いているポートを定期的にチェックすることです。UFW はデフォルトですべての着信接続をブロックしますが、ポートが不注意または正当な理由で開いたままになっている場合があります。この場合、開いているポートとその理由を知ることが重要です。

開いているポートを確認する方法の 1 つは、よく知られた信頼できるネットワーク探索ツールである Nmap を使用することです。Nmap をインストールするには、まず次のコマンドを入力してインストールします。

sudo apt install nmap

次に、次のように入力してシス​​テムの内部 IP アドレスを見つけます。

hostname -I

出力例:

192.168.50.45

IP アドレスを使用して、次のコマンドを実行します。

nmap 192.168.50.45

Nmap はシステムをスキャンし、開いているポートをすべてリストします。不明な開いているポートが見つかった場合は、サービスが中断したり、システムからロックアウトされたりする可能性があるため、ポートを閉じたりブロックしたりする前に調査してください。

このチュートリアルの情報に基づいて、開いているポートを閉じるか制限するカスタム UFW ルールを作成できます。UFW はデフォルトですべての着信接続をブロックするため、変更を実装する前に正当なトラフィックがブロックされていないことを確認してください。

UFW 管理 APT コマンド

UFWファイアウォールを削除する

UFW は、ファイアウォール ルールを管理し、Debian システムをセキュリティ保護するための貴重なツールです。ただし、これを無効にしたり削除したりする必要がある状況もあります。

UFW を一時的に無効にしたい場合は、次のコマンドを入力します。

sudo ufw disable

これによりファイアウォールがオフになり、すべてのトラフィックがシステムを通過できるようになります。

一方、システムから UFW を完全に削除する必要がある場合は、次のコマンドを実行します。

sudo apt remove ufw

ただし、UFW をシステムから完全に削除すると、外部からの攻撃に対して脆弱になる可能性があることに注意することが重要です。システムのファイアウォールを管理するための確実な代替手段があるか、IPTables の使用方法を理解していない限り、UFW を削除することはお勧めできません。

したがって、UFW を削除する前に、システムのセキュリティを維持し、不正アクセスを防ぐための代替ソリューションがあることを確認してください。

結論

Joshua James

コメントを残す