メニューボタン
IBMi海外記事2018.09.13

リバース プロキシを使用してWebページの安全性を高める

Alan Seiden 著

IBM iサーバーからWebサイトまたはAPIをホスティングしていて、インターネットからのアクセスの許可への懸念を減らしたいという場合は、リバース プロキシ(あるいは、「ゲートウェイ」)サーバーを使用するのがお勧めです。業界標準のソリューションであるリバース プロキシ サーバーは、実働サーバーとファイアーウォールの間のセキュリティ層として機能します。IBM iでは、IBM HTTP Server(powered by Apache)for iがリバース プロキシ サーバーとして機能することができるため、追加してインストールすべきものは何もありません。

リバース プロキシをセットアップする方法はいくつかありますが、1つの方法として、ネットワークの「DMZ(demilitarized zone:非武装地帯)」内に置かれた特別なIBM iパーティションにリバース プロキシまたはゲートウェイを設置して、そのサーバーをインターネットに公開するというやり方があります。その一方で、実働サーバーは、非公開のイントラネット内の、DMZの背後に隠れた安全な場所に配置します。リバース プロキシは適切なコンテンツを実働Webサーバーから引き出して、そのコンテンツをユーザーに表示します。

この他にも、SymantecのBlue Coatプロキシなどのアプライアンスや、cloudflare.comなどのクラウドベースのゲートウェイを利用する方法があります。

IBM iの下でリバース プロキシ サーバーを構成するには、以下の手順に従います。

  1. 管理者に依頼して、ネットワークのDMZ内にIBM i論理パーティションをセットアップ(すでにある場合は利用できるように)してもらいます。このパーティションにリソースはあまり必要ありません。

また、保護する対象となるサーバーの内部IPアドレスを教えてもらいます。ここでは、192.168.0.200とします。

  1. DMZパーティションにApacheインスタンスを作成します。インスタンスに、たとえばGATEWAYという名前を付けます。インスタンスを作成する手順については、次のページを参照してください。 https://www.ibm.com/support/knowledgecenter/ja/SSAW57_8.5.5/com.ibm.websphere.installation.nd.iseries.doc/ae/tins_is_ihsnew.html

SSLサポートなどの機能をインスタンスに追加することもできます。SSLの手順については、次のページを参照してください。 http://www-01.ibm.com/support/docview.wss?uid=nas8N1018776

  1. このゲートウェイ インスタンスを、リバース プロキシ サーバーとして機能するように編集します。適切なApacheインスタンス構成ファイルを編集する必要があります。ファイルの場所は、Webサーバー インスタンスの名前によって異なります。たとえば、Apacheインスタンスの名前がGATEWAYである場合、ファイルの場所は、/www/gateway/conf/httpd.confとなります。このファイルはシンプルなテキスト ファイルであるため、IBMのHTTP Server Admin GUI(2001番ポート)(*ADMINが開始されている場合)、WRKLNK/EDTFコマンド、または使い慣れたテキスト エディターなどを使用して編集することができます。

httpd.confのメイン セクションに、以下のディレクティブを追加します(ナンバー記号の行はコメントです)。

LoadModule proxy_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM 
LoadModule proxy_http_module /QSYS.LIB/QHTTPSVR.LIB/ZSRCORE.SRVPGM
LoadModule proxy_connect_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
 # URL path / will pull content from server 192.168.0.200.
 
 ProxyPass http://192.168.0.200/
 ProxyPassReverse http://192.168.0.200/ 
  1. TCP/IPサーバーの開始(STRTCPSVR)CLコマンドを使用して、Apacheインスタンス(この例では「GURU」)を再起動します。
STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(GURU)
  1. これで、Webサイトは、ゲートウェイ サーバーのアドレスを通じて外部からアクセスできるようになっているはずです。

IBM Championにして、 Seiden Groupの創設者であるAlan Seiden氏は、オープンソース、PHP、およびIBM iビジネス ロジックを使用してクライアントがAPIおよびWeb/モバイル アプリケーションを構築するのを指導する業務を行っています。自身のIBM iコミュニティへの熱い想いに促される形でAlan氏は、年2回開催される CIO Summitを主催するとともに、PHP on IBM iの技術情報を記載した無償の ニュースレターの配信を毎月行っています。

あわせて読みたい記事

PAGE TOP