Linux でファイアウォールルールが設定されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux システムでファイアウォールの状態を確認し、アクティブなファイアウォールルールを一覧表示する方法を学びます。まず、使いやすい ufw コマンドを使用して、ファイアウォールの全体的な状態を確認します。

次に、基礎となる iptables ツールを深く調べ、現在有効な詳細なパケットフィルタリングルールを表示します。最後に、iptables の現代的な代替手段である nftables を探索し、ルールセットを検証します。この実験を通じて、Linux のファイアウォール構成を理解し、検査するための実践的なスキルを身につけることができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/BasicSystemCommandsGroup -.-> linux/man("Manual Access") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/help -.-> lab-558716{{"Linux でファイアウォールルールが設定されているかどうかを確認する方法"}} linux/man -.-> lab-558716{{"Linux でファイアウォールルールが設定されているかどうかを確認する方法"}} linux/sudo -.-> lab-558716{{"Linux でファイアウォールルールが設定されているかどうかを確認する方法"}} linux/ifconfig -.-> lab-558716{{"Linux でファイアウォールルールが設定されているかどうかを確認する方法"}} linux/netstat -.-> lab-558716{{"Linux でファイアウォールルールが設定されているかどうかを確認する方法"}} linux/ip -.-> lab-558716{{"Linux でファイアウォールルールが設定されているかどうかを確認する方法"}} end

ufw status でファイアウォールの状態を表示する

このステップでは、ufw コマンドを使用して Linux システムのファイアウォールの状態を確認する方法を学びます。ufw は "Uncomplicated Firewall" の略で、iptables を管理するための使いやすいインターフェースです。

ファイアウォールはネットワークセキュリティに不可欠です。一連のルールに基づいて、入出力のネットワークトラフィックを制御します。デフォルトでは、LabEx 環境には ufw がインストールされているが、非アクティブな状態かもしれません。

ufw ファイアウォールの状態を確認するには、ターミナルを開き、次のコマンドを入力します。

sudo ufw status

Enter キーを押します。

おそらく次のような出力が表示されます。

Status: inactive

この出力は、ufw ファイアウォールが現在システム上で非アクティブであることを示しています。アクティブであれば、現在適用されているルールのリストが表示されます。

sudo コマンドは、ファイアウォールの状態を確認するには管理者権限が必要なため使用されています。前述のとおり、この環境では labex ユーザーはパスワードを必要とせずに sudo アクセスができます。

ファイアウォールの状態を理解することは、ネットワークセキュリティを管理する最初のステップです。次のステップでは、iptablesnftables などの他のツールを探索し、Linux でのファイアウォールの仕組みをより深く理解します。

続ける をクリックして次のステップに進みます。

iptables -L でアクティブな iptables ルールを一覧表示する

このステップでは、iptables コマンドを使用してアクティブなファイアウォールルールを表示する方法を学びます。ufw は簡易的なインターフェースを提供しますが、iptables は Linux カーネルのパケットフィルタリングルールを管理する基礎となるツールです。

iptables は、異なる「チェイン (chain)」と「テーブル (table)」にルールを定義することで動作します。最も一般的なチェインは、INPUT(入力トラフィック用)、OUTPUT(出力トラフィック用)、および FORWARD(システムを通過するトラフィック用)です。

すべてのチェインの現在の iptables ルールを一覧表示するには、ターミナルを開き、次のコマンドを入力します。

sudo iptables -L

Enter キーを押します。

次のような出力が表示され、INPUTFORWARD、および OUTPUT チェインのルールが示されます。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

この出力には、各チェインのデフォルトポリシー(この場合は ACCEPT、つまりデフォルトでトラフィックが許可される)と、追加された特定のルールが表示されます。前のステップで ufw が非アクティブであったため、iptables には ufw によって構成されたカスタムルールがない可能性が高いです。

-L オプションは、iptables にルールを一覧表示するよう指示します。再び、ファイアウォールルールを表示するには管理者権限が必要なため、sudo が必要です。

iptables -L の出力を理解することは、ネットワーク接続の問題を診断し、ファイアウォール構成を検証するために重要です。

続ける をクリックして次のステップに進みます。

nft list ruleset を使ってルールを確認する

このステップでは、iptables の後継である nftables を探索します。nftables は、パケットフィルタリングとネットワークアドレス変換 (NAT) のための、より柔軟で統一的なフレームワークを提供します。iptables は依然として広く使われていますが、新しい Linux ディストリビューションでは nftables がデフォルトになりつつあります。

nft コマンドに list ruleset オプションを付けることで、アクティブな nftables のルールセットを表示できます。

ターミナルを開き、次のコマンドを入力します。

sudo nft list ruleset

Enter キーを押します。

次のような出力が表示され、現在の nftables の設定が示されます。

table ip filter {
	chain INPUT {
		type filter hook input priority 0; policy accept;
	}

	chain FORWARD {
		type filter hook forward priority 0; policy accept;
	}

	chain OUTPUT {
		type filter hook output priority 0; policy accept;
	}
}

この出力は、iptables と同様に、INPUTFORWARDOUTPUT チェインを持つデフォルトのフィルタテーブルを示しています。policy accept は、これらのチェインではデフォルトでトラフィックが許可されることを示しています。

nft コマンドは、nftables とやり取りするための主要なツールです。list ruleset オプションは、アクティブなルールセット全体を表示します。再び、ファイアウォールの設定を表示するには sudo が必要です。

iptables -Lnft list ruleset の出力を比較すると、両方が設定されている場合や、一方が他方が直接制御していないルールを管理している場合に、違いが明らかになることがあります。一般的な設定では、一方のシステム (iptables または nftables) が主要なファイアウォールマネージャーになります。

これで、ufw の状態を確認し、iptables のルールを一覧表示し、nftables のルールセットを表示する方法を学びました。これらは、Linux でのファイアウォールを理解し管理するための基本的なスキルです。

続ける をクリックしてこの実験を完了します。

まとめ

この実験では、異なるツールを使用して Linux システムのファイアウォールの状態を確認する方法を学びました。まず、sudo ufw status を使用して、ファイアウォールルールの管理に使いやすいインターフェースを提供する Uncomplicated Firewall (UFW) がアクティブかどうかを判断しました。

次に、sudo iptables -L を使用して、INPUTOUTPUTFORWARD などの様々なチェインにおけるアクティブなパケットフィルタリングルールを一覧表示することで、基礎となる iptables ツールを探索しました。これにより、ファイアウォールの設定についてより詳細な情報を得ることができました。最後に、通常は nft list ruleset を使用してルールを確認し、iptables の現代的な代替手段である新しい nftables フレームワークがファイアウォールルールをどのように管理するかを理解しました。