質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Q&A

解決済

2回答

9425閲覧

CentOS7 Firewalld について

pacokio

総合スコア18

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

0グッド

0クリップ

投稿2016/12/03 18:27

###前提・実現したいこと
現在、サーバ更改に伴い、CentOS6から7への更改を検討しております。
NW機器のFWがない環境のため、現在iptablesで行っている
フィルタリングをfirewalldで行いたいと考え、
調査を進めていました。
iptablesも使用しようと思えばつかえますが、
CentOS7からfirewalldがデフォルトになったので、
今後n運用を考え、firewalldを使用したいと思っています。

そこで調べたのですが、腑に落ちない点がありました。
認識が正しくない点がありましたらご指摘をお願いいたします。

###よくわからない点
・ZONE毎のフィルタリング設定と、ダイレクトルールを用いての設定の違い
・ダイレクトルール(--direct)を使用した場合のZONEへの設定反映

###現在の自分の理解
・ZONE毎に設定を行う方法は、INPUTとFORWARDチェインへの設定だけ扱っている
(OUTPUTには対応していない)
・OUTPUTに対応するためにダイレクトルールが用意されている。
・ダイレクトルールはINPUT、OUTPUT、FORWARDに対応している。

上記より、ダイレクトルールで全て設定すれば、現行のCentOS6
で使用していたiptablesの設定が流用できる気がしました。
ZONE毎の設定を行うより移行しやすそうと感じています。
(運用時にどのゾーンにどのフィルタ設定を行ったかが管理しやすそうなのは
ZONE毎の設定ですが。)

#質問
・OUTPUT(外部への通信)も制御したい場合は、INPUTも含め、
全てダイレクトルールを使用したほうがよいでしょうか?

・ダイレクトルールのみ使用して設定した場合は、ZONEの概念は考慮が不要になりますか?

(ダイレクトルールを設定する場合、ZONEの指定がないので、
其々のZONE設定にダイレクトルールが含まれるということか?と予測しています。)

其々の設定の利点と使いどころが曖昧となっている為、
その点もご教授いただければと考えております。

お手数ですが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

firewalldはman以上の詳しい説明があまりないので実際に手元で確認した際の結果になりますが、ご理解の通りですべて正しいです。

・ダイレクトルールのみ使用して設定した場合は、ZONEの概念は考慮が不要になりますか?

(ダイレクトルールを設定する場合、ZONEの指定がないので、
其々のZONE設定にダイレクトルールが含まれるということか?と予測しています。)

ダイレクトルールはどのzoneを使っていても適用されます。
firewalldの設定は最終的にはiptablesに落とし込まれますので、iptables -nvLで見るとINPUTチェインは以下のようになっています。

$ sudo iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1578 99062 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 6 480 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 391 48015 INPUT_direct all -- * * 0.0.0.0/0 0.0.0.0/0 386 47795 INPUT_ZONES_SOURCE all -- * * 0.0.0.0/0 0.0.0.0/0 386 47795 INPUT_ZONES all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 48 6155 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

ダイレクトルールはINPUT_directチェインに書かれ、zoneからの設定はINPUT_ZONES_SOURCEチェインやINPUT_ZONESチェインに書かれます。

・OUTPUT(外部への通信)も制御したい場合は、INPUTも含め、
全てダイレクトルールを使用したほうがよいでしょうか?

其々の設定の利点と使いどころが曖昧となっている為、
その点もご教授いただければと考えております。

先に書いた通りの理由でダイレクトルールはzone側の設定と単純に併用されます。

man firewall-cmdによると「Direct options should be used only as a last resort」とあります。
つまりfirewalldの思想としては、ダイレクトルールは他の手段で設定できない場合に使用する最終手段、というわけです。

投稿2016/12/04 03:54

yunano

総合スコア841

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pacokio

2016/12/05 02:14

回答ありがとうございます。 最初に求めていた回答に近い内容を頂けたのでベストアンサーとさせていただきます。 ダイレクトルールが用意されているということは、zone設定(おそらくfirewalldの思想ではこっちを使用させたい)では設定が網羅できていないのはわかっているという感じがしますね。 しかし、ダイレクトルールのみで設定が行えるのなら元のiptablesとあまり変わらないので、 まだ発展途上の機能だという印象です。
guest

0

・OUTPUT(外部への通信)も制御したい場合は、INPUTも含め、
全てダイレクトルールを使用したほうがよいでしょうか?

INPUT, OUTPUT ともにダイレクトルールで設定してもいいですし、INPUT だけゾーンを使うこともできます。
わかりやすい方にすればいいと思います。

・ダイレクトルールのみ使用して設定した場合は、ZONEの概念は考慮が不要になりますか?

はい、そう思います。

(ダイレクトルールを設定する場合、ZONEの指定がないので、
其々のZONE設定にダイレクトルールが含まれるということか?と予測しています。)

チェインの指定はできます。
OUTPUT はチェインが 1つですが、INPUT は IN_public など、ゾーンごとに割り当てられたチェインにダイレクトルールを設定できます。

また、ダイレクトルールとは別に、リッチルールというものもあります。
リッチルールはゾーンに紐付きます。
書式がある程度決まっているので、ダイレクトルールよりは自由度は下がります。

其々の設定の利点と使いどころが曖昧となっている為、
その点もご教授いただければと考えております。

firewalld, ゾーンを使う利点として、以下のような場合が考えられます。

  • ノートPC など、無線LANアクセスポイントによってゾーン(ルールセット)を変える (NetworkManager が対応すれば自動で切り替えできそう)
  • NIC が複数あり、それぞれのルールを分離したい (チェインで分けてもいいけど)

他、iptables にルールを追加するサービス(Docker など)が将来的に firewalld と連携するかも。

ゾーンを使うのであれば、以下の順で設定するといいと思います。
(1) --add-service, --add-port など
(2) リッチルール
(3) ダイレクトルール

逆に、ゾーンを使う利点がないのであれば、無理に使わなくてもいいかと。

投稿2016/12/04 15:50

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pacokio

2016/12/05 02:20

回答ありがとうございます。 設定する方法が複数あるのであれば使いやすい方法を使えばいいという所が、 まさにその通りだと感じました。 iptablesの内容を移行するのはダイレクトルールの方がスムーズ(iptableユーザも理解しやすい)と思われるのでこちらを使用しようと思います。 今後、firewalledのバージョンアップに伴い、ダイレクトルールが使用できなくなる のだけは避けてほしいですね。。。firewalledの思想はzone設定の方のようなので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問