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.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

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



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | プロトコル | 関連項目 | 規格 | 歴史 | バグ
IPSEC(4)           FreeBSD カーネルインタフェースマニュアル           IPSEC(4)

名称
     ipsec -- IP セキュリティプロトコル

書式
     options IPSEC
     options IPSEC_SUPPORT
     device crypto

     #include <sys/types.h>
     #include <netinet/in.h>
     #include <netipsec/ipsec.h>
     #include <netipsec/ipsec6.h>

解説
     ipsec は、ネットワークスタックのインターネットプロトコルレイヤ (層) 中に
     実装されたセキュリティプロトコルです。ipsec は IPv4 と IPv6 (inet(4)inet6(4)) の両方のために定義されます。ipsec は、IP データグラムのためのセ
     キュリティサービスを提供する、1 組のプロトコル、(カプセル化されたセキュリ
     ティペイロードのための) ESP, (認証ヘッダのための) AH と (IP ペイロード圧
     縮プロトコルのための) IPComp です。AH は、一方向ハッシュ関数を使用して計
     算された暗号のチェックサムをアタッチすることによって IP パケットの整合性
     を認証して、保証します。さらに、ESP は、ペイロード (訳注: ヘッダ部を除い
     たデータの本体) も暗号化することによって、IP パケットのペイロードを権限の
     ない人々が、読み込めないようにします。IPComp は、IP ペイロードを圧縮する
     ことによって、通信の性能を増強しようとします、その結果、送信するデータの
     量を減少させます。これは、十分なコンピューティングパワーが必要ですが、遅
     いリンクのノードを手助けします。ipsec は、2 つのモードの 1 つで動作しま
     す: 転送モードまたはトンネルモードです。転送モードは、エンドノード間のピ
     アツーピア通信を保護するために使用されます。トンネルモードは、オーバ IP
     パケット内の IP パケットをカプセル化して、VPN 終点のようなセキュリティ
     ゲートウェイのために設計されています。

     システム設定は、crypto(4) サブシステムを必要とします。

     外向きの暗号化の前と内向きの非カプセル化の後でパケットフィルタリングを実
     行するために、仮想の enc(4) インタフェースにパケットを渡すことができま
     す。

     ファイアウォールがある ipsec トンネルの内側のパケットで適切にフィルタする
     ためには、利用者は、次の sysctl の値を変更することができます。

     名前                             デフォルト 有効
     net.inet.ipsec.filtertunnel      0          1
     net.inet6.ipsec6.filtertunnel    0          1

   カーネルインタフェース
     ipsec は、オペレーティングシステムのカーネルに存在する、キー管理とポリシ
     エンジンによって制御されます。キー管理は、セキュリティアソシエーションが
     ある結合キーのプロセスです、また、SA として、知られています。ポリシ管理
     は、新しいセキュリティアソシエーションが作成されるか、破壊されるとき、決
     定します。

     キー管理エンジンは、PF_KEY ソケットを使用することによってユーザランドから
     アクセスすることができます。PF_KEY ソケット API は RFC2367 で定義されてい
     ます。

     ポリシエンジンは PF_KEY API、setsockopt(2) 操作、および sysctl(3) インタ
     フェースの拡張機能によって制御されます。カーネルは、PF_KEY インタフェース
     の拡張版を実装して、プログラマがパケットごとのフィルタと同様の IPsec ポリ
     シを定義できるようにします。setsockopt(2) インタフェースはソケットごとの
     振る舞いを定義するのに使用され、sysctl(3) インタフェースはホスト全体のデ
     フォルトの振る舞いを定義するために使用されます。

     カーネルコードは、IKE (インターネットキー交換 (Internet Key Exchange)) の
     ような動的暗号キー交換プロトコルを実装しません。キー交換プロトコルは、
     カーネルで必要であり、API を呼び出すデーモンプロセスのように実装されるべ
     きであるものを超えてます。

   ポリシ管理
     setsockopt(2) システムコールを使用してソケット毎のポリシを設定することに
     よって、または、利用者がパケットフィルタリング規則と同様の規則を使用して
     パケットに対して IPsec ポリシを定義することができる、setkey(8) を通して
     PF_KEY インタフェースを使用してカーネルレベルのパケットのフィルタベースの
     ポリシを設定することによる、2 つの方法の 1 つで IPsec ポリシを管理するこ
     とができます。それを使用する方法については setkey(8) を参照してください。

     ソケットのアドレスファミリに依存して、IPPROTO_IP または IPPROTO_IPV6 転送
     レベルと IP_IPSEC_POLICY または IPV6_IPSEC_POLICY ソケットオプションは、
     ソケットごとのセキュリティポリシを設定するために使用されます。
     ipsec_set_policy(3) 関数を使用して、適切に書式化された IPsec ポリシ指定の
     構造を作成することがで、setsockopt(2) 呼び出しのためのソケットオプション
     値として使用されます。

     setkey(8) コマンドを使用してポリシを設定するとき、``default'' オプション
     は、パケットを処理するために、以下で説明されるような、デフォルトポリシを
     使用するようにシステムに指示します。次の sysctl 変数はシステムの IPsec の
     振る舞いを設定するために利用可能です。変数は 2 つの値の 1 つを持つことが
     できます。1 は、セキュリティアソシエーションがあるなら、それを使用するこ
     とを意味する、``使用'' を意味しますが、なければ、パケットは IPsec によっ
     て処理されません。値 2 は、セキュリティアソシエーションは、移動し、落され
     ないパケットのために存在しなければならないことを要求する、``要求'' と同義
     です。これらの用語は ipsec_set_policy(8) で定義されています。

     名前                                 タイプ        変更可能性
     net.inet.ipsec.esp_trans_deflev      整数          yes
     net.inet.ipsec.esp_net_deflev        整数          yes
     net.inet.ipsec.ah_trans_deflev       整数          yes
     net.inet.ipsec.ah_net_deflev         整数          yes
     net.inet6.ipsec6.esp_trans_deflev    整数          yes
     net.inet6.ipsec6.esp_net_deflev      整数          yes
     net.inet6.ipsec6.ah_trans_deflev     整数          yes
     net.inet6.ipsec6.ah_net_deflev       整数          yes

     カーネルが一致 (matching)、システム全体(system wide)、ポリシ (policy) を
     見つけられなければ、デフォルト値が適用されます。システム全体のデフォルト
     ポリシは、次の sysctl(8) 変数によって指定されます。0 は ``廃棄'' を意味
     し、そしてそれは、カーネルにパケットを落すように頼みます。1 は ``何もな
     い'' を意味します。

     名前                           タイプ        変更可能性
     net.inet.ipsec.def_policy      整数          yes
     net.inet6.ipsec6.def_policy    整数          yes

   その他の sysctl 変数
     ipsec プロトコルが使用するために設定されるとき、すべてのプロトコルは、シ
     ステムに含まれています。プロトコルを選択的に有効にする/無効にするために
     は、sysctl(8) を使用します。

     名前                             デフォルト
     net.inet.esp.esp_enable          オン
     net.inet.ah.ah_enable            オン
     net.inet.ipcomp.ipcomp_enable    オン

     さらに、次の変数は、カーネルの IPsec の振る舞いを微調整するために
     sysctl(8) を通してアクセス可能です:

     名前                                 タイプ        変更可能性
     net.inet.ipsec.ah_cleartos           整数          yes
     net.inet.ipsec.ah_offsetmask         整数          yes
     net.inet.ipsec.dfbit                 整数          yes
     net.inet.ipsec.ecn                   整数          yes
     net.inet.ipsec.debug                 整数          yes
     net.inet.ipsec.natt_cksum_policy     整数          yes
     net.inet.ipsec.check_policy_history  整数          yes
     net.inet6.ipsec6.ecn                 整数          yes
     net.inet6.ipsec6.debug               整数          ye整数

     変数は次のように解釈されます:

     ipsec.ah_cleartos
             0 以外に設定されるなら、カーネルは AH 認証データ計算の間に、IPv4
             ヘッダの type-of-service フィールドをクリアします。この変数は、
             RFC1826 AH を実装するデバイスで相互運用するために現在のシステムを
             取得するために使用されます。それは RFC2402 適合のために (type-of
             service フィールドをクリアする) 0 以外に設定されるべきです。

     ipsec.ah_offsetmask
             AH 認証データ計算の間に、カーネルはこの変数で論理 AND を計算した
             後に、IPv4 ヘッダで 16 ビットのフラグメントオフセットフィールド
             (フラグビットを含んで) を含みます。この変数は、RFC1826 AH を実装
             するデバイスで相互運用するために使用されます。それは RFC2402 適合
             のために (計算の間にフラグメントオフセットフィールドをクリアする)
             0 に設定されるべきです。

     ipsec.dfbit
             この変数は IPv4 IPsec トンネルカプセル化でカーネルの振る舞いを設
             定します。0 に設定されるなら、外側の DF ヘッダ上の DF ビットはク
             リアされ、さらに 1 は外側の DF ビットが内側の DF ビットと関係なく
             設定されることを意味し、2 は DF ビットが内側のヘッダから外側の
             ヘッダまでコピーされることを示します。変数は RFC2401 章 6.1 に適
             合するために供給されています。

     ipsec.ecn
             0 以外に設定されるなら、IPv4 IPsec トンネルカプセル化/非カプセル
             化の振る舞いは draft-ietf-ipsec-ecn-02.txt で文書化されるように、
             ECN (明白な混雑通知 (explicit congestion notification)) に友好的
             です。(訳注: 意味不明) gif(4) では振る舞いに関してさらに説明して
             います。

     ipsec.debug
             0 以外に設定されるなら、デバッグメッセージは syslog(3) を通して生
             成されます。

     ipsec.natt_cksum_policy
             UDP カプセル化の ESP が IPsec 転送モードのために使用されるとき、
             カーネルがどのように TCP と UDP チェックサムを操作するかを制御し
             ます。0 でない値に設定されるなら、カーネルは、それらがカプセル化
             を解除し、暗号を解読された後に、着信 TCP セグメントと UDP データ
             グラムのためのチェックサムを完全に再計算します。0 に設定され、オ
             リジナルのアドレスが IKE デーモンによって対応する SA のために設定
             されていたなら、カーネルは、着信 TCP セグメントと UDP データグラ
             ムのためのチェックサムを追加的に再計算します。アドレスが設定され
             ていなかったなら、チェックサムは、無視されます。

     ipsec.check_policy_history
             着信パケットのために厳密なポリシチェックを有効可能にします。デ
             フォルトで、着信セキュリティポリシは、IPsec によって処理されたパ
             ケットが暗号解読されて、認証されていたことをチェックします。この
             変数が 0 の値に設定されるなら、IPsec によって処理される各パケット
             は、IPsec セキュリティアソシエーションのヒストリ (歴史) とチェッ
             クされます。IPsec セキュリティプロトコル、モードと SA アドレス
             は、一致していなければなりません。

     net.inet6.ipsec6 ツリー下の変数は、上で説明されたものと同様の意味がありま
     す。

プロトコル
     ipsec プロトコルは、inet(4)inet6(4) プロトコルへのプラグインのように
     動作し、そのために、それらの IP-レイヤ (層) プロトコルで定義されたプロト
     コルの大部分をサポートします。ipsec が、IP ペイロードを調べることから
     icmp(4) または icmp6(4) ルーチンを防ぐことができるので、icmp(4)icmp6(4) プロトコルは ipsec と異なって振る舞うかもしれません。

関連項目
     ioctl(2), socket(2), ipsec_set_policy(3), crypto(4), enc(4), if_ipsec(4),
     icmp6(4), intro(4), ip6(4), setkey(8), sysctl(8)

     S. Kent and R. Atkinson, IP Authentication Header, RFC 2404.

     S. Kent and R. Atkinson, IP Encapsulating Security Payload (ESP), RFC
     2406.

規格
     Daniel L. McDonald, Craig Metz, and Bao G. Phan, PF_KEY Key Management
     API, Version 2, RFC, 2367.

     D. L. McDonald, A Simple IP Security API Extension to BSD Sockets, イン
     ターネットドラフト, draft-mcdonald-simple-ipsec-api-03.txt, 作業中の資料.

歴史
     オリジナルの ipsec 実装は、WIDE/KAME IPv6/IPsec スタックで登場しました。

     FreeBSD 5.0 に関しては、fast_ipsec と呼ばれる完全に固定された IPsec 実装
     が導入されした。そのプロトコルは、IPsec プロトコルの OpenBSD 実装を大幅に
     引用しました。ポリシ管理コードは、それらの IPsec プロトコルにある KAME 実
     装に由来しています。fast_ipsec 実装は、ip6(4) サポートが不足しています
     が、crypto(4) サブシステムを利用していました。

     FreeBSD 7.0 に関して、ip6(4) サポートは fast_ipsec に追加されました。この
     後、古い KAME IPsec 実装は、落され、現在、fast_ipsec が FreeBSD での唯一
     の ipsec 実装であることになりました。

バグ
     ポリシエンジン API のための単一の標準はないので、ここで説明されたポリシエ
     ンジン API はまさしくこの実装のためです。

     利用者が予想するように、AH とトンネルモードのカプセル化は働かないかもしれ
     ません。利用者が AH トンネルで着信 ``require'' ポリシか AH で任意の IPsec
     カプセル化ポリシ (``esp/tunnel/A-B/use ah/transport/A-B/require'' のよう
     な) を設定するなら、トンネル化されたパケットは拒絶されます。ポリシチェッ
     クは、受信での内側のパケットで強制されるので、AH はカプセル化された (外側
     の) パケットを認証し、カプセル化された (内側の) パケットは認証しません
     (したがって、受信カーネルのために、信頼性のサインはありません)。我々がす
     べてのパケットの非カプセル化のヒストリを維持するためにポリシエンジンを改
     造するとき、問題は解決されるでしょう。

     セキュリティアソシエーションかポリシの大きなデータベースがカーネルに存在
     するとき、PF_KEY ソケットでの SADB_DUMP と SADB_SPDDUMP 操作は、スペース
     の不足のために失敗するかもしれません。ソケットバッファサイズを増強する
     と、この問題を軽減するかもしれません。

     IPcomp プロトコルは、zlib(3) の問題によって、時折エラーとなるかもしれませ
     ん。

     この文書は、より多くのレビューを必要とします。

FreeBSD 11.2                   February 6, 2017                   FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索