2.7.2. Openswan

Openswan は、Red Hat Enterprise Linux 6 で利用可能なオープンソースのユーザースペース IPsec 実装です。ユーザーレベルのデーモンとして実装される、鍵を確立するプロトコルである IKE (インターネット鍵交換) v1 および v2 を使用します。ip xfrm コマンドで手動の鍵の確立も可能ですが、これは推奨されません。Openswan は、netlink を使って Linux カーネルとインターフェイス接続し、暗号化鍵を送信します。パケットの暗号化と暗号解読は、Linux カーネルで行われます。
暗号化サポート

Openswan は、FIPS セキュリティのコンプライアンスに必要な NSS (Network Security Services: ネットワークセキュリティサービス) の暗号化ライブラリを使用します。FIPS (Federal Information Processing Standard: 連邦情報処理規格) については、「連邦情報処理標準 (FIPS: Federal Information Processing Standard)」を参照してください。

インストール

Openswan をインストールするには、yum install openswan コマンドを実行します。

2.7.2.1. 設定

場所

このセクションでは、Openswan の設定に使用される重要なディレクトリーとファイルについて説明します。

  • /etc/ipsec.d - Openswan 関連のファイルを保存するメインディレクトリーです。
  • /etc/ipsec.conf - マスター設定ファイル。個々の設定用に、追加の *.conf 設定ファイルを /etc/ipsec.d に作成できます。
  • /etc/ipsec.secrets - マスター secrets ファイル。個々の設定用に、追加の *.secrets ファイルを /etc/ipsec.d に作成できます。
  • /etc/ipsec.d/cert*.db - 証明書データベースファイル。古いデフォルトの NSS データベースファイルは cert8.db です。Red Hat Enterprise Linux 6 以降、NSS SQLite データベースは cert9.db ファイルで使用されています。
  • /etc/ipsec.d/key*.db - 鍵データベースファイル。古いデフォルトの NSS データベースファイルは key3.db です。Red Hat Enterprise Linux 6 以降、NSS SQLite データベースは key4.db ファイルで使用されています。
  • /etc/ipsec.d/cacerts - 認証局 (CA) の証明書の以前の場所です。CA 証明書は、NSS データベースファイルにインポートすることが推奨されます。この場所は、Red Hat Enterprise Linux の次のバージョンでは廃止となります。
  • /etc/ipsec.d/certs - マシンの証明書の以前の場所です。マシン証明書は、NSS データベースファイルにインポートすることが推奨されます。この場所は、Red Hat Enterprise Linux の次のバージョンでは廃止となります。
  • /etc/ipsec.d/policies - 日和見暗号化グループポリシーです。Red Hat Enterprise Linux 6 では使用されていません。
  • /etc/ipsec.d/nsspassword - NSS パスワードファイル。このファイルはデフォルトでは存在せず、使用中の NSS データベースがパスワードを使って作成されると必要になります。
グローバル設定のパラメーター

本セクションでは、/etc/ipsec.conf の グローバル config setup セクションで利用可能な設定オプションをいくつか説明します。

  • protostack - どのプロトコルスタックを使用するかを定義します。Red Hat Enterprise Linux 6 のデフォルトオプションは netkey です。他の有効な値は klips および mast です。これら代替の IPsec カーネルスタックは、Red Hat Enterprise Linux が対応していないサードパーティーのカーネルモジュールを必要とします。代替スタックは通常、埋め込み Linux デバイスと使用されます。
  • nat_traversal - NAT-トラバーサル (RFC 3947) が接続に使用可能かどうかを定義します。デフォルトでは、使用可能です。
  • dumpdir - コアダンプファイルの場所を定義します。これを変更する場合は、SELinux ポリシーを新たな場所に適合するように変更する必要があります。
  • nhelpers - 暗号化操作に使用されるヘルパースレッドの数を定義します。
  • virtual_private - クライアント接続を可能にするサブネットです。クライアントが接続する NAT ルーターの後ろまで範囲が及ぶ可能生があります。サーバーが使用する LAN 範囲を除いて、RFC 1918 アドレススペースを含めます。
  • plutorestartoncrash - デフォルトでは Yes に設定されています。
  • plutostderrlog - これが有効にすると、syslog 機能の代わりにログファイル名が使用されます。
接続固有のパラメーター

本セクションでは、conn セクションで接続ごとに利用可能な設定オプションのいくつかを説明します。

  • auto - 接続の startup プロファイルを定義します。デフォルトは ignore です。他の有効な値は、start (起動)、add (反応のみ) および route (オンデマンドの起動) になります。
  • type - 使用されるトンネルポリシーを定義します。デフォルトは、トンネルモード用の tunnel です。他の有効な値は、トランスポートモード用 (L2TP と使用) の transport と、IPsec を完全に迂回する passthrough になります。
  • authby - 使用される認証タイプを定義します。デフォルトは、生 RSA 鍵用の rsasig です。他の有効な値は、事前共有鍵 (PSK) 用の secret とパススルー接続用の never です。
  • rekey - 接続の有効期限が切れる際に、鍵を更新するかどうかを定義します。デフォルトは yes で、通常静的 VPN に使用されます。no の値は通常、サポートの動的 VPN クライアントに使用されます。
Openswan の設定に関する詳細は、ipsec.conf(5) および ipsec.secrets(5) の man ページを参照してください。