Re: ipfw firewall_type="open" が動かない?

From: Tomoaki AOKI <junchoon_at_dec.sakura.ne.jp>
Date: Sat, 08 Oct 2022 12:40:23 UTC
青木@名古屋です。

このtunable、すっかり忘れていました...。
法人なら(欲をいえば個人でも)オンプレミスでこの設定を
行ったハードなり仮想環境を使って充分テストした上で
この設定をしていない公開サーバに適用すべきでしょうね。

以前はそんなこと言っても個人で1台しか手許にないPCで
そんなテストできないよ、というのが普通でしたが、今なら
CPUコア数とメモリとディスク容量に余裕があればVirtualBox
上のゲストででもテストする手があるので、いい時代に
なりましたね...。


On Sat, 08 Oct 2022 14:55:43 +0900 (JST)
moto kawasaki <moto@kawasaki3.org> wrote:

> 
> ちょっと枝筋ですが、65535 の default deny ルールは、/boot/loader.conf
> に
> 
>     net.inet.ip.fw.default_to_accept=1
> 
> と書けば default allow ルールに変わります。(要再起動)
> Handbook の 31.4.3 Example Rules のところ(*)とか、man の ipfw(8) にも
> 記述があったはずです。
> (*) https://docs.freebsd.org/en/books/handbook/firewalls/
> 
> ソースまでは追っていませんが、ハードコードでデフォルトだと default
> deny になって、上記の loader.conf での設定で default allow にすること
> はできるということだと理解しています。
> 
> ipfw (に限らずfirewall) のルールをデバッグするときには、default allow
> にしておかないとすぐに締め出されてしまうので、おすすめ設定です。
> あ、でも、本番運用に入るまでには default deny に戻したほうがいいですね。
> 
> 
> 川崎拝
> 
> -- 
> moto kawasaki <moto@kawasaki3.org> +81-90-2464-8454
> 
> 
> 
> on Fri, 7 Oct 2022 21:16:55 +0900, Tomoaki AOKI <junchoon@dec.sakura.ne.jp> wrote:
> 
> > 青木@名古屋です。
> > 
> > もし「12.3 から 13.1 に乗り換え」がアップグレードで
> > あれば、/etc/の中身が適切に更新できていないという
> > 可能性が出てきますが、それはさておき。
> > /var/log/messagesの件について下記します。
> > 
> > 
> > On Fri, 7 Oct 2022 18:38:20 +0900
> > Yoshito Takeuchi <kinchan@kinchan.com> wrote:
> > 
> > > お騒がせしております。
> > > ipfw start したタイミングで /var/log/message に
> > > kernel: ipfw2 (+ipv6) initialized, divert loadable, nat loadable,
> > > default to deny, logging disabled
> > > と出ていました。これって、
> > > firewall_type="open"
> > > を認識していないって事なんでしょうか?
> > 
> > 改めてソースを見直してはいないのですが、これは/boot/kernel/ipfw.koか
> > /sbin/ipfwに設定可能な最大の番号(=最後に評価される)であらゆる
> > 接続を拒絶する設定がハードコードされているからかと。
> > 草地さんの例の
> > 
> > > 65535 deny ip from any to any
> > 
> > ですね。 この設定、/etc/rc.firewallには含まれていませんので、
> > ハードコードされていなければ出てくる筈がないのです。
> > なお、firewall_type="close"だと、同じ設定が65000番に駄目押しで
> > 追加されます。
> > 
> >  ※いずれも保険ですね。 ネットワーク接続自体がある意味
> >   リスク要因なので、何の設定もなければIP接続全て止める
> >   ようにハードコードされていて、さらに万一そのハード
> >   コードが誤って除去されてしまった場合に備えてcloseだと
> >   駄目押しの設定まで行う、と。
> > 
> > FreeBSDで標準で提供さてているファイアウォールにはipfwの
> > 他にもOpenBSD由来のpfやLinux由来のIPFilterもあるので、
> > ipfw設定のための/etc/rc.firewall以外に直接的な設定は
> > (標準では)記述されません。
> > 
> >  ※/etc/defaults/rc.confにはrc.firewallに渡す変数の
> >   例がありますが、具体的な登録内容はあくまでその変数を
> >   見て/etc/rc.firewallが行います。
> > 
> > > 
> > > 2022年10月7日(金) 17:46 FreeBSD あれこれ <bsd@sing.ne.jp>:
> > > >
> > > > To:竹内 さま
> > > >
> > > >  北山です。
> > > >
> > > > > ssh で接続しており、今まで何も問題なかったので
> > > > > いきなり rc.conf に
> > > > > firewall_enable="yes"
> > > > > firewall_type="open"
> > > > > と書いて、service ipfw start
> > > > > したら、無反応になりアクセス出来なくなりました。
> > > > > rc.conf に書いてあるので reboot しても繋がりませんでした。
> > > > > ので、vnc 経由でシングルモードにして、ee rc.conf して
> > > > > firewall_enable="yes" をコメントアウト、reboot と言う流れです。
> > > >
> > > > > そうですか、皆様の環境では firewall_type="open" 動作しているんですね。
> > > >
> > > >  そうですね。
> > > >
> > > > > 何故私の環境ではopenが機能しないのか、、何を調べれば良いんでしょうか?
> > > >
> > > >  シングルモードにできるということは コンソールログイン
> > > > できるということですので。
> > > >  コンソールログイン して  root 権限で。
> > > >
> > > >    service ipfw status で ipfw のサービス状態を確認
> > > >
> > > >  草地さん がやっているように
> > > >
> > > >    ipfw -a list で ipfw の状態を確認 という 流れで調べていけばいいのでは?
> > > >
> > > >  root 権限が 使えれば、ipfw の起動停止も
> > > >
> > > > service ipfw stop
> > > > service ipfw start
> > > >
> > > >  でできますから あれこれ 試せるかと思います。
> > > >
> > > >
> > > >
> > > 
> > 
> > 
> > -- 
> > 青木 知明  [Tomoaki AOKI]    <junchoon@dec.sakura.ne.jp>
> > 


-- 
青木 知明  [Tomoaki AOKI]    <junchoon@dec.sakura.ne.jp>