Raspberry Pi で UFW ファイアウォールを設定する

胡金庫 2023年1月30日
  1. UFW-複雑でないファイアウォールの基本とインストール
  2. UFW-Raspberry Pi ルールへの SSH トラフィックを許可する
  3. UFW-既存のルールを削除する
  4. UFW-IP アドレスまたは範囲に基づくブロッキングルール
Raspberry Pi で UFW ファイアウォールを設定する

この記事では、Raspberry Pi に UFW ファイアウォールを設定するいくつかのシナリオを紹介します。

UFW-複雑でないファイアウォールの基本とインストール

UFW(Uncomplicated FireWall)は、NetFilter と呼ばれる Linux カーネルパケットフィルタリングサブシステムのルールを操作するためのフロントエンドプログラムです。後者は Linux カーネルモジュールであるため、エンドユーザーに構成および管理ツールを提供するためのユーザースペースアプリケーションが必要です。

これは主に iptables および ip6tables ユーティリティプログラムによって実行されます。これらのユーティリティプログラムを使用して、Linux カーネルで IPv4 / IPv6 パケットフィルタールールのテーブルを設定および検査できます。iptables 構成は新しい Linux ユーザーや管理者にとって厄介な場合がありますが、構成管理を簡素化し、iptables へのより簡単なインターフェイスを提供するために、フロントエンドファイアウォールプログラムの別のレイヤー(UFW など)が存在します。

UFW はデフォルトの Ubuntu パッケージの一部であり、Raspberry Pi OS でも利用可能で公式リポジトリからインストールできます。次のコマンドで UFW をインストールできます。

sudo apt install ufw

UFW パッケージがインストールされると、システムの起動時にそれを有効にし、必要に応じてルールを構成できます。次のコマンドを使用して、ファイアウォールを起動時に実行し、プロセスをすぐに開始できるようにすることができます。

sudo ufw enable

前のコマンドは、既存の SSH 接続が中断される可能性があるという警告を表示するため、マシンからロックアウトされないように、リモート接続なしでこれらのコマンドを実行することをお勧めします。

この時点で、UFW は着信トラフィックと発信トラフィックにいくつかのデフォルトルールを設定します。前者は拒否され、後者は許可されます。ファイアウォールの現在のステータスは、次のコマンドを使用して調べることができます。

sudo ufw status

または、前のコマンドに verbose または numbered オプションを追加して、現在のルールを追加情報とともに表示することもできます。

sudo ufw status verbose
sudo ufw status numbered

UFW-Raspberry Pi ルールへの SSH トラフィックを許可する

通常、SSH はポート番号-22 を使用するため、次のコマンドに含めますが、SSH が別のポートでリッスンするようにすることもできます。後者は、/etc/ssh/sshd_config パスにある SSH 構成ファイル sshd_config を変更することで実現できます。Pi への SSH 接続を許可する場合は、次のコマンドを実行します。

sudo ufw allow 22

一方、SSH 接続を制限して、特定の IP アドレスのみがホストにアクセスできるようにすることもできます。さまざまな IP アドレスに対して次のコマンドを再実行して、特定のサービスへの接続を許可されているすべての例外を追加できます。

sudo ufw allow proto tcp from 10.10.10.1 to any port 22

UFW-既存のルールを削除する

UFW の既存のルールは、ufw delete コマンドを使用して削除できます。ルールを削除するには、ルールの番号を指定する必要があります。番号付きルールは、sudo ufw status number コマンドを使用して一覧表示できることに注意してください。この場合、前のコマンド例で設定されたルールを削除します。このルールセットには、たまたま 3 番目の番号が付けられています。

sudo ufw delete 3

UFW-IP アドレスまたは範囲に基づくブロッキングルール

特定の IP アドレスと範囲は、Raspberry Pi へのネットワーク接続の確立をブロックできます。つまり、特定の IP アドレス(例:10.10.10.1)は次のコマンドでブロックされます。

sudo ufw deny from 10.10.10.1

または、次のコマンドを実行すると、サブネット全体をブロックできます。

sudo ufw deny from 10.10.10.0/24
著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Raspberry Pi