この記事では、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で。