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

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

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

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

Q&A

解決済

2回答

12729閲覧

Firewalldの仕様について

pacokio

総合スコア18

CentOS

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

0グッド

0クリップ

投稿2017/02/10 07:58

現在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/

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

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

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

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

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

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

guest

回答2

0

ベストアンサー

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/10 09:30

TaichiYanagiya

総合スコア12141

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

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

pacokio

2017/02/13 07:03

ご回答ありがとうございます。 問題については自己解決しました。お恥ずかしい話ですが、③、④のコマンドが正しく動作していなかったのが原因だったようです。 また、回答いただいた内容で、Firewalldの仕様をまとめることが出来たと思っています。ありがとうございます。 つまりは、Firewalldの仕様だけで言うと「ステートフルではない」が答えになり、 OUTPUT設定を基本は行わないという方針とすることでステートフルといっているだけと理解しました。実際の検証結果を見ている限り間違いなさそうです。
guest

0

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

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

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

ステート機構

投稿2017/02/10 08:47

kanbeworks

総合スコア829

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

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

pacokio

2017/02/13 07:06

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問