ホームページ >運用・保守 >Linuxの運用と保守 >FirewalldまたはIptablesを使用してLinuxでファイアウォールをセットアップするにはどうすればよいですか?

FirewalldまたはIptablesを使用してLinuxでファイアウォールをセットアップするにはどうすればよいですか?

Emily Anne Brown
Emily Anne Brownオリジナル
2025-03-12 18:58:51933ブラウズ

FirewalldまたはIptablesを使用してLinuxでファイアウォールをセットアップする

firewalldまたはiptablesいずれかを使用してLinuxでファイアウォールをセットアップするには、アーキテクチャの違いによりさまざまなアプローチが含まれます。 firewalld 、ファイアウォールルールを管理するためのユーザーフレンドリーなインターフェイスを提供するダイナミックファイアウォールデーモンです。IPTABLES iptables 、カーネルのNetFilterフレームワークを直接操作するコマンドラインユーティリティです。

Firewalldの使用:

  1. インストール: firewalldがインストールされていることを確認してください。ほとんどの分布では、これはパッケージマネージャーを使用して行われます(たとえば、Debian/ubuntuにapt install firewallddnf install firewalld )。
  2. firewalldを起動して有効にする: systemctl start firewalldsystemctl enable firewalldを使用してブートを開始できるようにします。
  3. 基本構成: firewalld 「ゾーン」を使用して、さまざまなネットワークコンテキスト(「パブリック」、「内部」、「DMZ」)を定義します。各ゾーンには、デフォルトのルールセットがあります。 firewall-cmd --get-active-zonesでゾーンをリストできます。 SSH(ポート22)のようなサービスをデフォルトゾーン(通常は「パブリック」)に追加するには、 firewall-cmd --permanent --add-service=sshを使用します。変更を永続的にするには、 --permanentフラグを使用します。ファイアウォールをfirewall-cmd --reload変更を適用します。
  4. 高度な構成:より詳細な制御のために、 firewall-cmd --permanent --add-port=80/tcp (HTTPの場合)を使用して特定のポートを追加できます。またはfirewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept' (epent for a a epransect") "192.168.1.0/24"(

iptablesの使用:

  1. インストール: iptablesは通常、ほとんどのLinux分布にデフォルトで含まれます。
  2. 基本的な構成: iptables 、チェーン(例、 INPUTOUTPUTFORWARD )を使用してルールを管理します。各ルールは、ソース/宛先IPアドレス、ポート、プロトコル、およびアクション(受け入れ、ドロップ、拒否)を指定します。たとえば、ssh接続を許可するには: iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  3. ルールの保存: iptablesルールは、再起動全体で永続的ではありません。スクリプトまたはiptables-saveなどのユーティリティを使用してそれらを保存し、起動時のスクリプトを使用して起動時にロードする必要があります。正確な方法は、分布によって異なります。
  4. 高度な構成: iptables非常に微調整された制御を提供し、さまざまな一致する基準とカスタムチェーンを備えた複雑なルールセットを可能にします。ただし、これには、ネットワーキングとiptables構文を深く理解する必要があります。

FirewalldとIptablesの重要な違い

主な違いは、ファイアウォール管理へのアプローチにあります。 firewalldiptablesの上に構築された、高レベルのユーザーフレンドリーなインターフェイスを提供します。一般的なファイアウォールタスクを簡素化し、ゾーン、サービス、ポートの管理を容易にします。一方、 iptables 、NetFilterフレームワークを直接的な低レベルの制御を提供し、より柔軟性を提供しますが、より技術的な専門知識が必要です。

これが重要な違いを要約するテーブルです。

特徴 ファイアウォール iptables
インタフェース ユーザーフレンドリーなオプションを備えたコマンドラインツール コマンドラインのみ、複雑な構文
構成 ゾーン、サービス、ポート、豊富なルール チェーン、特定のマッチング基準を持つルール
持続性 組み込みの持続メカニズム ブートで手動で保存して読み込む必要があります
複雑 学習と使用が簡単です より急な学習曲線、より複雑
柔軟性 iPtablesよりも柔軟性が低い 非常に柔軟で、複雑なルールが可能です
動的更新 動的更新をサポートします 手動の更新が必要です

特定のポートまたはサービスを許可/拒否する特定のファイアウォールルールの構成

Firewalldの使用:

特定のポートを許可するには(ポート80のHTTPなど)。

 <code class="bash">firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload</code>

特定のポートを拒否するには(ポート21のFTPなど)。

これは、 firewalldではそれほど簡単ではありません。これを正確に達成するには、カスタムゾーンを作成するか、リッチルールを使用する必要がある可能性があります。一般に、 firewalldデフォルトで許可し、明示的に拒否するように設計されています。

特定のサービスを許可する(例:SSH):

 <code class="bash">firewall-cmd --permanent --add-service=ssh firewall-cmd --reload</code>

iptablesの使用:

特定のポートを許可するには(ポート80のHTTPなど)。

 <code class="bash">iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT # If you want to allow outgoing traffic on port 80 as well. service iptables save # Save the rules (method varies by distribution)</code>

特定のポートを拒否するには(ポート21のFTPなど)。

 <code class="bash">iptables -A INPUT -p tcp --dport 21 -j DROP service iptables save # Save the rules (method varies by distribution)</code>

Linuxシステムをファイアウォールで固定するためのベストプラクティス

firewalldまたはiptablesを使用するかどうかに関係なく、次のベストプラクティスに従ってください。

  • 最小特権の原則:必要なトラフィックのみを許可します。すべてをデフォルトで拒否し、特定のポートとサービスを明示的に許可します。
  • 定期的な更新:最新のセキュリティパッチでファイアウォールとオペレーティングシステムを更新してください。
  • ログ分析:定期的にファイアウォールログを確認して、疑わしいアクティビティを特定します。
  • 入力チェーンフォーカス: INPUTチェーンに細心の注意を払ってください。これにより、着信接続が制御されます。
  • Statefull Firewalls:接続を追跡し、返品トラフィックを許可するために、ステートフル検査( firewalldiptables両方がこれをサポートする)を利用します。
  • 必要でない限り、オープンポートを避けます。インターネットにさらされたオープンポートの数を最小限に抑えます。
  • 強力なパスワードポリシーを使用:強力なパスワードを使用して定期的に更新してシステムを保護します。
  • 定期的にルールを確認する:ファイアウォールルールが定期的にレビューして、それらがまだ適切かつ効果的であることを確認してください。
  • 別のDMZを使用する:サービスをインターネットに公開する必要がある場合は、個別のDMZ(非武装ゾーン)を使用して内部ネットワークからそれらのサービスを分離することを検討してください。
  • 侵入検知/予防システム(IDS/IPS)を検討してください。ファイアウォールをIDS/IPSと組み合わせて、セキュリティ層を追加します。

制御システムに展開する前に、常に制御された環境でファイアウォールルールをテストすることを忘れないでください。誤って構成されたファイアウォールルールは、システムをアクセスできない場合があります。

以上がFirewalldまたはIptablesを使用してLinuxでファイアウォールをセットアップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。