web-dev-qa-db-ja.com

LinuxカーネルのIPsec

LinuxカーネルのIPsecの実装とそのユーザースペースインターフェイスに関連するいくつかの問題(質問)があります。

  1. 最大の問題は、LinuxカーネルIPsec実装の実際の公式プロジェクトはどれですか?私が理解したところ、実装はKameプロジェクトのフォークですが、友人はこれは真実ではないと言いました。彼らの公式ウェブサイトとレポはどれですか?
  2. カーネルドキュメントソースのどこに関連するメモがありますか?
  3. どのユーザー空間フロントエンドが主に使用されていますか? ip-toolsまたはiproute2パッケージ?これら2つは同じアプローチを採用していますか、それとも一方の方がオーバーヘッドが大きくなっていますか?
  4. 私が見てきたことから、iproute2 IPsecトランスポートモードのチュートリアルは、設定ファイルをロードするための「setkey」ユーティリティに関連しています。 「setkey」は実際にiproute2パッケージに使用されていますか、それとも誤解されていますか? 「setkey」はip-toolsから「racoon」に接着されていますか、それとも構成の読み込みのための一般的なアプリケーションですか? 「setkey」は実際に何をしますか(私はこれについて非常に混乱しています)?
7
Catalin Vasile
  1. 2.6以降のLinuxカーネルに統合されたIPsecスタック(NETKEY)は、もともとKAMEスタックに基づいていました(少なくともAPIに関しては)。ソースコードは カーネルリポジトリ の一部であり、Netlink/XFRM構成インターフェイスの実装を含め、主要なコンポーネントはnet/xfrmフォルダーにあります。代替の 標準化 (ただし多少拡張された)PF_KEYv2インターフェースの実装は、net/keyフォルダーにあります。
  2. ドキュメントはあまりありません。ただし、Documentation/networkingフォルダを確認してください。
  3. IPsec SAとポリシーの手動構成(手動キーイング)を行う場合は、iproute2をお勧めします。より強力なNetlink/XFRMインターフェースを使用し、パッケージはデフォルトでほとんどのディストリビューションにインストールされます。ただし、通常は、ユーザーランドが提供する自動キーイングを使用します [〜#〜] ike [〜#〜] strongSwan、Open/libreswan、racoon(ipsec-tools)などのデーモンを使用します。 SAとポリシーを手動でインストールする必要はなく、IKE中にDiffie-Hellmanを介して確立された一時的な暗号化/整合性キーを取得します。キーの再生成と呼ばれる、新しいキーの定期的な自動ネゴシエーションも可能です。
  4. setkeyは、手動キーイング用のipsec-toolsパッケージによって提供されます。iproute2パッケージとは関係ありません。 iproute2では、ip xfrmコマンドを使用して、SAとポリシーを手動で構成します。どちらのコマンドもSADと直接対話し、カーネル内のSPD( RFC 4301 を参照)でIPsec SAとポリシーを手動で管理します。setkeyracoonなどのBSDベースのツールはPF_KEYv2インターフェイスを使用するため、ip xfrmコマンドよりも強力ではありません。たとえば、Linuxでは、PF_KEYv2で拡張シーケンス番号またはマークを構成できません。
15
ecdsa