IPFWでパケットフィルター型ファイアーウォールを立てることは前述したと思いますが、サーバー公開で実際どうなっているかを見てみます。

各ルールファイルの内容は

■公開(Web)側サーバー

add 1000 allow ip from 192.168.★.★/32 to any
add 1010 allow all from 192.168.★.0/24 to 192.168.★.★/32
add 1100 allow ip from any to any 80
add 1110 allow ip from any to any 443
add 1120 allow ip from any to any 25
add 1121 allow ip from any to any 587

実際に状況を見てみると、

# ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
01000 allow ip from 192.168.★.★★ to any
01010 allow ip from 192.168.0.0/24 to 192.168.0.132
01100 allow ip from any to any dst-port 80
01110 allow ip from any to any dst-port 443
01120 allow ip from any to any dst-port 25
01121 allow ip from any to any dst-port 587
65535 deny ip from any to any

です。外部からはhttp,https,smtp,smtpリレーしか通っていません。

ローカル側は何でもありですね。(まあいいか)


■DB側サーバー

add 1000 allow ip from 192.168.0.0/24 to 192.168.★.☆☆/32


ですから外側からは一切パケットを通しません。ローカルセグメントからだけアクセスできます。このようにDBサーバーを保護しているわけです。

あとアプリケーションレベルで色々ガードはありますが、最低限ネットワークレベルではこんな感じです。