FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ファイアウォールの基本 | IPFW カーネル設定 | IPFW ベースのファイアウォールのサンプル | 内部と外部のサービスのポートバインディング | 関連項目 | 関連文書 | 歴史
FIREWALL(7)             FreeBSD 多方面の情報マニュアル             FIREWALL(7)

名称
     firewall -- FreeBSD 下での簡単なファイアウォール

ファイアウォールの基本
     ファイアウォールは、通常、内部のネットワークへの任意の接続を行うことか
     ら、外部のネットワークを防止することによって、外部のネットワークから内部
     のネットワークを保護するために使用されます。また、ファイアウォールは、内
     部の IP アドレスを偽装することから外部のエンティティを防止するために、そ
     して LAN セグメント内の NFS または SMBFS (Windows ファイル共有) のような
     サービスを分離するために使用されます。

     FreeBSD のファイアウォールシステムは、dummynet(4) を使用して帯域幅を制限
     する機能もあります。利用者が重要な (critical) 目的のために帯域幅の特定の
     量を保証する必要があるとき、この機能を役に立てることができます。例えば、
     利用者がオフィス T1 (1.5 メガビット/秒) を通してインターネット上でテレビ
     会議を行なっているなら、利用者は、テレビ会議の接続のために少なくとも 0.5
     メガビットを確保するためにすべての他の T1 トラフィックを 1 メガビット/秒
     に帯域幅の制限することを望むでしょう。同様に、利用者が、共同の場所の施設
     から一般的なウェブまたは、ftp サイトを実行しているなら、利用者のプロバイ
     ダからの過度な帯域幅の料金の請求を防ぐために帯域幅を制限したいかもしれま
     せん。

     最後に、FreeBSD のファイアウォールは、パケットを迂回させるか、またはそれ
     らを正しい宛先への経路制御を助けるためにパケットのための次の中継点のアド
     レスを変更するために使用されます。パケットの迂回は、ブラウズすることまた
     は他の目的のために外側への接続を行うためにプライベート IP 空間を使用して
     内部のネットワークを許可する、NAT (ネットワークアドレス変換) をサポートす
     るためにほとんどの場合に使用されます。

     ファイアウォールを構成することは、普通のことと思われますが、ほとんどの人
     々は、それらを誤解しています。最も一般的な誤りは、包括的なファイアウォー
     ルではなく排他的なファイアウォールを作成することです。排他的なファイア
     ウォールは、規則のセットと一致しているものを除いて、すべてのパケット通す
     ことを許可します。包括的なファイアウォールは、ルールセットを通して一致し
     ているパケットだけを許可します。包括的なファイアウォールは、排他的なファ
     イアウォールより、ずっと安全ですが、適切に構築することがより困難です。2
     番目に最も一般的な誤りは、利用者が通過させたい特定のポートを除いて、すべ
     てブラックホールにすることです。TCP/IP は、適切に機能する ICMP エラーの特
     定のタイプを取得することができる必要があります - 例えば、MTU ディスカバリ
     を実装するためです。また、多くの共通のシステムデーモンは、接続を行ってい
     るユーザを認証する試みで auth サービスへの逆の接続を行います。auth は、ど
     ちらかといえば危険ですが、適切な実装は、パケットを単にブラックホール化す
     るのではなく、接続の試みのために TCP リセットを返すことです。これらとサン
     プルのファイアウォールセクションでファイアウォールを構築して他の呼び出さ
     れる行動をカバーします。

IPFW カーネル設定
     利用者は、IP のファイアウォールの機能を使用するために、カスタムのカーネル
     を作成する必要はありません。利用者が、/etc/rc.conf (以下で参照) でファイ
     アウォールを有効にするなら、ipfw カーネルモジュールは、必要なとき、自動的
     にロードされます。しかしながら、利用者がこだわり過ぎであるなら IPFIREWALL
     オプションの設定を使用することによって、IPFW を FreeBSD カーネルに直接コ
     ンパイルすることができます。カーネルにコンパイルされているなら、ipfw は、
     デフォルトですべてのパケットを拒否します、ということはつまり、利用者が
     /etc/rc.conf を通して許容ルールセットにロードしないなら、利用者の新しい
     カーネルにリブートすることは、ネットワークをオフラインにします。これは、
     利用者がコンソールの前にいないなら、利用者がシステムにアクセスすることが
     できないように防止することができます。また、バイナリを更新する前に新しい
     リリースにカーネルを更新しリブートすることはきわめて一般的です。これは、
     ブートシーケンスで実行していることからそれを防止する ipfw(8) プログラムと
     カーネルの間の非互換性を結果となり、また、マシンにアクセスできなきなりま
     す。これらの問題のために、IPFIREWALL_DEFAULT_TO_ACCEPT カーネルオプション
     は、また、すべてのパケットを通過するためにデフォルトのファイアウォールを
     変更することが利用可能です。しかしながら、このオプションを使用すること
     は、利用者のファイアウォールがすべてのパケットを通過するところで、ブート
     の間に格好の小さいウィンドウをオープンすることに注意してください。それで
     も、それは、FreeBSD のファイアウォール化で期待通りの速さで取得する間に使
     用するための良いオプションです。いったん利用者が、抜け穴を閉じるために、
     すべてがどのように、動作するかを理解したなら、それを取り除きます。利用者
     がパケットをユーザプログラムに変換するためにファイアウォールを使用するこ
     とを許可する、IPDIVERT と呼ばれる 3 番目のオプションがあり、外側の世界に
     アクセスするプライベートな内部ネットワークを与えるために natd(8) を使用す
     ることを望むなら、必要とされます。利用者が、トラフィックの特定のタイプに
     よって使用された帯域幅を制限することを望んでいるなら、DUMMYNET オプション
     は、ipfw pipe を有効にするために使用されなければなりません。

IPFW ベースのファイアウォールのサンプル
     ここに、3 つのインタフェースカードがあるマシンから取られる ipfw ベースの
     ファイアウォールの例を示します。fxp0 は、'公開されている' に接続していま
     す。この LAN のマシンは、内部の 10. IP アドレスとインターネットの経路制御
     のアドレスの両方でデュアルホームです。この例で、192.100.5.x は、インター
     ネットの経路制御された IP ブロックを表し、一方、10.x.x.x は、内部のネット
     ワークを表します。それが例に関連していませんが、10.0.1.x は、fxp0 の LAN
     のための内部のアドレスブロック、fxp1 の LAN のための 10.0.2.x と fxp2 の
     LAN のための 10.0.3.x として割り当てられます。

     この例で、お互いにそれらを分離するのと同様に、インターネットからすべての
     3 つの LAN を分離し、このマシンで実行している NAT ゲートウェイを通してイ
     ンターネットにすべての内部のアドレスのアクセスを与えます。NAT ゲートウェ
     イを動作させるために、ファイアウォールのマシンは、fxp0 の内部の 10. のア
     ドレスに加えて、fxp0 の 2 つのインターネットに公開されたアドレスを与えら
     れます。1 つの公開されたアドレス (表示されない) は、マシンの公式なアドレ
     スを表し、2 番目の公開されたアドレス (例では 192.100.5.5) は、NAT ゲート
     ウェイ集合する IP を表しています。公開されたアドレスと同様に、公開された
     LAN の内部の 10.0.0.x アドレスのマシンに与えることによって例をより複雑に
     します。ここのアイデアは、利用者が、内部のサービスを公開されたマシンでさ
     え内部のアドレスとバインドすることができ、それでもインターネットからそれ
     らのサービスを保護できることです。利用者が、公開された IP アドレスで実行
     するサービスだけが、利用者が、インターネットに公開したいものです。

     この例の 10.0.0.x ネットワークがファイアウォールによって保護されないこと
     に注意することは、重要です。利用者は、インターネットのルータが、このネッ
     トワークを外側のなりすましから保護することをよく確かめなければなりませ
     ん。また、この例で、内部の IP アドレス (10.0.0.x) を通してサービスを実行
     しているとき、内部のネットワークで、領域を解放する公開されたホストをまさ
     に与えます。これは、セキュリティ上の危険が多少あります: 公開されたホスト
     が信用できないならどうなるでしょうか ?  危険を取り除き、ファイアウォール
     を通過するために LAN0 を経由して、着信しているすべてを強制するためには、
     ルール 01010 と 01011 を削除します。

     最後に、内部のアドレスの使用は、ファイアウォール保護メカニズムの大きな部
     分を表していることに注意してください。適切で、適所な、なりすましの予防手
     段は、外側は、内部 (LAN1 または LAN2) のホストに直接アクセスすることはで
     きません。

     # /etc/rc.conf
     #
     firewall_enable="YES"
     firewall_type="/etc/ipfw.conf"

     # ファイアウォールを通過する一時的なポートのバインドの範囲.
     #
     # 注: ファイアウォールを通して実行している重い負荷のサービスは,
     # ローカルサイズのバインドのためにより大きなポート範囲を必要とします.
     # 4000-10000 または 4000-30000 が, よりよい選択であるかもしれません.
     ip_portrange_first=4000
     ip_portrange_last=5000
     ...

     # /etc/ipfw.conf
     #
     # FIREWALL: ファイアウォールマシン / nat ゲートウェイ
     # LAN0      10.0.0.X と 192.100.5.X (2 重のホーム)
     # LAN1      10.0.1.X
     # LAN2      10.0.2.X
     # sw:       イーサネットスイッチ (管理されない)
     #
     # 192.100.5.x は, インターネットに公開された IP アドレスを
     # 表しています (すなわち, 経路制御可能なインターネット).
     # 10.x.x.x は, 内部の IP を表しています (公開されない)
     #
     #   [LAN1]
     #      ^
     #      |
     #   FIREWALL -->[LAN2]
     #      |
     #   [LAN0]
     #      |
     #      +--> 公開された host A
     #      +--> 公開された host B
     #      +--> 公開された host C
     #      |
     #   インターネット (2 番目のファイアウォール)
     #   ルータ
     #      |
     #    [Internet]
     #
     # 表示されない:
     # 「インターネットルータ」は, 2 重のホームの 10.0.0.x ブロックを
     # 保護するために 10. ブロックの発信元 IP アドレスですべての
     # パケットを許可しないルールを含んでいなければなりません.
     # そうでなければ, 公開されたホストは, この例で保護されません - それらは,
     # 公開されたサービスを, 公開された IP にバインドのみを行うべきですが,
     # 内部のサービスを内部の IP に安全にバインドすることができます.
     #
     # NAT ゲートウェイは, 内部の IP アドレスから外部の IP アドレスに
     # 送信されたパケットを取り, ポート 8668 で listen (接続を受け付け) している
     # natd に, それらを経路制御することによって動作します.
     # これは, ルール 00300 によって処理されます.
     # 外側の世界から natd に返ってくデータは, また, ルール 00301 を使用して
     # natd に経路制御されなければなりません.
     # 例を面白いものにするために, それらは, 私達の 10. ネットワークに関して
     # 知っているホストを公開するので, 私達は, natd (ルール 00290) を通る
     # ホストを公開するために内部の要求を実行してはならないことに注意します.
     # これは, natd での負荷を減らすことができます.
     # また, もちろん, それらのホストが, 10. 内部のネットワークを経路制御する
     # 方法を知っているので, natd を通して内部 <-> 内部トラフィックを
     # 経路制御する必要がないことに注意してください。
     # /etc/rc.local から実行する natd コマンドは, 以下に表示されています.
     # また, natd, ipnat のカーネル内バージョンも参照してください.
     #
     #       natd -s -u -a 208.161.114.67
     #
     #
     add 00290 skipto 1000 ip from 10.0.0.0/8 to 192.100.5.0/24
     add 00300 divert 8668 ip from 10.0.0.0/8 to not 10.0.0.0/8
     add 00301 divert 8668 ip from not 10.0.0.0/8 to 192.100.5.5

     # 全体のルールセットを通して高い帯域幅で実行することを避けるためにルールを
     # ショートカットします。
     # 確立された tcp 接続を通すことを許可し, ファイアウォールの着信してくる
     # パケットだけが必要であるという仮定の下で, すべての発信するパケットを
     # ショートカットします.
     #
     # 確立された tcp 接続を通すことを許可することは, 小さい (セキュリティ)
     # ホールを作成しますが, 利用者のファイアウォールへの過負荷を
     # 避けるために必要であるかもしれません.
     # 心配であるなら, 利用者は, なりすましのチェックの後にルールを
     # 移動することができます.
     #
     add 01000 allow tcp from any to any established
     add 01001 allow all from any to any out via fxp0
     add 01001 allow all from any to any out via fxp1
     add 01001 allow all from any to any out via fxp2

     # なりすましの保護.
     # これは, どのくらいよく利用者が, 内部のネットワークを信頼するかに
     # 依存しています.
     # fxp1 を通して受信されるパケットは, 10.0.1.x から来たもので
     # 「なければなりません」.
     # fxp2 を通して受信されるパケットは, 10.0.2.x から来たもので
     # 「なければなりません」.
     # fxp0 を通して受信されるパケットは, LAN1 または LAN2 ブロックから
     # 来ることができません.
     # 私達は, ここで 10.0.0.x を保護することができません,
     # インターネットルータは, 私達のためにそれを行わなければなりません.
     #
     add 01500 deny all from not 10.0.1.0/24 in via fxp1
     add 01500 deny all from not 10.0.2.0/24 in via fxp2
     add 01501 deny all from 10.0.1.0/24 in via fxp0
     add 01501 deny all from 10.0.2.0/24 in via fxp0

     # この例のルールセットで, (それらが内部の IP アドレスを使用する限り)
     # 公開された LAN のホストでさえ, 内部のホストの間に制限はありません.
     # これは, (もし公開されたホストがセキュリティ侵害されたらどうなる
     # でしょう?) 潜在的なセキュリティホールを表しています.
     # 利用者が 3 つの LAN の間で完全な制限を適用したいなら, 追加された
     # セキュリティのためにお互いにオフにされたそれらをファイアウォール化し,
     # これらの 2 つのルールを削除します.
     #
     # 利用者が, LAN1 と LAN2 を孤立させたいけれども, まだ, お互いに,
     # 自由に主権を握る公開されたホストに与えたいなら, ルール 01010 を取り除き,
     # ルール 01011 を保持します.
     # (コメントアウトされてます, ファイアウォールの制限を少なくするためには,
     # コメントを取り除きます)
     #add 01010 allow all from 10.0.0.0/8 to 10.0.0.0/8
     #add 01011 allow all from 192.100.5.0/24 to 192.100.5.0/24
     #

     # 特有の LAN から許可される特有のサービス
     #
     # より制限しているファイアウォールを使用するなら, 特有の LAN アクセスは,
     # ファイアウォール自体で実行している特有のサービスを許可します.
     # この場合に, ファイアウォールで実行しているファイル共用へのアクセスを
     # 必要とする LAN1 を仮定します.
     # (許可ルール 01010 を許可している) ファイアウォールの少ない制限を
     # 使用しているなら, 利用者は, これらのルールを必要としません.
     add 01012 allow tcp from 10.0.1.0/8 to 10.0.1.1 139
     add 01012 allow udp from 10.0.1.0/8 to 10.0.1.1 137,138

     # 内部と公開された LAN を横断する許可される一般的サービス
     #
     # 次を通る特有の UDP サービスを許可します: DNS lookups, ntalk と ntp.
     # 内部のサービスは, これらのルールは, 公開された IP にバインドされる
     # サービスにのみ実際に適用されるので, なりすまし試験 (spoof-proof) の
     # 内部の IP アドレス (10. net) がある価値によって保護されることに
     # 注意してください.
     # UDP フラグメントを許可しなければならないか, またはより大きな
     # フラグメント化された UDP パケットは, ファイアウォールを乗り切ることが
     # できません.
     #
     # DNS 検索の応答のようなもののための大きく番号付けられた一時的な
     # サービスポートを公開したいなら, ポート範囲を使用することができます,
     # この例 4000-65535 で, それらが, 一時的なポートを公開されたポート範囲
     # (上記の rc.conf の例を参照) にバインドすることを確かめるためにすべての
     # 公開されたマシンで /etc/rc.conf 変数に設定します.
     #
     add 02000 allow udp from any to any 4000-65535,domain,ntalk,ntp
     add 02500 allow udp from any to any frag

     # TCP のための同様なサービスを許可します.
     # 再び, これらは, 公開されたアドレスにバインドされたサービスにだけ
     # 適用されます.
     # 注: 'auth' を通すことを許可しますが, あらゆる公開されたポートの identd
     # サーバで実際に実行しません.
     # これは, TCP RESET で応答する auth 化されたマシンを許可します.
     # パケットを捨てることは, 逆の ident 検索するリモートのサービスに
     # 接続するとき, 遅延の結果となります.
     #
     # tcp フラグメントを通すことを許可せず, (UDP フラグメントを除いて)
     # 一般的にフラグメントを許可しないことに注意してください.
     # TCP フラグメントでないようにするべきなので, 適切に動作するために
     # TCP MTU 発見プロトコルに期待しています.
     #
     add 03000 allow tcp from any to any http,https
     add 03000 allow tcp from any to any 4000-65535,ssh,smtp,domain,ntalk
     add 03000 allow tcp from any to any auth,pop3,ftp,ftp-data

     # 特定の ICMP タイプを通すことを許可することは重要です,
     # ここに, 一般的な ICMP タイプのリストを示します.
     # ICMP タイプ 3 を通すことは重要であることに注意してください.
     #
     #       0       エコー応答
     #       3       宛先到達不能 (TCP MTU 発見によって使用されます, 別名,
     #                                       パケットが大きすぎる)
     #       4       発信元抑制 (通常, 許可されません)
     #       5       リダイレクト (通常, 許可されません -
     #                                       危険であるかもしれません!)
     #       8       エコー
     #       11      時間超過
     #       12      パラメータ問題
     #       13      タイムスタンプ
     #       14      タイムスタンプ応答
     #
     #
     # 時々, 人々は, タイプ 5 である ICMP REDIRECT パケットを許可する必要が
     # ありますが, 利用者が, それを許可するなら, 利用者のインターネットルータが
     # それを許可しないことを確かめてください.

     add 04000 allow icmp from any to any icmptypes 0,3,8,11,12,13,14

     # 通過するあらゆる残りのフラグメントをログ記録します.
     # 役に立つかもしれません, そうでなければ, 迷惑になりません.
     # どんなにカーネルが設定されようとも, 利用者のファイアウォールが,
     # 包括的であることを保証するために安全なように最終の deny ルールが
     # あります.
     #
     add 05000 deny log ip from any to any frag
     add 06000 deny all from any to any

内部と外部のサービスのポートバインディング
     マルチホーミングホストと内部または外部のアドレスとのバインドサービスに言
     及しましたが、それを実際に説明しませんでした。利用者が、それに割り当てら
     れた複数の IP アドレスがあるホストがあるとき、利用者は、すべての IP では
     なく、特有の IP またはインタフェースのそのホストで、実行するサービスをバ
     インドすることができます。例えば、次のファイアウォールのマシンを取り上げ
     ます: それらのインタフェースの 1 つで、3 つのインタフェースと 2 つの公開
     された IP アドレスがあり、ファイアウォールのマシンは、5 つの異なった IP
     アドレス (10.0.0.1, 10.0.1.1, 10.0.2.1, 192.100.5.5 と 192.100.5.1) に
     よって知られています。ファイアウォールが、Windows の LAN セグメント (それ
     を LAN1 とします) へのファイル共有サービスを提供するなら、利用者は、特
     に、まさに LAN1 の IP アドレスに、それをバインドするために、samba の
     'bind interfaces' ディレクティブを使用することができます。そのように、
     ファイル共有サービスは、他の LAN セグメントを利用可能にしません。同じこと
     が、NFS にも当てはまります。LAN2 に利用者の UNIX エンジニアリングワークス
     テーションがあるなら、利用者は、特に nfsd に、10.0.2.1 までバインドするよ
     うに指示することができますであろう。利用者は、マシンで実質的にすべての
     サービスをどのようにバインドするかを指定することができ、そして、利用者
     は、そうでなければオプションを与えない間接的にバインドされるサービスに軽
     い jail(8) を使用することができます。

関連項目
     dummynet(4), ipnat(5), rc.conf(5), smb.conf(5) (ports/net/samba),
     samba(7) (ports/net/samba), config(8), ipfw(8), ipnat(8), jail(8),
     natd(8), nfsd(8)

関連文書
     Ipfilter
             ipf(5), ipf(8), ipfstat(8)

     Packet Filter
             pf.conf(5), pfctl(8), pflogd(8)

歴史
     firewall マニュアルページは、最初に、Matthew Dillon によって書かれまし
     た、そして 2001 年 5 月に FreeBSD 4.3 ではじめて登場しました。

FreeBSD 11.4                     May 26, 2001                     FreeBSD 11.4

Table of Contents

FreeBSD マニュアル検索