OTW/SSL と InterBase のセットアップ

提供: InterBase

メインページ へ戻る


始める前に

  1. セットアップ手順では、OpenSSL for windows が必要となります。コンパイル済みバージョン(こちら)またはソース ファイル(こちら)を取得してください。 OpenSSL のコンパイル済みバージョンを取得したら、そのファイルを、使用する予定の InterBase サーバーの c:\openssl フォルダに置いてください。
  2. キーを自己署名するための、ファイル openssl.cnf をファイル:Openssl.zipからダウンロードしてください。ファイルを c:\openSSL フォルダに配置し、必要に応じて既存のファイルをバックアップおよび上書きします。
  3. フォルダ c:\certs を作成します。
  4. InterBase サーバーを停止します。

キーを生成する

  1. CMD を Administrator として実行します。
  2. コマンドラインを使用して、c:\openssl に移動します。
  3. 秘密キーをパスワードと共に生成するには、次を実行します:
    openssl genrsa -aes256 -out c:\certs\key.pem 2048
  4. プロンプトに従い、パスワードを入力して検証します。
  5. ファイル key.pemc:\certs フォルダに作成されます。


キーを要求する

  1. キーを要求するには、コマンドラインで次を実行します:
    openssl -req -new -key c:\certs\key.pem -out c:\certs\csr.pem -config openssl.cnf
  2. 前の手順で設定したパスワードを入力します。
  3. 情報を要求されても、細かく入れる必要はありません。
    メモ: anything@somewhere.invalid を e メールとして使用してください。本当の e メール アドレスは問題を起こします。
  4. ファイル key.pemc:\certs フォルダに作成されます。

キーに署名する

  1. キー要求ファイルに自分の秘密キーで署名をします。コマンドラインで次を実行してください:
    c:\certs\key.pem in c:\certs\csr.pem -out c:\certs\ibservercafile.pem
  2. 前の手順で設定したパスワードを入力します。
  3. ファイル ibservercafile.pemc:\certs フォルダに作成されます。 このファイルを、クライアントで使用します。


サーバー側ファイルを作成する

  1. コマンドラインで、c:\certs フォルダに移動します。
  2. ibcaservercafile を、秘密キー ファイルに追加します。コマンドラインで次を実行します:
    copy /b ibservercafile.pem + key.pem ibservercafileserver.pem
  3. ファイル ibservercafile.pemc:\certs フォルダに作成されます。 サーバーは、OTW 暗号化を実行する際に、このファイルが必要となります。
  4. これで、CMD ウィンドウを閉じても構いません。

InterBase を設定する

  1. InterBase サーバーが停止されていることを確認してください。
  2. ファイル ibss_config.default を見つけてください。例: C:\ProgramData\Embarcadero\InterBase\gds_db\secure\server
  3. メモ帳か他のテキスト エディタを、Administrator で開きます。
  4. 次のテキストを入力し、前の手順で設定したパスワードを使用します。
    IBSSL_SERVER_PORT_NO=4000
    IBSSL_SERVER_CERTFILE="c:\certs\ibservercafileserver.pem"
    IBSSL_SERVER_PASSPHRASE=<パスワード>
    メモ: この例では、セキュリティのためのにポート 4000 を、標準ポート 3065 の代わりに使用していますが、空いているポートならどれを使用しても構いません。
  5. ファイルを ibss_config.txt として保存し、それを ibss_config.default と同じフォルダに置きます。
  6. ibss_config.txt があるフォルダに移動し、それを ibss_config と名前を変更します(場合により、Windows のフォルダの設定で、[登録されている拡張子は表示しない]オプションのチェックをはずす必要があります)。
  7. テキスト エディタを Administrator で開き、c:\windows\system32\drivers\etc フォルダにあるファイル services を開きます。
  8. gds_db 3050/TCPgds_db 3051/TCP に変更します。ポート 3050 は非暗号化用です。
  9. 次の行を、一番下に追加します:
    gds_ssl 4000/tcp #InterBase SSL Server
    メモ: 前の手順で設定したポート番号を使用してください。
  10. ファイルを保存して閉じます。
  11. InterBase サーバーを起動します。

メモ: この例では、想定外の暗号化されていないアクセスを避けるため、ポート 3051 はファイアウォール上で閉じられており、ポート 4000 が開いています。ポート 4000 は、セキュアであり続ける必要のある IP アドレスに対してのみ開かれます。


FireDAC とのリモート接続

次のステップでは、Delphi において、FireDAC とリモートから接続する方法について説明します。


  1. ibservercafile.pemgds32.dll を、Delphi アプリケーション ディレクトリに置きます。
  2. TFDconnectionTFDPhysIBDriverLink をフォームに置きます。
  3. TFDPhysIBDriverLink の名前を MyLink に変更します。
  4. MyLink DriverID プロパティを MYIB に変更します。
  5. FDconnection1 DriverName プロパティを MYIB に変更します。そして、以下を form.create イベントに置きます。サーバー(YOURSERVER) 、および、データベースまたはデータベース エイリアス(YOURDATABASE) の名前を変更することを忘れないでください:
 procedure Tform1.FormCreate(Sender: Tobject);
 Var
 AppFolder : string;
 begin
 AppFolder:=ExtractFilePath(ParamStr(0));
 FDConnection1.Params.Clear;
 FDConnection1.Params.add(‘server=YOURSERVER/4000?ssl=true?serverPublicFile=”’+ AppFolder + ‘ibservercafile.pem”??’);
 FDConnection1.Params.Database:=’:YOURDATABASE’;
 FDConnection1.Params.Add(‘Protocol=TCPIP’);
 FDConnection1.Params.UserName:=’sysdba’;
 FDConnection1.Params.Password:=’masterkey’;
 FDConnection1.Params.Add(‘CharacterSet=win1250’);
 FDConnection1.Params.Add(‘ExtendedMetadata=True’);
 FDConnection1.Params.DriverID:=’MyIB’;
 MyLink.VendorLib:=Appfolder + ‘gds32.dll’;
 FDConnection1.Connected:=true;
 end;