この記事では、firewalld
の使用方法に関する基本的な情報を提供します ソフトウェアファイアウォール。このファイアウォールは、RHEL®7およびCentOS®7ベースのLinux®ディストリビューションのデフォルトのファイアウォールソリューションです。
注 :RackConnect®サーバーのファイアウォールに変更を加える必要がある場合は、専用ファイアウォールマネージャーを使用して変更する必要があります。
次の前提条件が必要です。
- Secure Shell(SSH®)の基本的な理解
- サーバーへのsudoまたは管理アクセス
- RHEL7またはCentOS7を実行しているRackConnect以外のクラウドサーバー
firewalld
serviceは、RHELおよびCentOS 7で使用されるデフォルトの最も一般的なソフトウェアファイアウォールソリューションです。これは、iptables
のラッパーです。 異なる構文を使用して新しいルールを適用します。
firewalld
サービスはゾーンを使用してファイアウォールアクセスを制御します。ゾーンは、さまざまな信頼レベル用に事前に構築されたルールセットです。 home
など、特定の場所またはシナリオのゾーンがある可能性があります 、public
、またはtrusted
。ゾーンが異なれば、他のすべてを拒否しながら、異なるネットワークサービスと着信トラフィックタイプが有効になります。 firewalld
を有効にした後 初めて、public
デフォルトのゾーンです。
ゾーンの例を次に示します。
Zone | それが何をするか |
---|---|
public | これは外部です ゾーンまたはインターネットに面したゾーン。外界から発信された接続を信頼せず、特定のサービスのみを許可します。 |
internal | これは伝統的に内部です ファイアウォールの背後にあるネットワークの |
dmz | このゾーンは、DMZ(非武装地帯)にあるコンピューターで使用するためのものです。制限された内部ネットワークにアクセスできるのは、特定の着信接続のみです。 |
drop | drop 宛てのトラフィック ゾーンは応答なしで削除されます。これをブラックホールとして使用します 悪意のあるIPの場合。 |
trusted | trusted すべての接続を受け入れます。このゾーンは慎重に使用してください。 |
開始する前に、firewalld
を確認する必要があります サーバーで実行されています。次のコマンドで確認できます:
firewall-cmd --state
サービスが開始されると、サービスが実行中であることを示す出力が表示されます。
サービスが実行されていない場合は、次のコマンドを実行してサービスを開始できます。
systemctl start firewalld
firewalld
を有効にすることもできます 次のコマンドを実行して起動時に開始するには:
systemctl enable firewalld
firewalld
のゾーン
ルールを追加する前に、firewalld
のデフォルト設定を確認する必要があります 。
firewalld
でデフォルトゾーンを確認するには 、次のコマンドを実行できます:
firewall-cmd --get-default-zone
デフォルトでは、このゾーンはpublic
に設定されています 。次のコマンドを使用して、他のゾーンを表示できます。
firewall-cmd --get-zones
このコマンドは、firewalld
で使用可能なゾーンを一覧表示します 。
前述のように、firewalld
のさまざまなゾーン さまざまな機能があります。ゾーンとイーサネットコントローラーの接続を指定して、サーバーへのアクセスをより細かく制御できますが、Rackspaceの目的では、デフォルトの構成を使用してpublic
を変更します。 ゾーン。
firewalld
ルールの構造
firewalld
を書くとき ルールには、ルールにいくつかの基本的な項目が必要です。
-
コマンドを指定します。
-
ゾーンを指定して変更します。
-
永続性を設定します。
これらすべてをまとめると、次の例のようになります。
firewall-cmd --zone=public --add-source=127.0.0.1 --permanent
このコマンドは、IP 127.0.0.1
からのアクセスを有効にします public
へ ゾーン。他にも利用可能なフラグがありますが、これはfirewalld
の基本的な構造です。 ルール。
永続的なフラグ 豊富なルールを使用して、ルールの永続性を設定し、ルールの微調整を有効にすることができます 。
永続フラグを使用しても、実行コンフィギュレーションでルールはアクティブ化されません。ルールを確実に維持するには、永続的なフラグを使用してルールをもう一度追加する必要があります。
永続的なフラグの例:
firewall-cmd --add-source=12.345.67.89 --zone=trusted --permanent
豊富なルールは、カスタムのきめ細かいオプションを使用することで、より詳細な制御を提供します。豊富なルールにより、ロギング、マスカレード、ポートフォワーディング、およびレート制限を構成できます。
豊富なルールの例:
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.45.69.78" port port="11" protocol=tcp accept' --permanent
注 :豊富なルールと通常のルールが混在していると、構成が乱雑になる可能性があります。 SSHアクセスなど、特定のルールに豊富なルールのみを使用すると、セットアップをクリーンに保つのに役立ちます。
最後に、firewalld
の例をいくつか示します。 コマンド。
コマンド | それが何をするか |
---|---|
firewall-cmd --add-source=12.345.67.89 --zone=trusted | このコマンドは、指定されたIPからトラステッドゾーンへのトラフィックを受け入れます。 |
firewall-cmd --zone=drop --add-source=12.345.67.89/24 | このコマンドは、指定されたIP範囲からのトラフィックをドロップします。 |
firewall-cmd --zone=public --add-service=ssh | このコマンドは、パブリックゾーンでSSH経由のトラフィックを許可します。 |
firewall-cmd --zone=public --list-all | このコマンドは、ソース、サービス、リッチルールなど、ゾーンに設定されているすべての仕様を一覧表示します。 |
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.456.789.123" port port="22" protocol=tcp accept' --permanent > | このコマンドは、public のTCPを介してポート22の指定されたIPからのアクセスを許可するための豊富なルールを追加します ゾーン。 |
このドキュメントは、firewalld
の可能性のほんの一部にすぎません。 。 man
を確認できます firewalld
のページ または、firewalld
の公式ドキュメントを確認してください https://firewalld.org/documentation/man-pages/firewall-cmd.htmlで。