Pages

2011/04/23

Vyattaで作るTransparent FireWall その3/n

前回で作成したブリッジを使い、FireWallを設定します。
 

 

基本は全てbr0へinのルールで設定


何度も言うようだがeth0とeth1はブリッジ。
つまりIPアドレスに関して、どちらがIn側/Out側という概念はありません。

br0を通過しようとする時点でのパケットに対してSource/Destinationを中心にルールを記述していくため、Vyatta上でFWルールはbr0に対するinトラフィックに適用します。
 


DMZから外向きの設定


接続はこのようになっていることを想定。

画像:VyattaとDMZホスト

DMZのホスト達はグローバルなIPが振られ、インターネット上のホストと自由に通信ができているはず。

これらのDMZホストから自由に通信ができて、かつDMZホスト宛の通信を任意に遮断します。
 

DMZ側のホストをグループにする


ホストはまとめて任意の名前でグループ化することができ、ルール設定にも使えます。

グループ化しておかないとすべてのホスト毎に設定を繰り返す羽目になるのでこれはありがたい。

set firewall group address-group dmzhosts description "dmz address"
set firewall group address-group dmzhosts address 192.0.2.50
set firewall group address-group dmzhosts address 192.0.2.55
set firewall group address-group dmzhosts address 192.0.2.101-192.0.2.200


アドレスは単体でも範囲でも指定できます。
 

DMZから外への通信を許可


まずデフォルトポリシーをDropに設定します。※テスト時はRejectのほうが使いやすい。
Vyattaのデフォルト=ルール番号10000で、最後に適用されるルールになります。

set firewall name ruleset01 default-action drop


ICMPの通過、established,relatedのパケット許可、SourceがdmzhostsグループのIPなら通信を許可します。
ルールにはすべてaccept またはdrop(reject)の設定が必要なので、最初に書いてから条件を入れていくのがよいでしょう。

set firewall name ruleset01 rule 1 action accept
set firewall name ruleset01 rule 1 protocol icmp
set firewall name ruleset01 rule 1 icmp type-name any
set firewall name ruleset01 rule 2 action accept
set firewall name ruleset01 rule 2 state established enable
set firewall name ruleset01 rule 2 state related enable
set firewall name ruleset01 rule 3 action drop
set firewall name ruleset01 rule 3 state invalid enable
set firewall name ruleset01 rule 4 action accept
set firewall name ruleset01 rule 4 source group address-group dmzhosts


ルール4でSourceがdmzhosts ならaccept していますね。
ルール2では、セッション確立済みや関連パケットも通すようにすることで、戻りの通信をaccept。

DNS(udp53)などもルール2の記述があればOKなので、related に入ってるのかと思う。
 
 


br0のinにFireWallルールを適用


FireWallのルールセットをインターフェイスに適用すれば見事TransParent FireWallの完成。

set interfaces bridge br0 firewall in name ruleset01
commit



※解除する場合はこう
delete interfaces bridge br0 firewall in name ruleset01

 
 
 

次回はDMZ宛の許可ルール設定。
まあDestination Portを指定するくらいなので大したことではないね。
 

1 件のコメント:

Vyattaで作るTransparent FireWall その2/n | SawanoBlog 2G さんのコメント...

[...] ょっかいが出せるようになりました。 次はようやくFirewall設定かな。 [...]

コメントを投稿