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

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

ただいまの
回答率

90.33%

  • CentOS

    2833questions

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

Firewalldの仕様について

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 2,658

pacokio

score 12

現在CentOS7のFIrewalldの検証を行っており、
以下の疑問を持っています。

◆疑問
Firewalldはステートフルインスペクション機能が無いのか?
(戻り通信も許可設定を行わないといけないのか?)
FW機能を持ったNW機器でも、機能がないものがあるため、Firewalldは
どちらかを調査したく以下の検証を行いました。

◆検証内容
Window端末にOracleVMで仮想マシンを立て、
CentOS7を導入しました。
そのCentOS7のfirewalldにて以下の設定を行いました。
(ダイレクトルールを使用しています。また、設定後は毎回firewall-cmd --reloadを実施しています。)


firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -p tcp -s <windows端末IP> -m state --state NEW,ESTABLISHED,RELATED -d <CentOS7IP> --dport 22 -j ACCEPT


firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 200 -j DROP

ステートフルインスペクション機能があれば、
①+②の設定でもSSH通信できると考えていましたが、不可でした。
(①のみの時はSSH通信可能であることは確認済です。)

また、①+②の設定に以下を追加してみました。


firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -p tcp -s <windows端末IP> --sport 22 -j ACCEPT


firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -p tcp -s <windows端末IP> --sport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

①+②+③はSSH通信成功し、①+②+④は失敗しました。

◆考察
検証結果より、現時点ステートフルインスペクション機能は無いのでは?と考えていますが、以下の疑問が残っています。

別サイト記事でfirewalldは「ステートフルパケットインスペクション」が可能という記事を見つけましたが、「ステートフルインスペクション」とは別物であると考えたほうがいいのでは?と考えております。

また、firewall-cmdコマンド内のstateモジュールが適切に使用できているかが少し自信がないため、有識者にアドバイス頂きたいと考えています。

◆対象の別サイト記事
http://itpro.nikkeibp.co.jp/atcl/column/14/072400026/072400001/

以上になります。
お手数ですが、アドバイスをお願いいたします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

回答 2

checkベストアンサー

+2

direct ルールで OUTPUT チェインに DROP のルールを設定するのであれば、その前に inbound で受け取ったパケットの戻りパケットを許可するルールが必要と思います。

firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

firewalld は iptables のラッパーのようなもので、ある程度、ルールの順番を意識しなくてもいいような枠組みです。
また、firewalld の初期設定では、inbound に対する戻りは OUTPUT チェインで全許可し、outbound に対する戻りは INPUT チェインの最初のルールで ESTABLISHED,RELATED を許可しているので、「戻りパケットのルールを設定しなくてよい」→「ステートフル」につながるのだと思います。

ただし、direct ルールを利用するのであれば、firewalld の枠組みから外れるので、ルールの順番や戻りパケットを意識する必要があります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/13 16:03

    ご回答ありがとうございます。
    問題については自己解決しました。お恥ずかしい話ですが、③、④のコマンドが正しく動作していなかったのが原因だったようです。

    また、回答いただいた内容で、Firewalldの仕様をまとめることが出来たと思っています。ありがとうございます。
    つまりは、Firewalldの仕様だけで言うと「ステートフルではない」が答えになり、
    OUTPUT設定を基本は行わないという方針とすることでステートフルといっているだけと理解しました。実際の検証結果を見ている限り間違いなさそうです。

    キャンセル

0

別サイト記事でfirewalldは「ステートフルパケットインスペクション」が可能という記事を見つけましたが、「ステートフルインスペクション」とは別物であると考えたほうがいいのでは?と考えております。

「ステートフルインスペクション」も、「ステートフルパケットインスペクション」も同じだと思ってますが違いますかね?
前者はCheckPointのFirewall-1由来、後者はCiscoあたりでよく見る言葉くらいの認識です。

肝心の部分の回答は検証してみないとですが、とりあえず参考資料だけ置いておきますね。

ステート機構

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/13 16:06

    ありがとうございます。参考にさせていただきました。
    メーカや機器で呼び方が異なるだけで「同じ」であるという結論が正しそうですね。参考資料は今後の勉強に使わせて頂きます。

    キャンセル

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

  • ただいまの回答率 90.33%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • CentOS

    2833questions

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