[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [+] |
options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #print information about dropped packets options "IPFIREWALL_VERBOSE_LIMIT=100" #limit verbosity |
firewall_enable="YES" firewall_script="/etc/rc.firewall" firewall_quiet="NO" firewall_type="/some/where/ipfw.conf" |
firewall_type | 意味 |
---|---|
open | 制限なし |
client | クライアントとしての最小限な設定(※1) |
simple | ファイアウォールとしての最小限な設定(※2) |
その他 | 設定ファイルとみなし、ipfw コマンドの引数に渡す |
# ipfw add 1000 pass all from 127.0.0.1 to 127.0.0.1 |
# ipfw add 10000 deny log tcp from 192.47.224.0/24 to 192.46.224.211 23 |
/kernel: ipfw: 10000 Deny TCP 192.47.224.11:1026 192.47.224.211:25 via ep0 |
# ipfw add deny all from 192.47.224.0/24 to any in via ep0 |
あとはこれらの組み合わせとなります。
# ipfw -f flush # ipfw 設定ファイル |
ルール | 意味 |
---|---|
add 1000 pass all from 127.0.0.1 to 127.0.0.1 | ローカルホスト同士はなんでも通す |
add 2010 pass tcp from any to 192.47.224.211 80 setup | 192.47.224.211 への HTTP, FTP のコネクション確立要求 の TCP パケットを通す |
add 2010 pass tcp from any to 192.47.224.211 21 setup | |
add 2100 pass tcp from any to 192.47.224.211 established | 192.47.224.211 宛のコネクション確立済の TCP パケットを通す |
add 2500 pass all from 192.47.224.211 to any | 192.47.224.211 からのパケットをすべて通す |
(なし) | 上記に該当しないパケットをすべて落す(65535番のデフォルト) |
例えば、192.47.224.211 から他のホストに http で問い合わせる場合、 コネクション確立要求パケットは 2500番で許可されていますし、その 返事は 2100番で許可されていますので、問題ないことがわかります。
add 2050 pass udp from any 53 to 192.47.224.211 |
# ipfw file |
# ipfw flush |
# ipfw zero [number] |
# ipfw delete number |
# ipfw list |
# ipfw show |
# ipfw add [number] ... |
firewall_type | ルール | 意味 |
---|---|---|
open | add 65000 pass all from any to any | すべてのプロトコルのパケットを通す |
client | add pass all from ${ip} to ${net}:${mask} | 自マシン(${ip})とLAN(${net})とのすべてのプロトコル のパケットを通す |
add pass all from ${net}:${mask} to ${ip} | ||
add pass tcp from any to any established | コネクション確立済の TCP のパケットを通す | |
add pass tcp from any to ${ip} 25 setup | 自マシン宛の SMTP(25) へのコネクション確立要求の TCP パケットを通す | |
add pass tcp from ${ip} to any setup | ${ip}からのコネクション確立要求の TCP パケットを通す | |
add deny tcp from any to any setup | 上記に該当しないコネクション確立要求の TCP パケットを落す | |
add pass udp from any 53 to ${ip} | 自マシンからの DNS への問い合わせと返事を通す | |
add pass udp from ${ip} to any 53 | ||
add pass udp from any 123 to ${ip} | 自マシンからの NTP への問い合わせと返事を通す | |
add pass udp from ${ip} to any 123 | ||
simple | add deny all from ${inet}:${imask} to any in via ${oif} | 送り元を偽ったパケットを落す |
add deny all from ${onet}:${omask} to any in via ${iif} | ||
add deny all from 192.168.0.0:255.255.0.0 to any via ${oif} | RFC1918 で規定されたプライベートアドレスを用いたパケット を落す | |
add deny all from any to 192.168.0.0:255.255.0.0 via ${oif} | ||
add deny all from 172.16.0.0:255.240.0.0 to any via ${oif} | ||
add deny all from any to 172.16.0.0:255.240.0.0 via ${oif} | ||
add deny all from 10.0.0.0:255.0.0.0 to any via ${oif} | ||
add deny all from any to 10.0.0.0:255.0.0.0 via ${oif} | ||
add pass tcp from any to any established | コネクション確立済の TCP のパケットを通す | |
add pass tcp from any to ${oip} 25 setup | 自マシン(${oip})宛の SMTP へのコネクション確立要求の TCP パケットを 通す | |
add pass tcp from any to ${oip} 53 setup | 自マシン(${oip})宛の DNS へのコネクション確立要求の TCP パケットを 通す | |
add pass tcp from any to ${oip} 80 setup | 自マシン(${oip})宛の HTTP へのコネクション確立要求の TCP パケット を通す | |
add deny log tcp from any to any in via ${oif} setup | 上記以外の自マシン(${oip})宛のコネクション確立要求の TCP パケット を落す | |
add pass tcp from any to any setup | 上記以外のコネクション確立要求の TCP パケットを通す | |
add pass udp from any 53 to ${oip} | 自マシン(${oip})宛の DNS の問い合わせと返事を通す | |
add pass udp from ${oip} to any 53 | ||
add pass udp from any 123 to ${oip} | 自マシン(${oip})宛の NTP の問い合わせと返事を通す | |
add pass udp from ${oip} to any 123 |
[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [-] | |
usu@usupi.org | Last modified : Wed Jun 6 14:39:00 2001 |