Ubuntu 24.04 でファイアウォールを有効化、無効化、構成する [初心者ガイド]
これは、UFW を使用して Ubuntu でファイアウォールを有効、無効、および構成する方法を説明する初心者向けガイドです。
ファイアウォールは、受信および送信するネットワーク トラフィックを監視し、事前定義されたセキュリティ ルールに基づいて特定のトラフィックを許可するかブロックするかを決定するネットワーク セキュリティ システムです。
Linux カーネルには、パケット フィルタおよびファイアウォールとして実装されるNetfilter サブシステムがあります。 iptables (および iptables の後継である nftables) は、ネットフィルター ルールを追加/削除してファイアウォールを構成するユーザーレベルのコマンド ライン ツールです。
iptables (および nftables) ははるかに柔軟ですが、初心者にとっては非常に困難です。 UFW (Uncomplicated Firewall) は、iptables のユーザーフレンドリーなフロントエンドであり、以下で説明します。
Pepe LinforthによるPixabayからの画像
Ubuntu でファイアウォールを有効にする
UFW は通常、Ubuntu デスクトップとサーバーの両方にプリインストールされていますが、デフォルトでは有効になっていません。
念のため、ターミナルを開いて (Ctrl+Alt+T)、コマンドを実行してインストールしてください。
sudo apt install ufw
前述したように、ファイアウォールは通常、デフォルトでは有効になっていません。 ステータスを確認するには、次のコマンドを使用します。
sudo ufw status
ユーザーが追加したルールとともに、「ステータス: アクティブ」 または「ステータス: アクティブ」 が表示されます。
注: ufw を有効にする前にルールを追加することがサポートされています。リモート サーバーの場合は、最初に sudo ufwallow ssh
を実行して ssh をホワイトリストに登録します。そうしないと、SSH 接続が失われます。デフォルト以外の SSH ポート(ポート 1234 など)が使用されている場合は、代わりに sudo ufwallow 1234/tcp
コマンドを使用してください。
ファイアウォールを有効にするには、次のコマンドを実行します。
sudo ufw enable
コマンドが正常に完了すると、「ファイアウォールがアクティブで、システム起動時に有効になっています」と出力されるはずです。
UFW を使用してファイアウォールを構成する
1. ステータスと追加されたルールを確認する
前述したように、次のコマンドを実行してファイアウォールのステータスを確認できます。
sudo ufw status
ファイアウォールが有効になっているかどうかが表示されます。 「はい」の場合、ユーザーが追加したルールもすべて表示されます。
ただし、ファイアウォールが非アクティブな場合でもユーザーが追加したルールを確認するには、次のコマンドが役立つ場合があります。
sudo ufw show added
2.UFWのデフォルトポリシーを構成する
デフォルトのファイアウォール ポリシーはあらゆる送信トラフィックを許可します。つまり、Ubuntu PC/サーバーから任意の Web サイトにアクセスしたり、apt
、wget
などのコマンドを使用したりできます。システムに何かをインストール/ダウンロードすること。
ただし、 デフォルトでは受信は無効になっています。外部システムがマシンに接続できるようにするには、独自のルールを追加する必要があります。すべてのルーティングと転送も無効になります。これは、マシンをルーターとして使用していない場合のデフォルトとして適切です。
デフォルトのポリシーを確認するには、次のコマンドを使用します。
sudo ufw status verbose
デフォルトのポリシーを変更する場合、たとえば送信を拒否する場合は、次のコマンドを使用します。
sudo ufw default deny outgoing
その後、外部システムにアクセスしたい場合は、次の方法ですべての送信トラフィックを再度許可します。
sudo ufw default allow outgoing
または、特定のポートの送信ルールを手動で追加します。たとえば、apt コマンドを使用して何かをインストールできるようにするには、以下のファイアウォール ルールを追加します。
sudo ufw allow out 53/udp
sudo ufw allow out 80/tcp
完了したら、ルールを削除して、すべての送信を再度拒否できます。
sudo ufw delete allow out 53/udp
sudo ufw delete allow out 80/tcp
3.UFWルールを追加する
上で説明したコマンドのように、ufwallow
コマンドを使用して特定のポートへの受信 (および/または送信) トラフィックを許可し、ufwdeny
コマンドを使用してトラフィックを拒否できます。
たとえば、どこからでもポート 80 への受信を許可するには、次のコマンドを使用します。
sudo ufw allow 80
または、udp に対してのみポート 53 への受信を許可するには、次のコマンドを使用します。
sudo ufw allow 53/udp
より具体的には、現在のマシン上の特定のポートへのトラフィックがどこから許可されているかを知ることができます。たとえば、次のコマンドは、192.168.0.0 ~ 192.168.0.255 の範囲のリモート IP をこのホストの TCP ポート 22 に許可するようにファイアウォールを設定します。
sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp
最後のコマンドの「任意」は、ローカル ホストの任意のネットワーク インターフェイスを意味します。このホストの特定の IP (たとえば 192.168.0.100) を指定するには、最後のコマンドは次のようになります。
sudo ufw allow from 192.168.0.0/24 to 192.168.0.100 port 22 proto tcp
上で述べたように、UFW コマンドでサービス名を使用して、特定のトラフィックを許可 (または拒否) することもできます。例えば:
sudo ufw allow smtp
このコマンドは、サービスがインストールされていない場合でも、SMTP ポート 25 を許可します。ただし、カスタム ポートが使用されている場合でも、サービスのデフォルト ポート (例: ssh の 22) が設定されるだけであり、 常に設定されます。
4.UFW ファイルウォール ルールを削除する
ufw ルールを削除するには、ufw
と allow
(または deny
の間に delete
オペレーションを追加します) >) 最後に実行するコマンドで。
まず、コマンドを使用して追加されたルールを一覧表示します。
sudo ufw show added
次に、ルールを削除します。たとえば、
allow 53/udp
を元に戻します。sudo ufw delete allow 53/udp
ufw がアクティブ化されたステータスにある場合は、 追加されたすべてのルールを行番号付きでリストし、必要な番号を使用して削除できます。
まず、ufw ステータスと追加されたルールを数字で表示します。
sudo ufw status numbered
次に、次の方法で最初のルールを削除します。
sudo ufw delete 1
5.IPv6を無効にする
ufw ファイアウォール ルールは、デフォルトでは IPv6 と IPv4 の両方に適用されます。
すべてのファイアウォール ルールで IPv6 を除外する場合は、次のコマンドで /etc/default/ufw
ファイルを編集します。
sudo nano /etc/default/ufw
次に、IPV6=yes
を IPV6=no
に変更します。最後に、Ctrl+S を押してから Ctrl+X を押して終了します。また、sudo ufw reload
を実行して変更を適用します。
または、ルールで IPv4 アドレスを指定します。例えば:
ufw allow to 0.0.0.0/0 port 80 proto tcp
このルールにより、すべての ipv4 インターフェイスを介して、どこからでもこのホスト上のポート 80/tcp へのトラフィックが許可されます。
ファイアウォールを無効にする
ファイアウォールを無効にするには、次のコマンドを実行します。
sudo ufw disable
「システム起動時にファイアウォールが停止し、無効になりました」と表示されます。ただし、ユーザーが追加したルールはすべて機能しませんが、依然としてそこに残ります。
選択として、次のコマンドでufw をリセットすることもできます。
sudo ufw reset
これにより、ファイアウォールが無効になり (有効になっている場合)、すべてのルールがインストールされているデフォルトにリセットされます。