Raspberry Pi で UFW ファイアウォールを設定する
- UFW-複雑でないファイアウォールの基本とインストール
- UFW-Raspberry Pi ルールへの SSH トラフィックを許可する
- UFW-既存のルールを削除する
- UFW-IP アドレスまたは範囲に基づくブロッキングルール
この記事では、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