ホームページ > 運用・保守 > CentOS > Centosにファイアウォールを使用して高度なファイアウォールルールを実装する方法は?

Centosにファイアウォールを使用して高度なファイアウォールルールを実装する方法は?

Karen Carpenter
リリース: 2025-03-11 16:59:19
オリジナル
895 人が閲覧しました

この記事では、CENTOSのファイアウォールを使用して高度なファイアウォールルールを実装する詳細を説明します。粒状制御に豊富なルールを利用して、ゾーンベースのアプローチを強調しています(例、ソースIP、ポート、プロトコルの指定)。ベストプラクティスには、の原則が含まれます

Centosにファイアウォールを使用して高度なファイアウォールルールを実装する方法は?

Centosのファイアウォールを使用して高度なファイアウォールルールを実装します

このセクションでは、CENTOSシステムでfirewalldを使用して高度なファイアウォールルールを実装する方法について詳しく説明します。 firewalld 、簡単なポートオープニングを超えて、ファイアウォールを管理するための堅牢で柔軟な方法を提供します。その強みは、ゾーンベースのアーキテクチャと、豊富な構文を使用して複雑なルールを定義する能力にあります。

まず、 firewalldがインストールされて実行されていることを確認してください。

 <code class="bash">sudo yum install firewalld sudo systemctl start firewalld sudo systemctl enable firewalld</code>
ログイン後にコピー

通常、高度なルールは特定のゾーン内で追加されます。 defaultゾーンは通常、パブリックインターフェイス用ですが、 internaldmzなどの他のゾーンは、それぞれ内部ネットワークまたは非武装ゾーン用に作成されます。 defaultゾーンの特定のIPアドレス(192.168.1.100)からのみSSHアクセスを許可したいとします。 firewall-cmdコマンドラインツールを使用してこれを実現できます。

 <code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' sudo firewall-cmd --reload</code>
ログイン後にコピー

このコマンドは、 defaultゾーンに永続的なルール( --permanentを使用)を追加します。 --add-rich-ruleオプションは、XMLのような構文で指定された複雑なルールを可能にします。このルールは、 192.168.1.100から発信されるIPv4トラフィック( family="ipv4" )を具体的にターゲットにし、それを受け入れます( accept )。 --reload変更を有効にするために使用してfirewalldをリロードすることを忘れないでください。ポート範囲、プロトコル(TCP/UDP)、およびrich rule内のその他の基準など、より複雑な条件を追加できます。たとえば、そのIPからSSH(ポート22)のみを許可するには:

 <code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' sudo firewall-cmd --reload</code>
ログイン後にコピー

以下を使用して現在のルールを表示できます。

 <code class="bash">sudo firewall-cmd --list-all sudo firewall-cmd --list-rich-rules</code>
ログイン後にコピー

Firewalldの高度な機能を使用してCentosサーバーを保護するためのベストプラクティス

firewalldでCentOSサーバーを効果的に保護するには、階層化されたアプローチが必要です。

  1. 最小特権の原則:必要なサービスとポートのみを許可します。不必要にポートを開くことは避けてください。
  2. ゾーンベースのセキュリティ:さまざまなゾーン(例えば、 publicinternaldmz )を利用して、ネットワークトラフィックを分離し、各ゾーンに適切なルールを適用します。これにより、違反の影響を制限することによりセキュリティが向上します。
  3. 粒状制御の豊富なルール: rich rulesを使用して、ソースIPアドレス、ポート、プロトコル、およびその他の基準に基づいて、非常に具体的なアクセス制御を定義します。
  4. 定期的な監査: sudo firewall-cmd --list-allおよびsudo firewall-cmd --list-rich-rulesを使用してファイアウォールルールを定期的に確認して、それらがまだ適切で妥協されていないことを確認します。
  5. 入力フィルタリング:入力フィルタリングの優先順位。デフォルトですべての着信接続をブロックし、必要な接続のみを明示的に許可します。
  6. 不要なサービスの無効化:積極的に必要としないサービスを停止および無効にします。これにより、攻撃面が減少します。
  7. 強力なパスワードと認証:強力なパスワードを実装し、SSHキーなどの堅牢な認証メカニズムを使用します。ファイアウォールルールだけでは、完全なセキュリティには十分ではありません。
  8. 定期的な更新: Centosシステムと最新のセキュリティパッチを使用して最新の状態にfirewalldます。
  9. ログ分析:疑わしいアクティビティのファイアウォールログを監視します。これは、潜在的な侵入を検出して応答するのに役立ちます。
  10. Fail2ban: firewalldと組み合わせてFail2banを使用することを検討してください。 Fail2ban 、ブルートフォースログインを試みるIPアドレスを自動的に禁止します。

特定のアプリケーションまたはサービスのためにCENTOSでFirewalldを介して特定のポートとプロトコルを許可する

アプリケーションに特定のポートとプロトコルを許可するには、アプリケーションで使用されるポートとプロトコルを識別し、適切なファイアウォールルールを作成することが含まれます。たとえば、HTTPトラフィック(ポート80)およびHTTPSトラフィック(ポート443)を許可するには:

 <code class="bash">sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload</code>
ログイン後にコピー

特定のIPアドレスまたはその他の基準を含むより複雑なシナリオについては、 rich rulesを使用します。

 <code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="8080" accept' sudo firewall-cmd --reload</code>
ログイン後にコピー

これにより、IPアドレス192.168.1.100からポート8080のTCPトラフィックが可能になります。これらの値を、特定のアプリケーションの適切なポート、プロトコル、およびIPアドレスに置き換えることを忘れないでください。常にプロトコル(TCPまたはUDP)を明示的に指定してください。

CENTOSシステムの複雑なファイアウォールルールで問題を解決するための一般的なトラブルシューティング手順

複雑なfirewalldのトラブルシューティングには、体系的なアプローチが必要です。

  1. ルールの存在を検証します: sudo firewall-cmd --list-allおよびsudo firewall-cmd --list-rich-rulesことを確認します。
  2. ゾーンの割り当てを確認します:ルールが正しいゾーン(例えば、 publicinternal )に関連付けられていることを確認してください。 sudo firewall-cmd --get-active-zonesを使用して、アクティブゾーンとそのインターフェイスをリストします。
  3. ログを調べる:エラーや警告については、 firewalldログの確認してください。ログファイルの場所は、システムの構成によって異なる場合がありますが、 /var/log/firewalld/にあることがよくあります。
  4. テスト接続: pingtelnetnetstatncなどのツールを使用して、ルールの影響を受けるサービスへの接続性をテストします。
  5. ルールを簡素化:複雑なルールが多い場合は、問題のあるルールを隔離するために一時的に無効にしてみてください。
  6. firewalldを再起動します:ルールを変更した後、 sudo firewall-cmd --reloadを使用して常にfirewalldをリロードしてください。頑固な場合、フル再起動( sudo systemctl restart firewalld )が必要になる場合があります。
  7. iptables (Advanced)を使用:非常に複雑なシナリオでは、基礎となるiptablesルールを直接操作できますが、これは一般的にiptablesに精通していない限り落胆します。ただし、 iptablesに直接加えられた変更は、 firewalldがリロードされると上書きされることを忘れないでください。
  8. 文書に相談:構文、オプション、トラブルシューティングのヒントの詳細については、公式のfirewalldドキュメントを参照してください。

これらの手順とベストプラクティスに従うことにより、CentOSサーバー上のfirewalldを使用して高度なファイアウォールルールを効果的に管理およびトラブルシューティングし、セキュリティと安定性を向上させることができます。

以上がCentosにファイアウォールを使用して高度なファイアウォールルールを実装する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート